From: David Miller <davem@davemloft.net>
To: peter.p.waskiewicz.jr@intel.com
Cc: jeffrey.t.kirsher@intel.com, jeff@garzik.org,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] net: Add the CPU id to skb->queue_mapping's upper 8 bits
Date: Wed, 25 Jun 2008 16:37:28 -0700 (PDT) [thread overview]
Message-ID: <20080625.163728.59919248.davem@davemloft.net> (raw)
In-Reply-To: <D5C1322C3E673F459512FB59E0DDC329054E55AF@orsmsx414.amr.corp.intel.com>
From: "Waskiewicz Jr, Peter P" <peter.p.waskiewicz.jr@intel.com>
Date: Wed, 25 Jun 2008 11:31:01 -0700
> >Well:
> >
> >1) All of this multiqueue stuff is going away with my changes in
> > net-tx-2.6
>
> Do you have a guestimate of which kernel you'll be targeting these
> changes? I'm very interested in this schedule.
I want it to hit 2.6.27
> The whole point is to identify the flow and redirect your Rx filtering
> to the CPU it came from. So if you did this properly, the ACKs would be
> landing on the CPU that originally opened the TCP flow. I don't follow
> why the scheduler would move the process if the Rx traffic is returning
> to that core.
The process scheduler monitors where wakeup events occur.
If predominantly they arrive on a difference cpu from where
the process is currently scheduled, the scheduler might decide
to move the process there.
This RX retargetting idea is also flawed from another perspective.
Let's say you have a server thread polling on a lot of
connections. And let's say that all of these connections
become extremely active all of a sudden.
If you RX steer all of those flows to the same cpu we might
as well not do any RX hashing at all. The whole point is
to distribute the network stack input processing across
the machine as much as possible.
If you try to steer RX traffic to cpus that processes are running
on, you will undo almost all of the intended benefit of RX hashing
in many common scnenerios.
Don't second guess the process scheduler we have, it will or
should do the right thing in these situations because it can
see what is going on in ways that the NIC and the networking
alone simply cannot. It knows about cache effects and tradeoffs
of moving tasks between cores and NUMA nodes.
prev parent reply other threads:[~2008-06-25 23:37 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-24 23:27 [PATCH 1/2] net: Add the CPU id to skb->queue_mapping's upper 8 bits Jeff Kirsher
2008-06-24 23:28 ` [PATCH 2/2] net: Fix consumers of skb->queue_mapping to use lower " Jeff Kirsher
2008-06-24 23:37 ` [PATCH 1/2] net: Add the CPU id to skb->queue_mapping's upper " David Miller
2008-06-25 18:31 ` Waskiewicz Jr, Peter P
2008-06-25 23:37 ` David Miller [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=20080625.163728.59919248.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=jeff@garzik.org \
--cc=jeffrey.t.kirsher@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=peter.p.waskiewicz.jr@intel.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