From: Liping Zhang <zlpnob...@163.com> Date: Mon, 15 May 2017 20:55:52 +0800
> From: Liping Zhang <zlpnob...@gmail.com> > > On our 4-core system, sometimes I can enable all CPUs to process packets. > But sometimes I can't, if all the CPUs become offline except core 0, I > will get the following result, which is really annoying for my script: > # echo f > /sys/class/net/eth0/queues/rx-0/rps_cpus > # cat /sys/class/net/eth0/queues/rx-0/rps_cpus > 1 > > Since we won't steer the packets to these offline cpus, it's reasonable > to enable all configed cpus to the rps_map, even if they are offline for > the time being. > > Signed-off-by: Liping Zhang <zlpnob...@gmail.com> But this means while those cpus are offline, get_rps_cpu() performs very suboptimally. In fact, if the packet hashes to one of those offline cpus, you get no RPS at all. So I think we really can't make this change, at least in it's current form.