David Edmondson wrote: > * Rajagopal.Kunhappan at Sun.COM [2009-05-05 18:39:40] >> Saurabh Misra wrote: >>> It seems reducing number of vlan IDs resolves the problem and it has >>> been seen before with NICDRV (VR driver VIA Ethernet chip). Clearly >>> thread reaping by MAC layer isn't happening when the load reduces. >>> >>> While I'm discussing this, I have a comment to make. While running >>> NICDRV in normal mode, I never saw MAC layer passing multiple mblks >>> to my driver even though all the TX descriptors (256) were >>> used. Something which is worth looking. bfe can program the chip to >>> transmit multiple frames (or packets) at once since we can mark >>> start and end of frame in the descriptor table. Do I have to do >>> anything special in the driver? >> Nothing wrong with the driver. It is the MAC layer that is sending one >> packet at a time. Even if this is fixed in MAC layer, it may not >> benefit unless upper layers (IP) send chains. > > The Xen network backend driver will pass chains of packets to the > downstream MAC client (usually a VNIC).
When you have a VNIC, then there is the existence of virtual switch in MAC. Each packet is peeked into to see if the packet has to be sent to another VNIC on the virtual switch. If the packet is not for VNIC, it is sent to the driver. But we can look into building chains before sending packets to VNIC or the driver. -krgopi
