Re: [PATCH] net: rps: fix data stall after hotplug
From: Eric Dumazet <hidden>
Date: 2015-03-31 04:48:40
From: Eric Dumazet <hidden>
Date: 2015-03-31 04:48:40
On Mon, 2015-03-30 at 23:49 +0000, subashab@codeaurora.org wrote:
Hi Eric While the original issue of data stall due to missing IPI is no longer seen with netif_rx_ni(), the scenario of rps cpu online in [1 - get_rps_cpus] but offline in [2 - net_rps_action_and_irq_enable] could still occur. Using your patch, triggering an IPI on an offline cpu in [2] leads to a crash on my arch. I would like to know your thoughts on how to fix this race. Could the patch which I had initially proposed help here. Alternatively, is it correct to reset NAPI state and increment dropped sd count if an offline CPU is detected in [2].
Listen, I would rather disable RPS on your arch, instead of messing with it. Reset NAPI state as you did is in direct violation of the rules. Only cpu owning the bit is allowed to reset it.