You seem to have a 4 core CPU (cores 0-3) (2 is core 1, 8 is core 3).
e designates all cores (1+2+4+8).
If your CPU can deal with irqbalance I would use irqbalance, but some recent cores do not like switching while processing and you need to set things manually on startup.
Check the threads of your router.
About packet steering I think it depends on your usage, do some speed testing while the router is operational.
It heavily depends on the netcard, some run one irq per queue and irqbalance is sufficient
Enable means affining queues to 1st hyperthreads of cores, should usually be better performing than artificially torturing half-speed pseudocores.
The biggest effect of enabling receive packet steering typically is, that receive and transmit processing (think qdiscs like traffic shapers) is way more likely to end up on different CPUs, so for SQM on multicore routers packet steering tends to be a win, but the details matter, i.e. how many and which CPUs are used.
As @egc explained the value is interpreted as hexadecimal representation of a bitmap.
Addendum: OpenWrt packet steering defaulted to exempting the CPUs involved in processing interfaces interrupts from packet steering. This is a decent approach for devices with many CPUs, but for routers with 2 or 4 cores this can be suboptimal. Especially on dual core devices that often means only one CPU can be used for packet steering... this is why the "on all CPUs" option can be helpful.
Hmm. e would amount to all cores but core 0. (2^1+2^2+2^3=e) Your rps_cpus won't survive long, as the steering scripts will overwrite them.
Furthermore, are you running snapshot, because I'm having some problems with the current iteration of the steering scripts and workings. https://github.com/openwrt/openwrt/issues/15445
Interesting find. For my MT6000 (4 cores), if I use SQM, CAKE completely bogs-down core 3 (100%) when processing rules at about 500 Mbps. With packet steering ON across all CPU cores, the load gets spread, and usually CPU is the first to get to 100% utilization at 800 Mbps.
So it does seem to help with SQM tasks, but now it gets me wondering if I can direct SQM/Cake to run on a dedicated core manually instead of having packet steering enabled for the whole router.
Seed test from Cloudflare, waveform bufferbloat test + ping (1000 packets at least) under typical network usage.
The issue with not using packet steering is that at speeds above 500Mbps, my CPU1 which handles the ETH1 (wan) port and apparently SQM/cake gets overwhelmed and starts to drop packets/add latency. This gets solved when I enable packet steering as the ETH1 and SQM/cake run on separate CPUs and the bottleneck happens at very near line speed (960Mpbs).
I think you can achieve the same effect with manual/IRQ scheduling. It just so happens that for the Flint 2 it seems to work out-of-the-box.