[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20071114123440.0fa0031d@freepuppy.rosehill>
Date: Wed, 14 Nov 2007 12:34:40 -0800
From: Stephen Hemminger <shemminger@...ux-foundation.org>
To: Marek Kierdelewicz <marek@...a.pl>
Cc: netdev@...r.kernel.org
Subject: Re: skb processing in SMP kernel
On Wed, 14 Nov 2007 21:14:37 +0100
Marek Kierdelewicz <marek@...a.pl> wrote:
> Hi there,
>
> I'm looking at file /usr/src/linux/net/core/dev.c
> function "int netif_rx(struct sk_buff *skb)"
> and following line:
>
> queue = &__get_cpu_var(softnet_data);
>
> Is it possible to put skb into the queue of another CPU then the one
> servicing the interrupt? (Disclaimer: Yeah, I know it's probably not
> the smartest thing to do because of locks and cache line bounces). How
> could it be accomplished? Any lead, comment, link appreciated.
>
>
> pozdrawiam
You could but then you would need locking on the queue, and that would
defeat the whole purpose of per-cpu queue's. You would also need to do
an IPI to notify the other processor.
If you are trying to do packet distribution, look at the newest drivers that use MSI-X
and napi to do packet distribution.
--
Stephen Hemminger <shemminger@...ux-foundation.org>
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists