[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170731142934.wcn22fyvjcqyauda@ubuntu-xps13>
Date: Mon, 31 Jul 2017 09:29:34 -0500
From: Seth Forshee <seth.forshee@...onical.com>
To: "Michael S. Tsirkin" <mst@...hat.com>
Cc: Euan Kemp <euan.kemp@...eos.com>, netdev@...r.kernel.org
Subject: Re: Performance regression with virtio_net
On Mon, Jul 31, 2017 at 04:26:08PM +0300, Michael S. Tsirkin wrote:
> On Sun, Jul 30, 2017 at 03:25:52PM -0700, Euan Kemp wrote:
> > I've also observed this performance regression.
> >
> > The minimal fix for me is removing the two
> > > if (unlikely(len > (unsigned long)ctx))
> > checks added in 680557c.
> >
> > After digging a little more, the reason that check can fail appears to
> > be that add_recvbuf_mergeable sometimes includes a hole at the end,
> > which is included in len but not ctx.
> >
> > I'd send a patch removing those conditions, but I'm not certain
> > whether "truesize" in receive_mergeable should also be changed back to
> > be the max of len/ctx, or should remain as-is.
> >
> > - Euan
>
> Thanks a lot for looking into it!
>
> I kept this around unchanged from
> ab7db91705e95ed1bba1304388936fccfa58c992. That commit had an internal
> reason not to account for that space: not enough bits to do it. No
> longer true so let's account for length exactly. I'll send a proper
> patch after a bit of testing, would appreciate reports reports of
> whether this helps very much.
>
> Signed-off-by: Michael S. Tsirkin <mst@...hat.com>
This fixes the issue for me, downloads are faster and rx_length_errors
does not show any errors.
Tested-by: Seth Forshee <seth.forshee@...onical.com>
Thanks!
Seth
Powered by blists - more mailing lists