Thread (5 messages) 5 messages, 4 authors, 2014-01-08

Re: [PATCH net-next 2/3] virtio-net: use per-receive queue page frag alloc for mergeable bufs

From: Rick Jones <hidden>
Date: 2014-01-08 21:16:44
Also in: netdev

Possibly related (same subject, not in this thread)

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help