From: Andi Kleen <andi@firstfloor.org>
To: jamal <hadi@cyberus.ca>
Cc: Andi Kleen <andi@firstfloor.org>, Andi Kleen <andi@halobates.de>,
Tom Herbert <therbert@google.com>,
davem@davemloft.net, netdev@vger.kernel.org,
eric.dumazet@gmail.com
Subject: Re: [PATCH v5] rfs: Receive Flow Steering
Date: Fri, 16 Apr 2010 17:28:02 +0200 [thread overview]
Message-ID: <20100416152802.GB18855@one.firstfloor.org> (raw)
In-Reply-To: <1271426715.4606.97.camel@bigi>
On Fri, Apr 16, 2010 at 10:05:15AM -0400, jamal wrote:
> On Fri, 2010-04-16 at 15:42 +0200, Andi Kleen wrote:
> > On Fri, Apr 16, 2010 at 09:32:06AM -0400, jamal wrote:
> > > How are you going to schedule the net softirq on an empty queue if you
> > > do this?
> >
> > Sorry don't understand the question?
> >
> > You can always do the flow as if rps was not there.
>
> Meaning you schedule the other side netrx softirq if queue is empty?
You handle the packet like if rps wasn't enabled. softirq on current
CPU and it queues it on the socket.
> > I meant an IPI to a sibling is not useful. You send it to the IPI
> > to get cache locality in the target, but if the target has the same
> > cache locality as you you can as well avoid the cost of the IPI
> > and process directly.
> >
>
> Isnt the purpose of the IPI to signal remote side that theres something
> for it to do?
The current CPU can queue on that socket as well.
The whole point of the IPI is to do it with cache locality.
But if cache locality is already there on the current CPU you don't
need the IPI.
> Does it also sync the remote cache?
No, the caches are always coherent.
>
> > For thread sibling I'm pretty sure it's useless. Not full sure about
> > socket sibling. Maybe.
> >
>
> Agreed, the SMT threads share L2. All the cores share L3. And it is
> inclusive, so if it is missing it is in L1 of one thread it must be
> present in L2 of shared cache as well as L3. Across the QPI i dont think
> that is true.
> But if you speacial case this - arent you being specific to Nehalem?
Other CPUs have SMT too (Niagara, POWER 6/7, mips, ...). It should
be the same there.
Assuming L3 affinity helps it might need to be a CPU specific tunable
yes. The scheduler has some information about this.
-Andi
--
ak@linux.intel.com -- Speaking for myself only.
prev parent reply other threads:[~2010-04-16 15:28 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-16 5:47 [PATCH v5] rfs: Receive Flow Steering Tom Herbert
2010-04-16 6:33 ` David Miller
2010-04-16 6:56 ` Eric Dumazet
2010-04-16 7:18 ` Eric Dumazet
2010-04-16 7:26 ` David Miller
2010-04-16 7:48 ` Eric Dumazet
2010-04-17 7:52 ` [PATCH net-next-2.6] rps: rps_sock_flow_table is mostly read Eric Dumazet
2010-04-17 7:57 ` David Miller
2010-04-16 15:35 ` [PATCH v5] rfs: Receive Flow Steering Tom Herbert
2010-04-16 18:15 ` Eric Dumazet
2010-04-16 18:35 ` Tom Herbert
2010-04-16 18:53 ` Eric Dumazet
2010-04-16 20:42 ` Tom Herbert
2010-04-16 21:12 ` Eric Dumazet
2010-04-16 21:25 ` Eric Dumazet
2010-04-17 16:10 ` Eric Dumazet
2010-04-17 17:38 ` Tom Herbert
2010-04-18 0:06 ` Changli Gao
2010-04-18 11:06 ` Franco Fichtner
2010-04-19 20:09 ` David Miller
2010-04-19 20:23 ` David Miller
2010-04-19 20:32 ` Eric Dumazet
2010-04-19 21:19 ` David Miller
2010-04-26 8:41 ` Eric Dumazet
2010-04-27 21:59 ` David Miller
2010-04-27 22:08 ` Eric Dumazet
2010-04-27 22:10 ` David Miller
2010-04-19 23:38 ` Changli Gao
2010-04-20 5:59 ` Eric Dumazet
2010-04-20 7:56 ` [PATCH net-next-2.6] rps: consistent rxhash Eric Dumazet
2010-04-20 8:18 ` David Miller
2010-04-20 12:48 ` Franco Fichtner
2010-04-20 13:16 ` Eric Dumazet
2010-04-20 14:03 ` Franco Fichtner
2010-04-20 14:57 ` Eric Dumazet
2010-04-20 21:41 ` David Miller
2010-04-20 23:35 ` Changli Gao
2010-04-20 23:38 ` David Miller
2010-04-21 19:12 ` Tom Herbert
2010-04-23 20:44 ` David Miller
2010-05-06 8:06 ` David Miller
2010-05-06 14:45 ` Tom Herbert
2010-04-20 15:09 ` Tom Herbert
2010-04-21 9:29 ` Franco Fichtner
2010-04-21 9:39 ` Eric Dumazet
2010-04-21 11:06 ` Franco Fichtner
2010-04-21 11:16 ` Eric Dumazet
2010-04-20 15:04 ` [PATCH v5] rfs: Receive Flow Steering Tom Herbert
2010-04-20 15:39 ` Eric Dumazet
2010-04-16 19:37 ` Eric Dumazet
2010-04-16 22:49 ` David Miller
2010-04-16 22:53 ` David Miller
2010-04-16 22:57 ` David Miller
2010-04-17 0:22 ` Tom Herbert
2010-04-17 0:58 ` David Miller
2010-04-16 11:57 ` Andi Kleen
2010-04-16 13:32 ` jamal
2010-04-16 13:42 ` Andi Kleen
2010-04-16 14:05 ` jamal
2010-04-16 15:28 ` Andi Kleen [this message]
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=20100416152802.GB18855@one.firstfloor.org \
--to=andi@firstfloor.org \
--cc=andi@halobates.de \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=hadi@cyberus.ca \
--cc=netdev@vger.kernel.org \
--cc=therbert@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).