Re: [PATCH] virtio_pci: do not mutate caller irq_affinity.pre_vectors
From: Michael S. Tsirkin
Date: Wed Aug 05 2026 - 03:01:33 EST
On Wed, Aug 05, 2026 at 02:47:06PM +0800, Xiong Weimin wrote:
> On Wed, Aug 05, 2026 at 01:37:01AM -0400, Michael S. Tsirkin wrote:
> > "tmp" in what sense? if we can come up with a sensible name, just
> > "affinity" will do.
> >
> > We do not need a comment arguing with previous version of the code.
> >
> > just assign to desc, instead?
>
> Thanks, will do. I will post a fresh [PATCH v2] as a new standalone
> mail (not threaded under this one) with:
> - a local "affinity" copy
> - that comment dropped
> - desc = &affinity, and keep passing desc
>
> On the virtio_input thread you also asked whether this is real or
> theoretical for stable. For this virtio_pci patch: real when the caller
> passes irq_affinity and MSI-X policy falls back.
>
> vp_find_vqs() retries EACH -> SHARED_SLOW -> SHARED. A failed
> vp_request_msix_vectors() currently does desc->pre_vectors++ in place,
> so a later successful attempt sees a polluted pre_vectors and gets the
> wrong affinity layout. That fallback path is unconditional in the
> driver.
>
> I have not collected a userspace failure log yet. Please let me know if
> you still want Cc: stable on the v2.
>
> Thanks,
> Xiong
do not cc stable on theoretical issue.
there is a bit of a language issue.
if the issue is real describe it:
"this was observed: ... "
if theoretical say so
--
MST