Thread (25 messages) 25 messages, 7 authors, 2007-07-31

Re: [PATCH RFC]: napi_struct V4

From: David Miller <davem@davemloft.net>
Date: 2007-07-26 07:15:17

From: "Michael Chan" <mchan@broadcom.com>
Date: Thu, 26 Jul 2007 00:05:47 -0700
David Miller wrote:
quoted
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help