Thread (53 messages) 53 messages, 8 authors, 2016-04-14

Re: [PATCH net-next 2/2] net: exit busy loop when another process is runnable

From: Eliezer Tamir <hidden>
Date: 2014-09-02 06:15:24
Also in: lkml

On 02/09/2014 06:29, Jason Wang wrote:
On 09/01/2014 02:39 PM, Eliezer Tamir wrote:
quoted
On 29/08/2014 06:08, Jason Wang wrote:
quoted
quoted
Yes, but rx busy polling only works in process context and does not
disable bh, so it may be not an issue.
sk_busy_loop() uses rcu_read_lock_bh(), so it does run with bh disabled.
True, so we need probably also exit the loop when there are pending bhs.
I'm not so sure, in the typical busy poll scenario, the incoming
traffic is the most time-critical thing in the system.
It's so important that you are willing to trade lots of CPU power
for better latency. The user has decided that he wants to dedicate
this CPU mostly for that. This is not something that plays nice with
other apps, but this is what the user wants.

So, you definitely don't want to starve any bh, and you should
regularly re-enable bh's, but you also don't want to stop everything
at any time a bh is scheduled.

You also want network processing on the queues that are busy polled
to come through busy polling and not through NAPI, which is run in bh
context.

-Eliezer
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help