Re: [RFC PATCH 1/5] nvme-pci: add function nvme_submit_vf_cmd to issue admin commands for VF driver.

Christoph Hellwig
2022-12-07T18:34:28Z

On Wed, Dec 07, 2022 at 01:31:44PM -0400, Jason Gunthorpe wrote:
> > Sorry, I meant VF. Your continued using of SR-IOV teminology now keeps
> > confusing my mind so much that I start mistyping things.
>
> Well, what words do you want to use?

The same I've used through this whole thread: controlling and
controlled function.

> So I don't think I've learned anything more about your objection.
>
> "fundamentally broken" doesn't help

The objection is that:

- in hardware fundamentally only the controlling funtion can
control live migration features on the controlled function,
because the controlled function is assigned to a VM which has
control over it.
- for the same reason there is no portable way to even find
the controlling function from a controlled function, unless
you want to equate PF = controlling and VF = controlled,
and even that breaks down in some corner cases
- if you want to control live migration from the controlled
VM you need a new vfio subdriver for a function that has
absolutely no new functionality itself related to live
migration (quirks for bugs excepted).

So by this architecture you build a convoluted mess where you
need tons of vfio subdrivers that mostly just talk to the
driver for the controlling function, which they can't even
sanely discover. That's what I keep calling fundamentally
broken.