net: batch calls to flush_all_backlogs()
authorEric Dumazet <edumazet@google.com>
Fri, 26 Aug 2016 19:50:39 +0000 (12:50 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 31 Aug 2016 05:17:20 +0000 (22:17 -0700)
commit41852497a9205964b958a245a9526040b980926f
treeda16e7cc6a3717afa785961be2fc72c4d70e13e2
parentae3cb8cb20c87c0833a54360344ad4ee77bdb184
net: batch calls to flush_all_backlogs()

After commit 145dd5f9c88f ("net: flush the softnet backlog in process
context"), we can easily batch calls to flush_all_backlogs() for all
devices processed in rollback_registered_many()

Tested:

Before patch, on an idle host.

modprobe dummy numdummies=10000
perf stat -e context-switches -a rmmod dummy

 Performance counter stats for 'system wide':

         1,211,798      context-switches

       1.302137465 seconds time elapsed

After patch:

perf stat -e context-switches -a rmmod dummy

 Performance counter stats for 'system wide':

           225,523      context-switches

       0.721623566 seconds time elapsed

Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c