From: Jason Wang <jasowang@redhat.com>
To: Eliezer Tamir <eliezer.tamir@linux.intel.com>,
Ingo Molnar <mingo@kernel.org>
Cc: Mike Galbraith <umgwanakikbuti@gmail.com>,
davem@davemloft.net, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, mst@redhat.com,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@elte.hu>
Subject: Re: [PATCH net-next 2/2] net: exit busy loop when another process is runnable
Date: Tue, 02 Sep 2014 15:37:23 +0800 [thread overview]
Message-ID: <540573B3.2010904@redhat.com> (raw)
In-Reply-To: <54056076.2030603@linux.intel.com>
On 09/02/2014 02:15 PM, Eliezer Tamir wrote:
> On 02/09/2014 06:29, Jason Wang wrote:
>> On 09/01/2014 02:39 PM, Eliezer Tamir wrote:
>>> On 29/08/2014 06:08, Jason Wang wrote:
>>>>> 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.
But user should increase the process priority or cgroup in this case.
> This is not something that plays nice with
> other apps, but this is what the user wants.
So the busy polling looks have a higher priority somehow than other
processes.
> 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.
If I get your meaning, you may want call to rcu_read_lock_bh() and get
socket napi id inside the do{} loop? This seems can prevent bhs from
being starved and can also handle the case that the packets were from
different NAPIs.
>
> 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
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-09-02 7:38 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-21 8:05 [PATCH net-next 1/2] sched: introduce nr_running_this_cpu() Jason Wang
2014-08-21 8:05 ` [PATCH net-next 2/2] net: exit busy loop when another process is runnable Jason Wang
2014-08-21 8:11 ` Michael S. Tsirkin
2014-08-22 2:53 ` Jason Wang
2014-08-21 19:03 ` Amos Kong
2014-08-22 5:01 ` Mike Galbraith
2014-08-22 7:29 ` Jason Wang
2014-08-22 7:42 ` Ingo Molnar
2014-08-29 3:08 ` Jason Wang
2014-09-01 6:39 ` Eliezer Tamir
2014-09-02 3:29 ` Jason Wang
2014-09-02 6:15 ` Eliezer Tamir
2014-09-02 7:37 ` Jason Wang [this message]
2014-09-02 8:31 ` Michael S. Tsirkin
2014-09-03 6:49 ` Eliezer Tamir
2014-09-03 7:33 ` Jason Wang
2014-09-03 9:36 ` Peter Zijlstra
2014-09-03 9:59 ` Michael S. Tsirkin
2014-09-03 7:51 ` Michael S. Tsirkin
2014-09-04 6:51 ` Eliezer Tamir
2014-09-04 8:25 ` Michael S. Tsirkin
2014-08-22 7:36 ` Ingo Molnar
2014-08-22 9:08 ` Jason Wang
2014-08-22 14:16 ` Eric Dumazet
2014-08-25 2:54 ` Jason Wang
2014-08-25 13:16 ` Eliezer Tamir
2014-08-26 7:16 ` Jason Wang
2014-09-01 6:55 ` Eliezer Tamir
2014-09-02 3:35 ` Jason Wang
2014-09-02 6:03 ` Eliezer Tamir
2014-09-02 6:31 ` Jason Wang
2014-09-03 6:21 ` Eliezer Tamir
2014-09-03 6:59 ` Jason Wang
2016-04-14 0:55 ` Peter Zijlstra
2014-09-03 8:09 ` Michael S. Tsirkin
2016-04-11 16:31 ` Michael S. Tsirkin
2016-04-13 7:20 ` Ingo Molnar
2016-04-13 13:28 ` Peter Zijlstra
2016-04-13 13:51 ` Michael S. Tsirkin
2016-04-14 0:58 ` Peter Zijlstra
2014-09-01 9:31 ` Peter Zijlstra
2014-09-01 9:52 ` Michael S. Tsirkin
2014-09-01 10:04 ` Peter Zijlstra
2014-09-01 10:19 ` Peter Zijlstra
2014-09-02 4:03 ` Jason Wang
2014-09-02 10:24 ` Peter Zijlstra
2014-09-03 6:58 ` Jason Wang
2014-09-03 9:30 ` Peter Zijlstra
2014-09-01 10:22 ` Michael S. Tsirkin
2014-09-02 3:38 ` Jason Wang
2014-09-02 6:12 ` Peter Zijlstra
2014-09-02 7:19 ` Jason Wang
2014-08-21 13:52 ` [PATCH net-next 1/2] sched: introduce nr_running_this_cpu() Ingo Molnar
2014-08-22 7:27 ` Jason Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=540573B3.2010904@redhat.com \
--to=jasowang@redhat.com \
--cc=davem@davemloft.net \
--cc=eliezer.tamir@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mingo@kernel.org \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=umgwanakikbuti@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.