From: Nivedita Singhvi <niv@us.ibm.com>
To: Rick Jones <rick.jones2@hp.com>
Cc: netdev <netdev@oss.sgi.com>
Subject: Re: [RFC] netif_rx: receive path optimization
Date: Thu, 31 Mar 2005 15:03:20 -0800 [thread overview]
Message-ID: <424C81B8.6090709@us.ibm.com> (raw)
In-Reply-To: <424C7CDC.8050801@hp.com>
Rick Jones wrote:
>> Take the following scenario in non-NAPI. -packet 1 arrives -interupt
>> happens, NIC bound to CPU0
>> - in the meantime packets 2,3 arrive
>> - 3 packets put on queue for CPU0
>> - interupt processing done
>>
>> - packet 4 arrives, interupt, CPU1 is bound to NIC
>> - in the meantime packets 5,6 arrive
>> - CPU1 backlog queue used.
>> - interupt processing done
>>
>> Assume CPU0 is overloaded with other systenm work and CPU1 rx processing
>> kicks in first ... TCP sees packet 4, 5, 6 before 1, 2, 3 ..
>
>
> I "never" see that because I always bind a NIC to a specific CPU :)
> Just about every networking-intensive benchmark report I've seen has
> done the same.
Just a reminder that the networking-benchmark world and
the real networking deployment world have a less than desirable
intersection (which I know you know only too well, Rick ;)).
How often do people use affinity? How often do they really tune
the system for their workloads? How often do they turn off things
like SACK etc? Not very often in the real world. Designing OSs to
do better at benchmarks is a different proposition than designing
OSs to do well in the real world.
>> Note Linux is quiet resilient to reordering compared to other OSes (as
>> you may know) but avoiding this is a better approach - hence my
>> suggestion to use NAPI when you want to do serious TCP.
The real killer for TCP is triggering fast retransmit
unnecessarily - and while we have some reordering detection
and safeguards for that - for other situations like apps
running over UDP and being unable to cope with reordering
(yes, there are dunderheads like that) there is not much
you can do. It does help them to avoid the reordering to
begin with.
thanks,
Nivedita
next prev parent reply other threads:[~2005-03-31 23:03 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 [this message]
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
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=424C81B8.6090709@us.ibm.com \
--to=niv@us.ibm.com \
--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).