Andrew Gallatin writes:
 > 
 > Paul Durrant writes:
 >  > On 06/09/07, Andrew Gallatin <[EMAIL PROTECTED]> wrote:
 >  > >
 >  > > I'm porting a GLDv2 driver to v3, and I'm a bit confused
 >  > > about the mac_blank_t function (and the resources stuff
 >  > > in general):
 >  > >
 >  > > typedef void            (*mac_blank_t)(void *, time_t, uint_t);
 >  > >
 >  > 
 >  > This function was designed heavily around the bge driver. The BCM h/w
 >  > can coalesce based on a time and/or packet count. It's called directly
 >  > by the IP stack to quiesce h/w when an squeue has backed up; which is
 >  > pretty rare in practice if you're running a decent CPU.
 > 
 > I imagine it would happen often with 10GbE traffic on a coolthreads
 > CPU.
 > 

One  reason it  doesn not happen   in  practice is  that the
threads that   are  filling the  queues  are  also the  ones
draining  it.  The backlog that  should  be used to make the
decision actually builds up elsewhere (in the the HW rings)
not on the squeue.


Hopefully the redesign will take care of this situation.

-r

_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to