lkml.org 
[lkml]   [2022]   [Dec]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] PCI: vmd: Do not disable MSI-X remapping in VMD 28C0 controller
    Date
    From: Xinghui Li <korantli@tencent.com>

    Commit ee81ee84f873("PCI: vmd: Disable MSI-X remapping when possible")
    disable the vmd MSI-X remapping for optimizing pci performance.However,
    this feature severely negatively optimized performance in multi-disk
    situations.

    In FIO 4K random test, we test 1 disk in the 1 CPU

    when disable MSI-X remapping:
    read: IOPS=1183k, BW=4622MiB/s (4847MB/s)(1354GiB/300001msec)
    READ: bw=4622MiB/s (4847MB/s), 4622MiB/s-4622MiB/s (4847MB/s-4847MB/s),
    io=1354GiB (1454GB), run=300001-300001msec

    When not disable MSI-X remapping:
    read: IOPS=1171k, BW=4572MiB/s (4795MB/s)(1340GiB/300001msec)
    READ: bw=4572MiB/s (4795MB/s), 4572MiB/s-4572MiB/s (4795MB/s-4795MB/s),
    io=1340GiB (1438GB), run=300001-300001msec

    However, the bypass mode could increase the interrupts costs in CPU.
    We test 12 disks in the 6 CPU,

    When disable MSI-X remapping:
    read: IOPS=562k, BW=2197MiB/s (2304MB/s)(644GiB/300001msec)
    READ: bw=2197MiB/s (2304MB/s), 2197MiB/s-2197MiB/s (2304MB/s-2304MB/s),
    io=644GiB (691GB), run=300001-300001msec

    When not disable MSI-X remapping:
    read: IOPS=1144k, BW=4470MiB/s (4687MB/s)(1310GiB/300005msec)
    READ: bw=4470MiB/s (4687MB/s), 4470MiB/s-4470MiB/s (4687MB/s-4687MB/s),
    io=1310GiB (1406GB), run=300005-300005msec

    Signed-off-by: Xinghui Li <korantli@tencent.com>
    ---
    drivers/pci/controller/vmd.c | 3 +--
    1 file changed, 1 insertion(+), 2 deletions(-)

    diff --git a/drivers/pci/controller/vmd.c b/drivers/pci/controller/vmd.c
    index e06e9f4fc50f..9f6e9324d67d 100644
    --- a/drivers/pci/controller/vmd.c
    +++ b/drivers/pci/controller/vmd.c
    @@ -998,8 +998,7 @@ static const struct pci_device_id vmd_ids[] = {
    .driver_data = VMD_FEAT_HAS_MEMBAR_SHADOW_VSCAP,},
    {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_VMD_28C0),
    .driver_data = VMD_FEAT_HAS_MEMBAR_SHADOW |
    - VMD_FEAT_HAS_BUS_RESTRICTIONS |
    - VMD_FEAT_CAN_BYPASS_MSI_REMAP,},
    + VMD_FEAT_HAS_BUS_RESTRICTIONS,},
    {PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x467f),
    .driver_data = VMD_FEAT_HAS_MEMBAR_SHADOW_VSCAP |
    VMD_FEAT_HAS_BUS_RESTRICTIONS |
    --
    2.39.0
    \
     
     \ /
      Last update: 2023-03-26 23:17    [W:2.716 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site