From: Andi Kleen <ak@muc.de>
To: Rick Jones <rick.jones2@hp.com>
Cc: netdev@oss.sgi.com
Subject: Re: [RFC] netif_rx: receive path optimization
Date: Fri, 01 Apr 2005 18:40:07 +0200 [thread overview]
Message-ID: <m1mzsi1me0.fsf@muc.de> (raw)
In-Reply-To: <424C6A98.1070509@hp.com> (Rick Jones's message of "Thu, 31 Mar 2005 13:24:40 -0800")
Rick Jones <rick.jones2@hp.com> writes:
> At the risk of again chewing on my toes (yum), if multiple CPUs are
> pulling packets from the per-device queue there will be packet
> reordering. HP-UX 10.0 did just that and it was quite nasty even at
> low CPU counts (<=4). It was changed by HP-UX 10.20 (ca 1995) to
> per-CPU queues with queue selection computed from packet headers (hash
> the IP and TCP/UDP header to pick a CPU) It was called IPS for Inbound
> Packet Scheduling. 11.0 (ca 1998) later changed that to "find where
> the connection last ran and queue to that CPU" That was called TOPS -
> Thread Optimized Packet Scheduling.
We went over this a lot several years ago when Linux got multi threaded RX
with softnet in 2.1. You might want to go over the archives.
Some things that came out of it was a sender side TCP optimization
to tolerate reordering without slowing down (works great with other
Linux peers) and NAPI style polling mode (which was mostly designed for routing
and still seems to have regressions for the client/server case :/)
Something like TOPS was discussed, but afaik nobody ever implemented
it. Of course benchmark guys do it manually by setting interrupt
and scheduler affinity.
-Andi
prev parent reply other threads:[~2005-04-01 16:40 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-30 21:28 [PATCH] netif_rx: receive path optimization Stephen Hemminger
2005-03-30 21:57 ` jamal
2005-03-30 22:08 ` jamal
2005-03-30 23:53 ` Stephen Hemminger
2005-03-31 3:16 ` jamal
2005-03-31 20:04 ` [RFC] " Stephen Hemminger
2005-03-31 21:10 ` Jamal Hadi Salim
2005-03-31 21:17 ` Stephen Hemminger
2005-03-31 21:25 ` Jamal Hadi Salim
2005-03-31 21:43 ` Eric Lemoine
2005-03-31 22:02 ` Stephen Hemminger
2005-03-31 21:24 ` Rick Jones
2005-03-31 21:38 ` jamal
2005-03-31 22:42 ` Rick Jones
2005-03-31 23:03 ` Nivedita Singhvi
2005-03-31 23:28 ` Rick Jones
2005-04-01 0:10 ` Stephen Hemminger
2005-04-01 0:42 ` Rick Jones
2005-04-01 0:30 ` Nivedita Singhvi
2005-03-31 23:36 ` jamal
2005-04-01 0:07 ` Rick Jones
2005-04-01 1:17 ` jamal
2005-04-01 18:22 ` Rick Jones
2005-04-01 16:40 ` 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=m1mzsi1me0.fsf@muc.de \
--to=ak@muc.de \
--cc=netdev@oss.sgi.com \
--cc=rick.jones2@hp.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).