netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rick Jones <rick.jones2@hp.com>
To: netdev <netdev@oss.sgi.com>
Subject: Re: [RFC] netif_rx: receive path optimization
Date: Fri, 01 Apr 2005 10:22:51 -0800	[thread overview]
Message-ID: <424D917B.2060108@hp.com> (raw)
In-Reply-To: <1112318229.1090.63.camel@jzny.localdomain>

>>The main idea behind TOPS and prior to that IPS was to spread-out 
>>the processing of packets across as many CPUs as we could, as "correctly" as we 
>>could.
> 
> 
> Very very hard to do. 

Why do you say that?  "Correct" can be defined as either the same CPU for each 
packet in a given flow (IPS) or the same CPU as last accessed the endpoint (TOPS).

> Isnt MSI supposed to give you ability such that a 
> NIC can pick a CPU to interupt? That would help in a small way

That gives the NIC the knowledge of how to direct to a CPU, but as you know does 
not tell it how to decide where.  Since I doubt that the NIC wants to reach-out 
and touch connection state in the host (nor I suppose do we want it to either) 
the best a NIC with MSI could do would be IPS

>>TOPS lets the process (I suppose the scheduler really) decide where some of the 
>>processing for the packet will happen - the part after the handoff.
>>
> 
> I think this last part should be easy to do - but perhaps the expense of
> landing on the wrong CPU may override any benefits perceived.

Unless one has a scheduler that likes to migrate processes, the chances of 
landing on the wrong CPU are minimal and shortlived, and overall, the chances of 
being right are greater than if not doing anything and sticking with the 
interrupt CPU. (Handwaving based on experience-driven intuition and a bit of 
math as one increases the CPU count)  This is all on the premis that one is 
running with numNIC << numCPU.  With numNIC == numCPU one does things as seen in 
certain networking-intensive benchmarks :)

rick jones

  reply	other threads:[~2005-04-01 18:22 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 [this message]
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=424D917B.2060108@hp.com \
    --to=rick.jones2@hp.com \
    --cc=netdev@oss.sgi.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).