netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andi Kleen <ak@muc.de>
To: Leonid Grossman <leonid.grossman@neterion.com>
Cc: "'rick jones'" <rick.jones2@hp.com>,
	netdev@oss.sgi.com, "'Alex Aizman'" <alex@neterion.com>
Subject: Re: Intel and TOE in the news
Date: 21 Feb 2005 00:07:13 +0100
Date: Mon, 21 Feb 2005 00:07:13 +0100	[thread overview]
Message-ID: <20050220230713.GA62354@muc.de> (raw)
In-Reply-To: <200502202244.j1KMinDD013572@guinness.s2io.com>

On Sun, Feb 20, 2005 at 02:43:59PM -0800, Leonid Grossman wrote:
> This is an interesting idea, we'll play around...

What exactly? The software only shadow table?

> 
> BTW - does anybody know if it's possible to indicate multiple receive
> packets?
> 
> In other OS drivers we have an option to indicate a "packet train" that got
> received during an interrupt, but I'm not sure if/how it's doable in Linux.

You can always call netif_rx() multiple times from the interrupt. The
function doesn't do the full packet processing,  but just stuffs the packet 
into a CPU queue that is processed at a lower priority interrupt (softirq). 
Doesn't work for NAPI unfortunately though; netif_receive_skb always
does the protocol stack.

> We are adding Linux driver support for message-signaled interrupts and
> header separation (just recently figured out how to indicate chained skb for

I had an experimental patch to enable MSI (without -X) for your cards,
but didn't push it out because i wasn't too happy with it.

Most interesting would be to use per CPU TX completion interrupts using
MSI-X and avoid bouncing packets around between CPUs.

> a packet that has IP and TCP headers separated by the ASIC);
> If a packet train indication works then the driver could prefetch the
> descriptor ring segment and also a rx buffer segment that holds headers
> stored back-to-back, before indicating the train. 

Me and Jamal tried that some time ago, but it did not help too much.
Probably because the protocol process overhead was not big enough.
However that was with NAPI, might be perhaps worth trying without
it. 

Problem is that need to fill in skb->protocol/pkt_type before you can pass
the packet up; you can perhaps derive it from the RX descriptor (card has a 
bit that says "this is IP" and "its unicast for my MAC"). 
But the RX descriptor access is already a cache miss that stalls you.  

To make the prefetching work well for this would probably require a callback
to the driver so that you can do this later after your prefetch succeeded.

-Andi

  reply	other threads:[~2005-02-20 23:07 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-19  3:44 Intel and TOE in the news Jeff Garzik
2005-02-19  4:10 ` Lennert Buytenhek
2005-02-19 19:46   ` David S. Miller
2005-02-19 20:27     ` Andi Kleen
2005-02-19 20:32       ` Lennert Buytenhek
2005-02-20 16:46       ` Eugene Surovegin
2005-02-21 14:01         ` jamal
2005-02-20 19:45       ` rick jones
2005-02-20 21:20         ` Michael Richardson
2005-02-20 21:29         ` Andi Kleen
2005-02-20 22:43           ` Leonid Grossman
2005-02-20 23:07             ` Andi Kleen [this message]
2005-02-21  1:57               ` Alex Aizman
2005-02-21  2:37                 ` Jeff Garzik
2005-02-21 19:34                   ` Alex Aizman
2005-02-21 20:34                     ` Jeff Garzik
2005-02-22  0:50                       ` Alex Aizman
2005-02-21 11:37                 ` Andi Kleen
2005-02-21  3:31               ` Leonid Grossman
2005-02-21 11:50                 ` Andi Kleen
2005-02-21 13:28                   ` Thomas Graf
2005-02-21 14:03                     ` jamal
2005-02-21 14:17                       ` Thomas Graf
2005-02-21 14:31                         ` jamal
2005-02-21 15:34                           ` Thomas Graf
2005-02-21 15:48                             ` jamal
2005-02-21 16:40                               ` Thomas Graf
2005-02-21 17:03                                 ` jamal
2005-02-21 20:12                                   ` patrick mcmanus
2005-02-21 21:12                                     ` jamal
2005-03-06 11:21                                       ` Harald Welte
2005-02-21 21:41                                   ` Thomas Graf
2005-02-21 15:38                           ` Robert Olsson
2005-02-21 15:50                             ` jamal
2005-02-21 13:44             ` jamal
2005-02-21 16:52               ` Leonid Grossman
2005-02-21 17:11                 ` jamal
2005-02-21 18:02                   ` Leonid Grossman
2005-02-22 18:02                     ` Stephen Hemminger
2005-02-22 18:07                       ` Andi Kleen
2005-02-22 20:51                         ` Leonid Grossman
2005-02-22 21:20                           ` Rick Jones
2005-02-22 21:30                             ` Leonid Grossman
2005-02-22 21:42                               ` Rick Jones
2005-02-22 22:10                                 ` Leonid Grossman
2005-02-22 21:43                           ` Andi Kleen
2005-02-22 22:17                             ` Leonid Grossman
2005-02-22 22:42                               ` Andi Kleen
2005-02-22 22:51                                 ` Leonid Grossman
2005-03-14 20:22                   ` [ANNOUNCE] Experimental Driver for Neterion/S2io 10GbE Adapters Alex Aizman
2005-03-14 20:38                     ` David S. Miller
2005-03-14 20:53                       ` Leonid Grossman
2005-03-14 23:27                         ` Andi Kleen
2005-03-14 23:45                           ` Jeff Garzik
2005-03-15  0:32                             ` Leonid Grossman
2005-03-15  1:07                           ` Alex Aizman
2005-03-15  1:29                             ` Rick Jones
2005-03-15  2:28                               ` Leonid Grossman
2005-03-15 15:07                             ` Leonid Grossman
2005-03-15 15:55                               ` Leonid Grossman
2005-03-19 20:15                                 ` Andi Kleen
2005-03-19 22:19                                   ` Leonid Grossman
2005-03-20 13:40                                     ` jamal
2005-03-20 20:13                                       ` Leonid Grossman
2005-03-15  5:14                     ` Scott Feldman
2005-03-15  5:59                       ` Matt Mackall
2005-03-15  6:02                       ` Leonid Grossman
2005-02-22 17:27                 ` Intel and TOE in the news Andi Kleen
2005-02-19 20:29     ` Lennert Buytenhek
2005-03-02 13:48   ` Lennert Buytenhek
2005-03-02 17:34     ` Leonid Grossman
2005-02-21 13:59 ` P
2005-02-21 14:10   ` jamal
2005-02-21 22:44 ` Stephen Hemminger

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=20050220230713.GA62354@muc.de \
    --to=ak@muc.de \
    --cc=alex@neterion.com \
    --cc=leonid.grossman@neterion.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).