On 01/08/2014 10:09 AM, Eric Dumazet wrote:
In normal networking land, when a host A sends frames to host B, nothing prevents A to pause the traffic to B if B is dropping packets under stress. A physical NIC do not use a workqueue to refill its RX queue but uses the following strategy : 0) Pre filling of RX ring buffer with N frames. This can use GFP_KERNEL allocations with all needed (sleep/retry/shout) logic... 1) IRQ is handled. 2) Can we allocate a new buffer (GFP_ATOMIC) ? If yes, we accept the frame, and post the new buffer for the 'next frame' If no, we drop the frame and recycle the memory for next round.
and increment a suitably specific statistic so someone trying to diagnose performance/other problems can know we dropped the frame.
rick jones _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization