Re: [PATCH v1] s390/virtio_ccw: don't allocate/assign airqs for non-existing queues

From: Michael S. Tsirkin
Date: Mon Apr 07 2025 - 04:35:59 EST


On Mon, Apr 07, 2025 at 10:17:10AM +0200, David Hildenbrand wrote:
> On 07.04.25 09:52, Michael S. Tsirkin wrote:
> > On Fri, Apr 04, 2025 at 05:39:10PM +0200, Halil Pasic wrote:
> > > >
> > > > Not perfect, but AFAIKS, not horrible.
> > >
> > > It is like it is. QEMU does queue exist if the corresponding feature
> > > is offered by the device, and that is what we have to live with.
> >
> > I don't think we can live with this properly though.
> > It means a guest that does not know about some features
> > does not know where to find things.
>
> Please describe a real scenario, I'm missing the point.


OK so.

Device has VIRTIO_BALLOON_F_FREE_PAGE_HINT and VIRTIO_BALLOON_F_REPORTING
Driver only knows about VIRTIO_BALLOON_F_REPORTING so
it does not know what does VIRTIO_BALLOON_F_FREE_PAGE_HINT do.
How does it know which vq to use for reporting?
It will try to use the free page hint one.



> Whoever adds new feat_X *must be aware* about all previous features,
> otherwise we'd be reusing feature bits and everything falls to pieces.


The knowledge is supposed be limited to which feature bit to use.



> >
> > So now, I am inclined to add linux code to work with current qemu and
> > with spec compliant one, and add qemu code to work with current linux
> > and spec compliant one.
> >
> > Document the bug in the spec, maybe, in a non conformance section.
>
> I'm afraid this results in a lot of churn without really making things
> better.

> IMHO, documenting things how they actually behave, and maybe moving towards
> fixed queue indexes for new features is the low hanging fruit.

I worry about how to we ensure that?
If old code is messed up people will just keep propagating that.
I would like to fix old code so that new code is correct.

>
> As raised, it's not just qemu+linux, it's *at least* also cloud-hypervisor.
>
> --
> Cheers,
>
> David / dhildenb

There's a slippery slope here in that people will come to us
with buggy devices and ask to change the spec.




--
MST