search for: add_recv_xx

Displaying 7 results from an estimated 7 matches for "add_recv_xx".

2014 Jan 08
3
[PATCH net-next v2 3/4] virtio-net: auto-tune mergeable rx buffer size for improved performance
...ve_queue *rq, gfp_t gfp) > int err; > bool oom; > > + /* Do not attempt to add a buffer if the RX ring is full. */ > + if (unlikely(!rq->vq->num_free)) > + return true; I haven't figured out why this is needed. It seems safe for virtqueue_add_inbuf() just fail in add_recv_xx()? > gfp |= __GFP_COLD; > do { > if (vi->mergeable_rx_bufs) > @@ -1354,8 +1401,10 @@ static void virtnet_free_queues(struct virtnet_info *vi) > { > int i; > > - for (i = 0; i < vi->max_queue_pairs; i++) > + for (i = 0; i < vi->max_queue_pairs; i...
2014 Jan 08
3
[PATCH net-next v2 3/4] virtio-net: auto-tune mergeable rx buffer size for improved performance
...ve_queue *rq, gfp_t gfp) > int err; > bool oom; > > + /* Do not attempt to add a buffer if the RX ring is full. */ > + if (unlikely(!rq->vq->num_free)) > + return true; I haven't figured out why this is needed. It seems safe for virtqueue_add_inbuf() just fail in add_recv_xx()? > gfp |= __GFP_COLD; > do { > if (vi->mergeable_rx_bufs) > @@ -1354,8 +1401,10 @@ static void virtnet_free_queues(struct virtnet_info *vi) > { > int i; > > - for (i = 0; i < vi->max_queue_pairs; i++) > + for (i = 0; i < vi->max_queue_pairs; i...
2014 Jan 08
0
[PATCH net-next v2 3/4] virtio-net: auto-tune mergeable rx buffer size for improved performance
...set. What do you think? >> + /* Do not attempt to add a buffer if the RX ring is full. */ >> + if (unlikely(!rq->vq->num_free)) >> + return true; > I haven't figured out why this is needed. It seems safe for > virtqueue_add_inbuf() just fail in add_recv_xx()? I think this is safe with one caveat -- we can't modify rq->mrg_buf_ctx until we know the ring isn't full (otherwise, we clobber an in-use entry). It is safe to modify rq->mrg_buf_ctx after we know that virtqueue_add_inbuf has succeeded. I can remove the rq_num_free check from try...
2014 Jan 08
1
[PATCH net-next v2 3/4] virtio-net: auto-tune mergeable rx buffer size for improved performance
...> >> + /* Do not attempt to add a buffer if the RX ring is full. */ > >> + if (unlikely(!rq->vq->num_free)) > >> + return true; > > I haven't figured out why this is needed. It seems safe for > > virtqueue_add_inbuf() just fail in add_recv_xx()? > I think this is safe with one caveat -- we can't modify > rq->mrg_buf_ctx until we know the ring isn't full (otherwise, we > clobber an in-use entry). It is safe to modify rq->mrg_buf_ctx > after we know that virtqueue_add_inbuf has succeeded. > > I can remove...
2014 Jan 08
1
[PATCH net-next v2 3/4] virtio-net: auto-tune mergeable rx buffer size for improved performance
...> >> + /* Do not attempt to add a buffer if the RX ring is full. */ > >> + if (unlikely(!rq->vq->num_free)) > >> + return true; > > I haven't figured out why this is needed. It seems safe for > > virtqueue_add_inbuf() just fail in add_recv_xx()? > I think this is safe with one caveat -- we can't modify > rq->mrg_buf_ctx until we know the ring isn't full (otherwise, we > clobber an in-use entry). It is safe to modify rq->mrg_buf_ctx > after we know that virtqueue_add_inbuf has succeeded. > > I can remove...
2014 Jan 07
10
[PATCH net-next v2 1/4] net: allow > 0 order atomic page alloc in skb_page_frag_refill
skb_page_frag_refill currently permits only order-0 page allocs unless GFP_WAIT is used. Change skb_page_frag_refill to attempt higher-order page allocations whether or not GFP_WAIT is used. If memory cannot be allocated, the allocator will fall back to successively smaller page allocs (down to order-0 page allocs). This change brings skb_page_frag_refill in line with the existing page allocation
2014 Jan 07
10
[PATCH net-next v2 1/4] net: allow > 0 order atomic page alloc in skb_page_frag_refill
skb_page_frag_refill currently permits only order-0 page allocs unless GFP_WAIT is used. Change skb_page_frag_refill to attempt higher-order page allocations whether or not GFP_WAIT is used. If memory cannot be allocated, the allocator will fall back to successively smaller page allocs (down to order-0 page allocs). This change brings skb_page_frag_refill in line with the existing page allocation