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

From: Xinghui Li
Date: Mon Apr 17 2023 - 05:13:54 EST


Friendly ping~

On Tue, Apr 4, 2023 at 7:02 PM Xinghui Li <korantwork@xxxxxxxxx> wrote:
>
> 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