[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070726.001516.48528000.davem@davemloft.net>
Date: Thu, 26 Jul 2007 00:15:16 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: mchan@...adcom.com
Cc: netdev@...r.kernel.org, shemminger@...ux-foundation.org,
jgarzik@...ox.com, hadi@...erus.ca, rusty@...tcorp.com.au
Subject: Re: [PATCH RFC]: napi_struct V4
From: "Michael Chan" <mchan@...adcom.com>
Date: Thu, 26 Jul 2007 00:05:47 -0700
> David Miller wrote:
>
> > So that ->poll_controller() can process TX acks by just having
> > the TX lock and interrupts disabled.
> >
> > Can you think of another way to process TX acks from absolutely
> > any execution context whatsoever? That's what we need and
> > preferably in some generic way, and the above is what I came
> > up with.
>
> What are we trying to protect against by taking the TX lock before
> calling ->poll_controller()?
The netpoll code has to take that anyways in order to call
into ->hard_start_xmit() to send out the packet it has
pending, I'm leveraging that as a synchronization mechanism
in the drivers because the locking options are limited
given that netpoll can try to do this in any context whatsoever.
> There is a measurable difference in oprofile. When passing small
> packets, there's a non-trivial difference in throughput.
Then please help come up with an alternate scheme, because these
NAPI changes fix real limitations and bugs in the current code
and unless we fix netpoll too we can't move forward.
Thanks.
-
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