Subject: Re: redesign of ifqueue in ALTQ
To: Kenjiro Cho <kjc@csl.sony.co.jp>
From: Michael Richardson <mcr@sandelman.ottawa.on.ca>
List: tech-net
Date: 09/03/2000 22:14:06
>>>>> "Kenjiro" == Kenjiro Cho <kjc@csl.sony.co.jp> writes:
    Kenjiro> Another requirement for a driver is to work under rate-limiting.
    Kenjiro>  - IFQ_DEQUEUE() could return NULL even when IFQ_IS_EMPTY() is FALSE
    Kenjiro>    under rate-limiting.  a driver should always check if (m == NULL).
    Kenjiro>  - a driver is supposed to call if_start from the tx complete interrupt
    Kenjiro>    under late-limiting (in order to trigger the next dequeue).

    Kenjiro> For most drivers, it is a simple task of replacing old-style lines by
    Kenjiro> the corresponding new-style lines, and usually just a few lines need
    Kenjiro> to be modified.  But some drivers need more than that.
    Kenjiro> The old-style drivers still work with the original FIFO queue but
    Kenjiro> they cannot take advantage of new queueing disciplines.

  I'd like to suggest that the interface model be a bit higher level.

  My experience with seeing what the Linux queueing code is that it appears
pretty hard to interface to a NIC card (be it I2O or otherwise) that can do 
some queueing itself. While I don't see any of these on the market right now,
I expect that there will be some in the future. 
    
  Outbound queueing is likely something that will be offloaded from the main
CPU pretty soon, as it can be pretty CPU intensive to get the rate correct.

]     Internet Security. Have encryption, will travel           |1 Fish/2 Fish[
]   Michael Richardson, Sandelman Software Works, Ottawa, ON    |Red F./Blow F[
] mcr@sandelman.ottawa.on.ca http://www.sandelman.ottawa.on.ca/ |strong crypto[
] panic("Just another NetBSD/notebook using, kernel hacking, security guy");  [