Messages in this thread | | | Date | Wed, 1 Dec 2021 14:21:15 -0700 | Subject | Re: [patch 21/32] NTB/msi: Convert to msi_on_each_desc() | From | Dave Jiang <> |
| |
On 12/1/2021 1:25 PM, Thomas Gleixner wrote: > On Wed, Dec 01 2021 at 11:47, Dave Jiang wrote: >> On 12/1/2021 11:41 AM, Thomas Gleixner wrote: >>>> Hi Thomas. This is actually the IDXD usage for a mediated device passed >>>> to a guest kernel when we plumb the pass through of IMS to the guest >>>> rather than doing previous implementation of having a MSIX vector on >>>> guest backed by IMS. >>> Which makes a lot of sense. >>> >>>> The control block for the mediated device is emulated and therefore an >>>> emulated MSIX vector will be surfaced as vector 0. However the queues >>>> will backed by IMS vectors. So we end up needing MSIX and IMS coexist >>>> running on the guest kernel for the same device. >>> Why? What's wrong with using straight MSI-X for all of them? >> The hardware implementation does not have enough MSIX vectors for >> guests. There are only 9 MSIX vectors total (8 for queues) and 2048 IMS >> vectors. So if we are to do MSI-X for all of them, then we need to do >> the IMS backed MSIX scheme rather than passthrough IMS to guests. > Confused. Are you talking about passing a full IDXD device to the guest > or about passing a carved out subdevice, aka. queue?
I'm talking about carving out a subdevice. I had the impression of you wanting IMS passed through for all variations. But it sounds like for a sub-device, you are ok with the implementation of MSIX backed by IMS?
> > Thanks, > > tglx >
| |