Hi, I was tracing the program flow. So basically i figured out that net_rx_action calls process_backlog and i saw that deletion is happening at net_rx_action(). So i used git blame on that file and saw that this commit performed the deletion. Then when i saw what the commit does, i found that it changed the deletion location from process_backlog to here. Thanks and regards, Vignesh Radhakrishnan On Wed, Dec 24, 2014 at 8:22 AM, lx <lxgeek@yahoo.com> wrote:
hi : How to find this commit: ################################# Earlier we had deletion in process_backlog itself, but https://git.kernel.org/cgit/linux/kernel/git/torvalds/ linux.git/commit/?id=d75b1ade567ffab085e8adbbdacf0092d10cd09c has changed it. #################################
There are so many commits, and this commit don't show some messages about process_backlog().The messages is: ################################# commit d75b1ade567ffab085e8adbbdacf0092d10cd09c Author: Eric Dumazet <edumazet@google.com> Date: Sun Nov 2 06:19:33 2014 -0800
net: less interrupt masking in NAPI
net_rx_action() can mask irqs a single time to transfert sd->poll_list into a private list, for a very short duration.
Then, napi_complete() can avoid masking irqs again, and net_rx_action() only needs to mask irq again in slow path.
This patch removes 2 couples of irq mask/unmask per typical NAPI run, more if multiple napi were triggered.
Note this also allows to give control back to caller (do_softirq()) more often, so that other softirq handlers can be called a bit earlier, or ksoftirqd can be wakeup earlier under pressure.
This was developed while testing an alternative to RX interrupt mitigation to reduce latencies while keeping or improving GRO aggregation on fast NIC.
Idea is to test napi->gro_list at the end of a napi->poll() and reschedule one NAPI poll, but after servicing a full round of softirqs (timers, TX, rcu, ...). This will be allowed only if softirq is currently serviced by idle task or ksoftirqd, and resched not needed.
Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Willem de Bruijn <willemb@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> #################################
Thank you.