On Wed, 2008-07-23 at 10:13 +0000, Jarek Poplawski wrote:
On Wed, Jul 23, 2008 at 11:50:14AM +0200, Peter Zijlstra wrote:
....
quoted
definite NAK on using raw spinlock ops...
I'll go look at this multiqueue stuff to see if there is anything to be
done.. David, what would be a good commit to start reading?
....In the case David ever sleeps: I think, the current Linus' git is
good enough (the problem is with netdevice.h: netif_tx_lock()).
Ah, right,...
that takes a whole bunch of locks at once..
Is that really needed? - when I grep for its usage its surprisingly few
drivers using it and even less generic code.
When I look at the mac802.11 code in ieee80211_tx_pending() it looks
like it can do with just one lock at a time, instead of all - but I
might be missing some obvious details.
So I guess my question is, is netif_tx_lock() here to stay, or is the
right fix to convert all those drivers to use __netif_tx_lock() which
locks only a single queue?