Skip to contentSkip to conversation

hi about process_backlog()

DISCUSSION Vignesh Radhakrishnan 1 participant 1 message Dec 25, 2014 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw

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

Quoted 49 lines · lx

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 <[email protected]>
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.

#################################

Thank you.

Signature · 4 lines
http://vigneshradhakrishnan.blogspot.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20141225/4267fd8a/attachment.html