Changes in the network interface queueing handoff model

John Polstra jdp at polstra.com
Mon Jul 31 17:34:55 UTC 2006


On 31-Jul-2006 Petri Helenius wrote:
> Robert Watson wrote:
>>
>> I tend to agree, but implemented full queueing support for if_em to 
>> make sure I understood to complexity implications of completely 
>> removing queueing from the ifnet side dispatch.  I guess an 
>> interesting question for us is how we decide what the right threshold 
>> is to implement software queuing.  Do any if_em cards need software 
>> queueing, or do they all have adequate in-hardware queues as is?  
>> Entirely cutting the queue code would significantly simplify 
>> em_startmbuf.
> Actually most em cards support 4096 descriptors each way.

Yes, even the earliest ones supported 4096 descriptors on paper.  In
practice, the early chips had bugs that required the entire descriptor
ring to fit in a single page of memory.  That limited them to 4096/16
= 256 transmit descriptors on x86 hardware at the time.  That chip
bug was fixed a long time ago, though, and in any case 256 transmit
descriptors is a lot for most applications.

John


More information about the freebsd-arch mailing list