search for: virtnet_rq_lock_poll

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

Did you mean: virtnet_rq_unlock_poll
2014 Jul 20
1
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
..._STATE_POLL_YIELD) > + rc = true; > + /* will reset state to idle, unless RQ is disabled */ > + rq->state &= VIRTNET_RQ_STATE_DISABLED; > + spin_unlock(&rq->lock); > + return rc; > +} > + > +/* called from virtnet_low_latency_recv() */ > +static inline bool virtnet_rq_lock_poll(struct receive_queue *rq) > +{ > + int rc = true; > + > + spin_lock_bh(&rq->lock); > + if ((rq->state & VIRTNET_RQ_LOCKED)) { > + rq->state |= VIRTNET_RQ_STATE_POLL_YIELD; > + rc = false; > + } else > + /* preserve yield marks */ > + rq->state |...
2014 Jul 20
1
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
..._STATE_POLL_YIELD) > + rc = true; > + /* will reset state to idle, unless RQ is disabled */ > + rq->state &= VIRTNET_RQ_STATE_DISABLED; > + spin_unlock(&rq->lock); > + return rc; > +} > + > +/* called from virtnet_low_latency_recv() */ > +static inline bool virtnet_rq_lock_poll(struct receive_queue *rq) > +{ > + int rc = true; > + > + spin_lock_bh(&rq->lock); > + if ((rq->state & VIRTNET_RQ_LOCKED)) { > + rq->state |= VIRTNET_RQ_STATE_POLL_YIELD; > + rc = false; > + } else > + /* preserve yield marks */ > + rq->state |...
2014 Jul 15
3
[PATCH net-next] virtio-net: rx busy polling support
...IELD)); + + if (rq->state & VIRTNET_RQ_STATE_POLL_YIELD) + rc = true; + /* will reset state to idle, unless RQ is disabled */ + rq->state &= VIRTNET_RQ_STATE_DISABLED; + spin_unlock(&rq->lock); + return rc; +} + +/* called from virtnet_low_latency_recv() */ +static inline bool virtnet_rq_lock_poll(struct receive_queue *rq) +{ + int rc = true; + + spin_lock_bh(&rq->lock); + if ((rq->state & VIRTNET_RQ_LOCKED)) { + rq->state |= VIRTNET_RQ_STATE_POLL_YIELD; + rc = false; + } else + /* preserve yield marks */ + rq->state |= VIRTNET_RQ_STATE_POLL; + spin_unlock_bh(&rq-...
2014 Jul 15
3
[PATCH net-next] virtio-net: rx busy polling support
...IELD)); + + if (rq->state & VIRTNET_RQ_STATE_POLL_YIELD) + rc = true; + /* will reset state to idle, unless RQ is disabled */ + rq->state &= VIRTNET_RQ_STATE_DISABLED; + spin_unlock(&rq->lock); + return rc; +} + +/* called from virtnet_low_latency_recv() */ +static inline bool virtnet_rq_lock_poll(struct receive_queue *rq) +{ + int rc = true; + + spin_lock_bh(&rq->lock); + if ((rq->state & VIRTNET_RQ_LOCKED)) { + rq->state |= VIRTNET_RQ_STATE_POLL_YIELD; + rc = false; + } else + /* preserve yield marks */ + rq->state |= VIRTNET_RQ_STATE_POLL; + spin_unlock_bh(&rq-...
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
...IELD)); + + if (rq->state & VIRTNET_RQ_STATE_POLL_YIELD) + rc = true; + /* will reset state to idle, unless RQ is disabled */ + rq->state &= VIRTNET_RQ_STATE_DISABLED; + spin_unlock(&rq->lock); + return rc; +} + +/* called from virtnet_low_latency_recv() */ +static inline bool virtnet_rq_lock_poll(struct receive_queue *rq) +{ + int rc = true; + + spin_lock_bh(&rq->lock); + if ((rq->state & VIRTNET_RQ_LOCKED)) { + rq->state |= VIRTNET_RQ_STATE_POLL_YIELD; + rc = false; + } else + /* preserve yield marks */ + rq->state |= VIRTNET_RQ_STATE_POLL; + spin_unlock_bh(&rq-...
2014 Jul 16
2
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
..._STATE_POLL_YIELD) > + rc = true; > + /* will reset state to idle, unless RQ is disabled */ > + rq->state &= VIRTNET_RQ_STATE_DISABLED; > + spin_unlock(&rq->lock); > + return rc; > +} > + > +/* called from virtnet_low_latency_recv() */ > +static inline bool virtnet_rq_lock_poll(struct receive_queue *rq) > +{ > + int rc = true; > + > + spin_lock_bh(&rq->lock); > + if ((rq->state & VIRTNET_RQ_LOCKED)) { > + rq->state |= VIRTNET_RQ_STATE_POLL_YIELD; > + rc = false; > + } else > + /* preserve yield marks */ > + rq->state |...
2014 Jul 16
2
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
..._STATE_POLL_YIELD) > + rc = true; > + /* will reset state to idle, unless RQ is disabled */ > + rq->state &= VIRTNET_RQ_STATE_DISABLED; > + spin_unlock(&rq->lock); > + return rc; > +} > + > +/* called from virtnet_low_latency_recv() */ > +static inline bool virtnet_rq_lock_poll(struct receive_queue *rq) > +{ > + int rc = true; > + > + spin_lock_bh(&rq->lock); > + if ((rq->state & VIRTNET_RQ_LOCKED)) { > + rq->state |= VIRTNET_RQ_STATE_POLL_YIELD; > + rc = false; > + } else > + /* preserve yield marks */ > + rq->state |...