On Wed, Mar 23, 2011 at 08:17:11AM +0100, Mark Kettenis wrote:
> > From: David Gwynne <l...@animata.net>
> > Date: Wed, 23 Mar 2011 14:21:19 +1000
> > 
> > makes sense to me.
> 
> While it is a potential solution for the problem at hand (and one I
> didn't consider yet) can we step back and think whether this is a
> solution that will work for *all* our ethernet drivers?

I have looked at em that refills the transmit buffer more agressively
in em_intr().  There a transmit interrupt also results in a receive
refill.

My first idea was also to extend the hme_intr() function.  But it
has drawbacks:
- It is not guaranteed that there is any interrupt when the receive
  ring is empty.
- I don't want to refill too often to avoid additional pressure on
  a system running out of mbufs.

The bge driver adds a one tick timeout after refill if there are
less than 8 buffers in the ring.

I have no experience with other drivers.

bluhm

Reply via email to