On Thu, Aug 17, 2006 at 01:03:20AM +0200, Arnd Bergmann wrote:
Could well be related to latencies when going to the remote
node for descriptor DMAs. Have you tried if the hch's NUMA
patch or using numactl makes a difference here?
No. I guess I should try.
quoted
quoted
sounds like the right approach to simplify the code.
Its not a big a driver. 'wc' says its 2.3 loc, which
is 1/3 or 1/5 the size of tg3.c or the e1000*c files.
Right, I was thinking of removing a lock or another, not
throwing out half of the driver ;-)
There's only four lock points grand total.
-- One on the receive side,
-- one to protect the transmit head pointer,
-- one to protect the transmit tail pointer,
-- one to protect the location of the transmit low watermark.
The last three share the same lock. I tried using distinct
locks, but this worsened things, probably due to cache-line
trashing. I tried removing the head pointer lock, but this
failed. I don't know why, and was surprised by this. I thought
hard_start_xmit() was serialized.
--linas