On 11/30/2015 06:44 PM, Michael S. Tsirkin wrote:> On Wed, Nov 25, 2015 at 03:11:29PM +0800, Jason Wang wrote: >> > This patch tries to poll for new added tx buffer or socket receive >> > queue for a while at the end of tx/rx processing. The maximum time >> > spent on polling were specified through a new kind of vring ioctl. >> > >> > Signed-off-by: Jason Wang <jasowang at redhat.com> > One further enhancement would be to actually poll > the underlying device. This should be reasonably > straight-forward with macvtap (especially in the > passthrough mode). > >Yes, it is. I have some patches to do this by replacing skb_queue_empty() with sk_busy_loop() but for tap. Tests does not show any improvement but some regression. Maybe it's better to test macvtap.
Michael S. Tsirkin
2015-Dec-01 14:43 UTC
[PATCH net-next 3/3] vhost_net: basic polling support
On Tue, Dec 01, 2015 at 01:17:49PM +0800, Jason Wang wrote:> > > On 11/30/2015 06:44 PM, Michael S. Tsirkin wrote: > > On Wed, Nov 25, 2015 at 03:11:29PM +0800, Jason Wang wrote: > >> > This patch tries to poll for new added tx buffer or socket receive > >> > queue for a while at the end of tx/rx processing. The maximum time > >> > spent on polling were specified through a new kind of vring ioctl. > >> > > >> > Signed-off-by: Jason Wang <jasowang at redhat.com> > > One further enhancement would be to actually poll > > the underlying device. This should be reasonably > > straight-forward with macvtap (especially in the > > passthrough mode). > > > > > > Yes, it is. I have some patches to do this by replacing > skb_queue_empty() with sk_busy_loop() but for tap.We probably don't want to do this unconditionally, though.> Tests does not show > any improvement but some regression.Did you add code to call sk_mark_napi_id on tap then? sk_busy_loop won't do anything useful without.> Maybe it's better to test macvtap.Same thing ... -- MST
On 12/01/2015 10:43 PM, Michael S. Tsirkin wrote:> On Tue, Dec 01, 2015 at 01:17:49PM +0800, Jason Wang wrote: >> >> On 11/30/2015 06:44 PM, Michael S. Tsirkin wrote: >>> On Wed, Nov 25, 2015 at 03:11:29PM +0800, Jason Wang wrote: >>>>> This patch tries to poll for new added tx buffer or socket receive >>>>> queue for a while at the end of tx/rx processing. The maximum time >>>>> spent on polling were specified through a new kind of vring ioctl. >>>>> >>>>> Signed-off-by: Jason Wang <jasowang at redhat.com> >>> One further enhancement would be to actually poll >>> the underlying device. This should be reasonably >>> straight-forward with macvtap (especially in the >>> passthrough mode). >>> >>> >> Yes, it is. I have some patches to do this by replacing >> skb_queue_empty() with sk_busy_loop() but for tap. > We probably don't want to do this unconditionally, though. > >> Tests does not show >> any improvement but some regression. > Did you add code to call sk_mark_napi_id on tap then? > sk_busy_loop won't do anything useful without.Yes I did. Probably something wrong elsewhere.> >> Maybe it's better to test macvtap. > Same thing ... >
Reasonably Related Threads
- [PATCH net-next 3/3] vhost_net: basic polling support
- [PATCH net-next 3/3] vhost_net: basic polling support
- [PATCH net-next 3/3] vhost_net: basic polling support
- [PATCH net-next 3/3] vhost_net: basic polling support
- [PATCH net-next 3/3] vhost_net: basic polling support