search for: virtnet_rq_unlock_napi_refil

Displaying 9 results from an estimated 9 matches for "virtnet_rq_unlock_napi_refil".

2014 Jul 20
1
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...t; + } else > + /* we don't care if someone yielded */ > + rq->state = VIRTNET_RQ_STATE_NAPI; > + spin_unlock(&rq->lock); > + return rc; > +} > + > +/* returns true is someone tried to get the rq while napi or refill had it */ s/is/if/ > +static inline bool virtnet_rq_unlock_napi_refill(struct receive_queue *rq) > +{ > + int rc = false; > + > + spin_lock(&rq->lock); > + WARN_ON(rq->state & (VIRTNET_RQ_STATE_POLL | > + VIRTNET_RQ_STATE_NAPI_YIELD)); > + > + if (rq->state & VIRTNET_RQ_STATE_POLL_YIELD) > + rc = true; > + /*...
2014 Jul 20
1
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...t; + } else > + /* we don't care if someone yielded */ > + rq->state = VIRTNET_RQ_STATE_NAPI; > + spin_unlock(&rq->lock); > + return rc; > +} > + > +/* returns true is someone tried to get the rq while napi or refill had it */ s/is/if/ > +static inline bool virtnet_rq_unlock_napi_refill(struct receive_queue *rq) > +{ > + int rc = false; > + > + spin_lock(&rq->lock); > + WARN_ON(rq->state & (VIRTNET_RQ_STATE_POLL | > + VIRTNET_RQ_STATE_NAPI_YIELD)); > + > + if (rq->state & VIRTNET_RQ_STATE_POLL_YIELD) > + rc = true; > + /*...
2014 Jul 15
3
[PATCH net-next] virtio-net: rx busy polling support
...;state |= VIRTNET_RQ_STATE_NAPI_YIELD; + rc = false; + } else + /* we don't care if someone yielded */ + rq->state = VIRTNET_RQ_STATE_NAPI; + spin_unlock(&rq->lock); + return rc; +} + +/* returns true is someone tried to get the rq while napi or refill had it */ +static inline bool virtnet_rq_unlock_napi_refill(struct receive_queue *rq) +{ + int rc = false; + + spin_lock(&rq->lock); + WARN_ON(rq->state & (VIRTNET_RQ_STATE_POLL | + VIRTNET_RQ_STATE_NAPI_YIELD)); + + if (rq->state & VIRTNET_RQ_STATE_POLL_YIELD) + rc = true; + /* will reset state to idle, unless RQ is disabled *...
2014 Jul 15
3
[PATCH net-next] virtio-net: rx busy polling support
...;state |= VIRTNET_RQ_STATE_NAPI_YIELD; + rc = false; + } else + /* we don't care if someone yielded */ + rq->state = VIRTNET_RQ_STATE_NAPI; + spin_unlock(&rq->lock); + return rc; +} + +/* returns true is someone tried to get the rq while napi or refill had it */ +static inline bool virtnet_rq_unlock_napi_refill(struct receive_queue *rq) +{ + int rc = false; + + spin_lock(&rq->lock); + WARN_ON(rq->state & (VIRTNET_RQ_STATE_POLL | + VIRTNET_RQ_STATE_NAPI_YIELD)); + + if (rq->state & VIRTNET_RQ_STATE_POLL_YIELD) + rc = true; + /* will reset state to idle, unless RQ is disabled *...
2014 Jul 16
9
[PATCH net-next V2 0/3] rx busy polling support for virtio-net
Hi all: This series introduces the support for rx busy polling support. This was useful for reduing the latency for a kvm guest. Patch 1-2 introduces helpers which is used for rx busy polling. Patch 3 implement the main function. Test was done between a kvm guest and an external host. Two hosts were connected through 40gb mlx4 cards. With both busy_poll and busy_read are set to 50 in guest, 1
2014 Jul 16
9
[PATCH net-next V2 0/3] rx busy polling support for virtio-net
Hi all: This series introduces the support for rx busy polling support. This was useful for reduing the latency for a kvm guest. Patch 1-2 introduces helpers which is used for rx busy polling. Patch 3 implement the main function. Test was done between a kvm guest and an external host. Two hosts were connected through 40gb mlx4 cards. With both busy_poll and busy_read are set to 50 in guest, 1
2014 Jul 16
0
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...;state |= VIRTNET_RQ_STATE_NAPI_YIELD; + rc = false; + } else + /* we don't care if someone yielded */ + rq->state = VIRTNET_RQ_STATE_NAPI; + spin_unlock(&rq->lock); + return rc; +} + +/* returns true is someone tried to get the rq while napi or refill had it */ +static inline bool virtnet_rq_unlock_napi_refill(struct receive_queue *rq) +{ + int rc = false; + + spin_lock(&rq->lock); + WARN_ON(rq->state & (VIRTNET_RQ_STATE_POLL | + VIRTNET_RQ_STATE_NAPI_YIELD)); + + if (rq->state & VIRTNET_RQ_STATE_POLL_YIELD) + rc = true; + /* will reset state to idle, unless RQ is disabled *...
2014 Jul 16
2
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...T_RQ_STATE_NAPI); rc = false; } else { /* we don't care if someone yielded */ rq->state = VIRTNET_RQ_STATE_NAPI; spin_unlock(&rq->lock); } > + return rc; > +} > + > +/* returns true is someone tried to get the rq while napi or refill had it */ > +static inline bool virtnet_rq_unlock_napi_refill(struct receive_queue *rq) > +{ > + int rc = false; > + > + spin_lock(&rq->lock); > + WARN_ON(rq->state & (VIRTNET_RQ_STATE_POLL | > + VIRTNET_RQ_STATE_NAPI_YIELD)); > + > + if (rq->state & VIRTNET_RQ_STATE_POLL_YIELD) > + rc = true; > + /*...
2014 Jul 16
2
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...T_RQ_STATE_NAPI); rc = false; } else { /* we don't care if someone yielded */ rq->state = VIRTNET_RQ_STATE_NAPI; spin_unlock(&rq->lock); } > + return rc; > +} > + > +/* returns true is someone tried to get the rq while napi or refill had it */ > +static inline bool virtnet_rq_unlock_napi_refill(struct receive_queue *rq) > +{ > + int rc = false; > + > + spin_lock(&rq->lock); > + WARN_ON(rq->state & (VIRTNET_RQ_STATE_POLL | > + VIRTNET_RQ_STATE_NAPI_YIELD)); > + > + if (rq->state & VIRTNET_RQ_STATE_POLL_YIELD) > + rc = true; > + /*...