[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220815212839.aop6wwx4fkngihbf@awork3.anarazel.de>
Date: Mon, 15 Aug 2022 14:28:39 -0700
From: Andres Freund <andres@...razel.de>
To: "Michael S. Tsirkin" <mst@...hat.com>
Cc: Guenter Roeck <linux@...ck-us.net>, linux-kernel@...r.kernel.org,
Xuan Zhuo <xuanzhuo@...ux.alibaba.com>,
Jason Wang <jasowang@...hat.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
virtualization@...ts.linux-foundation.org, netdev@...r.kernel.org,
Linus Torvalds <torvalds@...ux-foundation.org>,
Jens Axboe <axboe@...nel.dk>,
James Bottomley <James.Bottomley@...senpartnership.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
Greg KH <gregkh@...uxfoundation.org>, c@...hat.com
Subject: Re: [PATCH] virtio_net: Revert "virtio_net: set the default max ring
size by find_vqs()"
Hi,
On 2022-08-15 17:04:10 -0400, Michael S. Tsirkin wrote:
> So virtio has a queue_size register. When read, it will give you
> originally the maximum queue size. Normally we just read it and
> use it as queue size.
>
> However, when queue memory allocation fails, and unconditionally with a
> network device with the problematic patch, driver is asking the
> hypervisor to make the ring smaller by writing a smaller value into this
> register.
>
> I suspect that what happens is hypervisor still uses the original value
> somewhere.
It looks more like the host is never told about the changed size for legacy
devices...
Indeed, adding a vp_legacy_set_queue_size() & call to it to setup_vq(), makes
5.19 + restricting queue sizes to 1024 boot again. I'd bet that it also would
fix 6.0rc1, but I'm running out of time to test that.
Greetings,
Andres Freund
Powered by blists - more mailing lists