[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <DD7CREVYE5L7.2FALGBC35L8CN@kernel.org>
Date: Thu, 02 Oct 2025 00:52:10 +0200
From: "Danilo Krummrich" <dakr@...nel.org>
To: "John Hubbard" <jhubbard@...dia.com>
Cc: "Zhi Wang" <zhiw@...dia.com>, "Alistair Popple" <apopple@...dia.com>,
"Alexandre Courbot" <acourbot@...dia.com>, "Joel Fernandes"
<joelagnelf@...dia.com>, "Timur Tabi" <ttabi@...dia.com>, "Surath Mitra"
<smitra@...dia.com>, "David Airlie" <airlied@...il.com>, "Simona Vetter"
<simona@...ll.ch>, "Bjorn Helgaas" <bhelgaas@...gle.com>,
Krzysztof Wilczyński <kwilczynski@...nel.org>, "Miguel
Ojeda" <ojeda@...nel.org>, "Alex Gaynor" <alex.gaynor@...il.com>, "Boqun
Feng" <boqun.feng@...il.com>, "Gary Guo" <gary@...yguo.net>,
Björn Roy Baron <bjorn3_gh@...tonmail.com>, "Benno Lossin"
<lossin@...nel.org>, "Andreas Hindborg" <a.hindborg@...nel.org>, "Alice
Ryhl" <aliceryhl@...gle.com>, "Trevor Gross" <tmgross@...ch.edu>,
"nouveau@...ts.freedesktop.org" <nouveau@...ts.freedesktop.org>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
"rust-for-linux@...r.kernel.org" <rust-for-linux@...r.kernel.org>, "LKML"
<linux-kernel@...r.kernel.org>, "Jason Gunthorpe" <jgg@...dia.com>, "Alex
Williamson" <alex.williamson@...hat.com>
Subject: Re: [PATCH 0/2] rust: pci: expose is_virtfn() and reject VFs in
nova-core
On Thu Oct 2, 2025 at 12:38 AM CEST, John Hubbard wrote:
> On 10/1/25 6:52 AM, Zhi Wang wrote:
>> On 1.10.2025 13.32, Danilo Krummrich wrote:
>>> On Wed Oct 1, 2025 at 3:22 AM CEST, John Hubbard wrote:
>>>> On 9/30/25 5:29 PM, Alistair Popple wrote:
>>>>> On 2025-10-01 at 08:07 +1000, John Hubbard <jhubbard@...dia.com> wrote...
> ...
>>> So, this patch series does not do anything uncommon.
>>>
>>>>> I'm guessing the proposal is to fail the probe() function in nova-core for
>>>>> the VFs - I'm not sure but does the driver core continue to try probing other
>>>>> drivers if one fails probe()? It seems like this would be something best
>>>>> filtered on in the device id table, although I understand that's not possible
>>>>> today.
>>>
>>> Yes, the driver core keeps going until it finds a driver that succeeds probing
>>> or no driver is left to probe. (This behavior is also the reason for the name
>>> probe() in the first place.)
>>>
>>> However, nowadays we ideally know whether a driver fits a device before probe()
>>> is called, but there are still exceptions; with PCI virtual functions we've just
>>> hit one of those.
>>>
>>> Theoretically, we could also indicate whether a driver handles virtual functions
>>> through a boolean in struct pci_driver, which would be a bit more elegant.
>>>
>>> If you want I can also pick this up with my SR-IOV RFC which will probably touch
>>> the driver structure as well; I plan to send something in a few days.
>
> As I mentioned in the other fork of this thread, I do think this is
> a good start. So unless someone disagrees, I'd like to go with this
> series (perhaps with better wording in the commit messages, and maybe
> a better comment above the probe() failure return) for now.
Indicating whether the driver supports VFs through a boolean in struct
pci_driver is about the same effort (well, maybe slightly more), but solves the
problem in a cleaner way since it avoids probe() being called in the first
place. Other existing drivers benefit from that as well.
Forget about the SR-IOV RFC I was talking about; I really just intended to offer
to take care of that. :)
Powered by blists - more mailing lists