Re: [RFC] Some infrastructure for interrupt-less TX

2006-02-23 Thread Lennert Buytenhek
On Thu, Feb 23, 2006 at 08:00:32AM +0100, Jörn Engel wrote:

  I am assuming the real goal is avoiding interrupts when
  transmit completions can be reported without them on a
  reasonably periodic basis.
 
 Not necessarily on a periodic basis.  For some network driver I once
 worked on, the hardware simply had a ring buffer of n frames.
 Whenever a n+1th frame was transmitted, the first would be checked for
 completion.  If it was completed, it was freed, else the new frame was
 dropped (and freed).

This breaks socket buffer accounting.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [RFC] Some infrastructure for interrupt-less TX

2006-02-22 Thread Caitlin Bestler
[EMAIL PROTECTED] wrote:
 Below patch wasn't even compile tested.  I'm not involved
 with network drivers anymore, so my personal interest is
 fairly low.  But since I firmly believe in the advantages and
 feasibility of interrupt-less TX, there should at least be an
 ugly broken patch to flame about.  Go for it, tell me how stupid I am!
 
 Jörn

I am assuming the real goal is avoiding interrupts when
transmit completions can be reported without them on a
reasonably periodic basis.

Wouldn't that goal be achievable by the type of transmit
buffer ring implied for net channels?

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] Some infrastructure for interrupt-less TX

2006-02-22 Thread Jörn Engel
On Wed, 22 February 2006 12:37:48 -0800, Caitlin Bestler wrote:
 [EMAIL PROTECTED] wrote:
  Below patch wasn't even compile tested.  I'm not involved
  with network drivers anymore, so my personal interest is
  fairly low.  But since I firmly believe in the advantages and
  feasibility of interrupt-less TX, there should at least be an
  ugly broken patch to flame about.  Go for it, tell me how stupid I am!
  
  Jörn
 
 I am assuming the real goal is avoiding interrupts when
 transmit completions can be reported without them on a
 reasonably periodic basis.

Not necessarily on a periodic basis.  For some network driver I once
worked on, the hardware simply had a ring buffer of n frames.
Whenever a n+1th frame was transmitted, the first would be checked for
completion.  If it was completed, it was freed, else the new frame was
dropped (and freed).

So for this driver, the hardware permanently owned n memory areas
which would never get freed.  Nice performance at the cost of a little
wasted memory.

Alternatively you could set a timer as well, sure.

 Wouldn't that goal be achievable by the type of transmit
 buffer ring implied for net channels?

Possibly.  I don't really understand the transmit side of net channels
yet.  But the principle should be the same.  Whatever data structures
the kernel need on top of the raw packet is freed early, the raw
packet is handed over to the hardware and freed late.

Jörn

-- 
There's nothing better for promoting creativity in a medium than
making an audience feel Hmm ­ I could do better than that!
-- Douglas Adams in a slashdot interview
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html