From 68af09edd5b3492d5a65b2ae04708a7f0ceab739 Mon Sep 17 00:00:00 2001 From: Ashwanth Goli Date: Fri, 7 Jul 2017 13:15:13 +0530 Subject: [PATCH] net: rps: reset backlog state when IPI fails. Changes that reset remote cpu backlog state are removed with the following commit. Adding them back. I6e688bf0d09 ("net: rps: send out pending IPI's on CPU hotplug") Change-Id: I436d1a1f185f0ddc375349e135bbb5d6eb8c5f26 Signed-off-by: Ashwanth Goli --- net/core/dev.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/net/core/dev.c b/net/core/dev.c index 50e77fe096f4..16467dc215d0 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -4560,8 +4560,13 @@ static void net_rps_send_ipi(struct softnet_data *remsd) while (remsd) { struct softnet_data *next = remsd->rps_ipi_next; - if (cpu_online(remsd->cpu)) + if (cpu_online(remsd->cpu)) { smp_call_function_single_async(remsd->cpu, &remsd->csd); + } else { + rps_lock(remsd); + remsd->backlog.state = 0; + rps_unlock(remsd); + } remsd = next; } #endif