search for: virtnet_rq_state_poll_yield

Displaying 13 results from an estimated 13 matches for "virtnet_rq_state_poll_yield".

2014 Jul 15
3
[PATCH net-next] virtio-net: rx busy polling support
...#define VIRTNET_RQ_STATE_DISABLED 4 /* RQ is disabled */ +#define VIRTNET_RQ_OWNED (VIRTNET_RQ_STATE_NAPI | VIRTNET_RQ_STATE_POLL) +#define VIRTNET_RQ_LOCKED (VIRTNET_RQ_OWNED | VIRTNET_RQ_STATE_DISABLED) +#define VIRTNET_RQ_STATE_NAPI_YIELD 8 /* NAPI or refill yielded this RQ */ +#define VIRTNET_RQ_STATE_POLL_YIELD 16 /* poll yielded this RQ */ +#define VIRTNET_RQ_YIELD (VIRTNET_RQ_STATE_NAPI_YIELD | VIRTNET_RQ_STATE_POLL_YIELD) + spinlock_t lock; +#endif /* CONFIG_NET_RX_BUSY_POLL */ }; +#ifdef CONFIG_NET_RX_BUSY_POLL +static inline void virtnet_rq_init_lock(struct receive_queue *rq) +{ + + spin_lock_...
2014 Jul 15
3
[PATCH net-next] virtio-net: rx busy polling support
...#define VIRTNET_RQ_STATE_DISABLED 4 /* RQ is disabled */ +#define VIRTNET_RQ_OWNED (VIRTNET_RQ_STATE_NAPI | VIRTNET_RQ_STATE_POLL) +#define VIRTNET_RQ_LOCKED (VIRTNET_RQ_OWNED | VIRTNET_RQ_STATE_DISABLED) +#define VIRTNET_RQ_STATE_NAPI_YIELD 8 /* NAPI or refill yielded this RQ */ +#define VIRTNET_RQ_STATE_POLL_YIELD 16 /* poll yielded this RQ */ +#define VIRTNET_RQ_YIELD (VIRTNET_RQ_STATE_NAPI_YIELD | VIRTNET_RQ_STATE_POLL_YIELD) + spinlock_t lock; +#endif /* CONFIG_NET_RX_BUSY_POLL */ }; +#ifdef CONFIG_NET_RX_BUSY_POLL +static inline void virtnet_rq_init_lock(struct receive_queue *rq) +{ + + spin_lock_...
2014 Jul 20
1
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...TATE_DISABLED 4 /* RQ is disabled */ > +#define VIRTNET_RQ_OWNED (VIRTNET_RQ_STATE_NAPI | VIRTNET_RQ_STATE_POLL) > +#define VIRTNET_RQ_LOCKED (VIRTNET_RQ_OWNED | VIRTNET_RQ_STATE_DISABLED) > +#define VIRTNET_RQ_STATE_NAPI_YIELD 8 /* NAPI or refill yielded this RQ */ > +#define VIRTNET_RQ_STATE_POLL_YIELD 16 /* poll yielded this RQ */ > + spinlock_t lock; > +#endif /* CONFIG_NET_RX_BUSY_POLL */ do we have to have a new state? no way to reuse the napi state for this? two lock/unlock operations for a poll seems excessive. > }; > > +#ifdef CONFIG_NET_RX_BUSY_POLL > +static in...
2014 Jul 20
1
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...TATE_DISABLED 4 /* RQ is disabled */ > +#define VIRTNET_RQ_OWNED (VIRTNET_RQ_STATE_NAPI | VIRTNET_RQ_STATE_POLL) > +#define VIRTNET_RQ_LOCKED (VIRTNET_RQ_OWNED | VIRTNET_RQ_STATE_DISABLED) > +#define VIRTNET_RQ_STATE_NAPI_YIELD 8 /* NAPI or refill yielded this RQ */ > +#define VIRTNET_RQ_STATE_POLL_YIELD 16 /* poll yielded this RQ */ > + spinlock_t lock; > +#endif /* CONFIG_NET_RX_BUSY_POLL */ do we have to have a new state? no way to reuse the napi state for this? two lock/unlock operations for a poll seems excessive. > }; > > +#ifdef CONFIG_NET_RX_BUSY_POLL > +static in...
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
2
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...TATE_DISABLED 4 /* RQ is disabled */ > +#define VIRTNET_RQ_OWNED (VIRTNET_RQ_STATE_NAPI | VIRTNET_RQ_STATE_POLL) > +#define VIRTNET_RQ_LOCKED (VIRTNET_RQ_OWNED | VIRTNET_RQ_STATE_DISABLED) > +#define VIRTNET_RQ_STATE_NAPI_YIELD 8 /* NAPI or refill yielded this RQ */ > +#define VIRTNET_RQ_STATE_POLL_YIELD 16 /* poll yielded this RQ */ > + spinlock_t lock; > +#endif /* CONFIG_NET_RX_BUSY_POLL */ > }; > > +#ifdef CONFIG_NET_RX_BUSY_POLL > +static inline void virtnet_rq_init_lock(struct receive_queue *rq) > +{ > + > + spin_lock_init(&rq->lock); > + rq->s...
2014 Jul 16
2
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...TATE_DISABLED 4 /* RQ is disabled */ > +#define VIRTNET_RQ_OWNED (VIRTNET_RQ_STATE_NAPI | VIRTNET_RQ_STATE_POLL) > +#define VIRTNET_RQ_LOCKED (VIRTNET_RQ_OWNED | VIRTNET_RQ_STATE_DISABLED) > +#define VIRTNET_RQ_STATE_NAPI_YIELD 8 /* NAPI or refill yielded this RQ */ > +#define VIRTNET_RQ_STATE_POLL_YIELD 16 /* poll yielded this RQ */ > + spinlock_t lock; > +#endif /* CONFIG_NET_RX_BUSY_POLL */ > }; > > +#ifdef CONFIG_NET_RX_BUSY_POLL > +static inline void virtnet_rq_init_lock(struct receive_queue *rq) > +{ > + > + spin_lock_init(&rq->lock); > + rq->s...
2014 Jul 16
0
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...#define VIRTNET_RQ_STATE_DISABLED 4 /* RQ is disabled */ +#define VIRTNET_RQ_OWNED (VIRTNET_RQ_STATE_NAPI | VIRTNET_RQ_STATE_POLL) +#define VIRTNET_RQ_LOCKED (VIRTNET_RQ_OWNED | VIRTNET_RQ_STATE_DISABLED) +#define VIRTNET_RQ_STATE_NAPI_YIELD 8 /* NAPI or refill yielded this RQ */ +#define VIRTNET_RQ_STATE_POLL_YIELD 16 /* poll yielded this RQ */ + spinlock_t lock; +#endif /* CONFIG_NET_RX_BUSY_POLL */ }; +#ifdef CONFIG_NET_RX_BUSY_POLL +static inline void virtnet_rq_init_lock(struct receive_queue *rq) +{ + + spin_lock_init(&rq->lock); + rq->state = VIRTNET_RQ_STATE_IDLE; +} + +/* called from t...
2014 Jul 17
2
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...T_RQ_OWNED (VIRTNET_RQ_STATE_NAPI | >>> VIRTNET_RQ_STATE_POLL) >>> +#define VIRTNET_RQ_LOCKED (VIRTNET_RQ_OWNED | >>> VIRTNET_RQ_STATE_DISABLED) >>> +#define VIRTNET_RQ_STATE_NAPI_YIELD 8 /* NAPI or refill yielded >>> this RQ */ >>> +#define VIRTNET_RQ_STATE_POLL_YIELD 16 /* poll yielded this RQ */ >>> + spinlock_t lock; >>> +#endif /* CONFIG_NET_RX_BUSY_POLL */ >>> }; >>> +#ifdef CONFIG_NET_RX_BUSY_POLL >>> +static inline void virtnet_rq_init_lock(struct receive_queue *rq) >>> +{ >>> + &...
2014 Jul 17
2
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...T_RQ_OWNED (VIRTNET_RQ_STATE_NAPI | >>> VIRTNET_RQ_STATE_POLL) >>> +#define VIRTNET_RQ_LOCKED (VIRTNET_RQ_OWNED | >>> VIRTNET_RQ_STATE_DISABLED) >>> +#define VIRTNET_RQ_STATE_NAPI_YIELD 8 /* NAPI or refill yielded >>> this RQ */ >>> +#define VIRTNET_RQ_STATE_POLL_YIELD 16 /* poll yielded this RQ */ >>> + spinlock_t lock; >>> +#endif /* CONFIG_NET_RX_BUSY_POLL */ >>> }; >>> +#ifdef CONFIG_NET_RX_BUSY_POLL >>> +static inline void virtnet_rq_init_lock(struct receive_queue *rq) >>> +{ >>> + &...
2014 Jul 17
0
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...>> +#define VIRTNET_RQ_OWNED (VIRTNET_RQ_STATE_NAPI | >> VIRTNET_RQ_STATE_POLL) >> +#define VIRTNET_RQ_LOCKED (VIRTNET_RQ_OWNED | >> VIRTNET_RQ_STATE_DISABLED) >> +#define VIRTNET_RQ_STATE_NAPI_YIELD 8 /* NAPI or refill yielded >> this RQ */ >> +#define VIRTNET_RQ_STATE_POLL_YIELD 16 /* poll yielded this RQ */ >> + spinlock_t lock; >> +#endif /* CONFIG_NET_RX_BUSY_POLL */ >> }; >> +#ifdef CONFIG_NET_RX_BUSY_POLL >> +static inline void virtnet_rq_init_lock(struct receive_queue *rq) >> +{ >> + >> + spin_lock_init(&a...
2014 Jul 17
0
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...TATE_NAPI | >>>> VIRTNET_RQ_STATE_POLL) >>>> +#define VIRTNET_RQ_LOCKED (VIRTNET_RQ_OWNED | >>>> VIRTNET_RQ_STATE_DISABLED) >>>> +#define VIRTNET_RQ_STATE_NAPI_YIELD 8 /* NAPI or refill yielded >>>> this RQ */ >>>> +#define VIRTNET_RQ_STATE_POLL_YIELD 16 /* poll yielded this RQ */ >>>> + spinlock_t lock; >>>> +#endif /* CONFIG_NET_RX_BUSY_POLL */ >>>> }; >>>> +#ifdef CONFIG_NET_RX_BUSY_POLL >>>> +static inline void virtnet_rq_init_lock(struct receive_queue *rq) >>>...