Re: [PATCH v4] PCI: vmd: Add the module param to adjust MSI mode

Bjorn Helgaas
2023-04-17T21:45:12Z

On Mon, Apr 17, 2023 at 05:15:00PM +0800, Xinghui Li wrote:
> Friendly ping~

We had quite a bit of discussion that I don't see reflected in the
latest patch, so we're waiting on a v5 patch that addresses the
comments.

> On Tue, Apr 4, 2023 at 7:02 PM Xinghui Li <korantwork@gmail.com> wrote:
> >
> > On Tue, Apr 4, 2023 at 6:45 AM Bjorn Helgaas <helgaas@kernel.org> wrote:
> > >
> > > > In the patch I send in last email, We speculate that the VMD
> > > > Controller aggregate interrupts,
> > > > making the PCIe port less stressed and improving iops. In this
> > > > case(lots of 4k random IO), if we enable the VMD MSI
> > > > remapping, we found the interrupts from VMD Controller's MSI are less
> > > > and the IOPS is much higher.
> > >
> > > Great, that's useful information about why users would want to use
> > > this parameter.
> > >
> > > Obviously the other half is to mention the reasons why they may not be
> > > able to use it. If "msi_remap=off" were *always* safe and desirable,
> > > we would just do that unconditionally and there would be no point in a
> > > parameter.
> > >
> > > > > > I place the "vmd_config_msi_remap_param" that is VMD MSI-X's mode
> > > > > > param configuring helper front
> > > > > > "vmd_enable_domain". So, It will not change the logic disabling
> > > > > > remapping from ee81ee84f873, such as
> > > > > > "Currently MSI remapping must be enabled in guest passthrough mode".
> > > > > > So, if the user config the wrong type, it will not work, and they can
> > > > > > find it by dmesg.
> > > > >
> > > > > That's kind of a problem. I'm not in favor of something failing and
> > > > > the user having to debug it via dmesg. That causes user frustration
> > > > > and problem reports.
> > > >
> > > > What about adding a sysfs node for it in VMD PCI bus dir, which allows
> > > > users to catch VMD's MSI current working mode?
> > >
> > > No, a sysfs node is not the answer to this. If we *can* avoid a
> > > non-working situation, we should avoid it. If users see a non-working
> > > situation, they will rightly complain, and somebody will have to debug
> > > it. We don't want that.
> > emm~
> > I privately suppose: In the traditional way without module parameters,
> > this problem also exists. If the user disables remapping in guest os, the VMD
> > driver will force it to remapping mode.
> > What about I add the additional description in MODULE_PARM_DESC and comment?
> > As for some devices not support disable remapping, What about changing
> > the param to disabae_bypass=0/1?
> > And make it clear in the description:
> > this parameter will only affect the disabling of bypass mode on
> > devices that support it.
> > >
> > > My point is that apparently guest passthrough mode is relevant and
> > > maybe it should be part of the commit log about how this parameter
> > > should be used.
> > You are right~
> > I will add some clarification on how to configure VMD MSI in the guest.
> > >
> > > Bjorn