Le 11 avr. 07 à 20:25, wendy a écrit :

You mean the free buffer routine of [b]desballoc[/b] is always called before gld_recv( ) or mac_rx( ) exit? If something goes wrong, like the "Ping got stuck" issue that we discussed last week happens and packets got buffered in system until name service timeout, can the free buffer routine be called before gld_recv( ) or mac_rx( ) exit? If so, then I think we do not need a free rx buffer list since the rx buffer is always freed after sending packet upstream and we can re-use it.

But I see many network drivers still have free buffer list even if their rx buffer were allocated using desballoc( ), why? I am very confused.


One possibility is that drivers might be sending packets up with some extra resources attached to them. When the packet is consumed above, then it can be reused below along with the associated resources (think dma).

-r

Wendy


This message posted from opensolaris.org
_______________________________________________
networking-discuss mailing list
[EMAIL PROTECTED]

_______________________________________________
networking-discuss mailing list
[EMAIL PROTECTED]

Reply via email to