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

From: Xinghui Li
Date: Tue Apr 04 2023 - 07:05:17 EST


On Tue, Apr 4, 2023 at 6:45 AM Bjorn Helgaas <helgaas@xxxxxxxxxx> 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