tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: NetBSD 5.1 TCP performance issue (lots of ACK)

On Sat, Dec 31, 2011 at 12:09:59PM -0600, David Young wrote:
> I see that wm(4) tries to throttle transmit interrupts, too.  I think
> that the driver would be simpler, and it would perform no worse, if it
> did not request transmit interrupts.  Just reclaim transmitted buffers
> in the if_start routine and in an if_drain routine.

We used to request 'end of transmit' interrupts under two conditions:
1) Transmit ring full - packet queued until space available.
2) Some 'buffer loan' conditions, in particular the SYSV NFS stack
   wouldn't transmit another packet until the callback activated
   when an earlier packet was freed.
   Dunno is netbsd has any similar code.

Most of my ethernet drivers would copy tx packets into a dedicated
tx buffer area - particularly beneficial on systems with a real iommu
(think sparc sbus), those with memory the ethernet chip couldn't
directly access, packets with a large number of buffer fragments,
chipsets that required the first fragment to be at least 100 bytes
(amd lance - so it could refetch after collision).


David Laight:

Home | Main Index | Thread Index | Old Index