search for: virtnet_napi_enable_all

Displaying 10 results from an estimated 10 matches for "virtnet_napi_enable_all".

2014 Jul 15
3
[PATCH net-next] virtio-net: rx busy polling support
...t received; + + if (!(vi->status & VIRTIO_NET_S_LINK_UP)) + return LL_FLUSH_FAILED; + + if (!virtnet_rq_lock_poll(rq)) + return LL_FLUSH_BUSY; + + received = virtnet_receive(rq, 4); + + virtnet_rq_unlock_poll(rq); + + return received; +} +#endif /* CONFIG_NET_RX_BUSY_POLL */ + +static void virtnet_napi_enable_all(struct virtnet_info *vi) +{ + int i; + + for (i = 0; i < vi->max_queue_pairs; i++) { + virtnet_rq_init_lock(&vi->rq[i]); + virtnet_napi_enable(&vi->rq[i]); + } +} + +static void virtnet_napi_disable_all(struct virtnet_info *vi) +{ + int i; + + for (i = 0; i < vi->max_que...
2014 Jul 15
3
[PATCH net-next] virtio-net: rx busy polling support
...t received; + + if (!(vi->status & VIRTIO_NET_S_LINK_UP)) + return LL_FLUSH_FAILED; + + if (!virtnet_rq_lock_poll(rq)) + return LL_FLUSH_BUSY; + + received = virtnet_receive(rq, 4); + + virtnet_rq_unlock_poll(rq); + + return received; +} +#endif /* CONFIG_NET_RX_BUSY_POLL */ + +static void virtnet_napi_enable_all(struct virtnet_info *vi) +{ + int i; + + for (i = 0; i < vi->max_queue_pairs; i++) { + virtnet_rq_init_lock(&vi->rq[i]); + virtnet_napi_enable(&vi->rq[i]); + } +} + +static void virtnet_napi_disable_all(struct virtnet_info *vi) +{ + int i; + + for (i = 0; i < vi->max_que...
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 15
0
[PATCH net-next] virtio-net: rx busy polling support
...51.94 to 19787.37. This is a misleading changelog. You forgot to describe how you allowed busy polling, as it is not 'automatic' If not, this patch adds two spinlock/unlock pairs in fast path. Also, it looks like you could split this in smaller patches. virtnet_napi_disable_all() & virtnet_napi_enable_all() could be added in a separate patch for example.
2014 Jul 20
1
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...ILED; > + > + if (!virtnet_rq_lock_poll(rq)) > + return LL_FLUSH_BUSY; > + > + received = virtnet_receive(rq, 4); Hmm why 4 exactly? > + > + virtnet_rq_unlock_poll(rq); > + > + return received; > +} > +#endif /* CONFIG_NET_RX_BUSY_POLL */ > + > static void virtnet_napi_enable_all(struct virtnet_info *vi) > { > int i; > > - for (i = 0; i < vi->max_queue_pairs; i++) > + for (i = 0; i < vi->max_queue_pairs; i++) { > + virtnet_rq_init_lock(&vi->rq[i]); > virtnet_napi_enable(&vi->rq[i]); > + } > } > > static...
2014 Jul 20
1
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...ILED; > + > + if (!virtnet_rq_lock_poll(rq)) > + return LL_FLUSH_BUSY; > + > + received = virtnet_receive(rq, 4); Hmm why 4 exactly? > + > + virtnet_rq_unlock_poll(rq); > + > + return received; > +} > +#endif /* CONFIG_NET_RX_BUSY_POLL */ > + > static void virtnet_napi_enable_all(struct virtnet_info *vi) > { > int i; > > - for (i = 0; i < vi->max_queue_pairs; i++) > + for (i = 0; i < vi->max_queue_pairs; i++) { > + virtnet_rq_init_lock(&vi->rq[i]); > virtnet_napi_enable(&vi->rq[i]); > + } > } > > static...
2014 Jul 16
0
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...t received; + + if (!(vi->status & VIRTIO_NET_S_LINK_UP)) + return LL_FLUSH_FAILED; + + if (!virtnet_rq_lock_poll(rq)) + return LL_FLUSH_BUSY; + + received = virtnet_receive(rq, 4); + + virtnet_rq_unlock_poll(rq); + + return received; +} +#endif /* CONFIG_NET_RX_BUSY_POLL */ + static void virtnet_napi_enable_all(struct virtnet_info *vi) { int i; - for (i = 0; i < vi->max_queue_pairs; i++) + for (i = 0; i < vi->max_queue_pairs; i++) { + virtnet_rq_init_lock(&vi->rq[i]); virtnet_napi_enable(&vi->rq[i]); + } } static void virtnet_napi_disable_all(struct virtnet_info *vi)...
2014 Jul 16
2
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...return LL_FLUSH_FAILED; > + > + if (!virtnet_rq_lock_poll(rq)) > + return LL_FLUSH_BUSY; > + > + received = virtnet_receive(rq, 4); > + > + virtnet_rq_unlock_poll(rq); > + > + return received; > +} > +#endif /* CONFIG_NET_RX_BUSY_POLL */ > + > static void virtnet_napi_enable_all(struct virtnet_info *vi) > { > int i; > > - for (i = 0; i < vi->max_queue_pairs; i++) > + for (i = 0; i < vi->max_queue_pairs; i++) { > + virtnet_rq_init_lock(&vi->rq[i]); > virtnet_napi_enable(&vi->rq[i]); > + } > } > >...
2014 Jul 16
2
[PATCH net-next V2 3/3] virtio-net: rx busy polling support
...return LL_FLUSH_FAILED; > + > + if (!virtnet_rq_lock_poll(rq)) > + return LL_FLUSH_BUSY; > + > + received = virtnet_receive(rq, 4); > + > + virtnet_rq_unlock_poll(rq); > + > + return received; > +} > +#endif /* CONFIG_NET_RX_BUSY_POLL */ > + > static void virtnet_napi_enable_all(struct virtnet_info *vi) > { > int i; > > - for (i = 0; i < vi->max_queue_pairs; i++) > + for (i = 0; i < vi->max_queue_pairs; i++) { > + virtnet_rq_init_lock(&vi->rq[i]); > virtnet_napi_enable(&vi->rq[i]); > + } > } > >...