On 2/9/2023 4:05 PM, Keith Busch wrote: > On Tue, Feb 07, 2023 at 01:32:20PM -0700, Patel, Nirmal wrote: >> On 2/6/2023 8:18 PM, Xinghui Li wrote: >>> Keith Busch <kbusch@xxxxxxxxxx> 于2023年2月7日周二 02:28写道: >>>> I suspect bypass is the better choice if "num_active_cpus() > pci_msix_vec_count(vmd->dev)". >>> For this situation, My speculation is that the PCIE nodes are >>> over-mounted and not just because of the CPU to Drive ratio. >>> We considered designing online nodes, because we were concerned that >>> the IO of different chunk sizes would adapt to different MSI-X modes. >>> I privately think that it may be logically complicated if programmatic >>> judgments are made. >> Also newer CPUs have more MSIx (128) which means we can still have >> better performance without bypass. It would be better if user have >> can chose module parameter based on their requirements. Thanks. > So what? More vectors just pushes the threshold to when bypass becomes > relevant, which is exactly why I suggested it. There has to be an empirical > answer to when bypass beats muxing. Why do you want a user tunable if there's a > verifiable and automated better choice? Make sense about the automated choice. I am not sure what is the exact tipping point. The commit message includes only two cases. one 1 drive 1 CPU and second 12 drives 6 CPU. Also performance gets worse from 8 drives to 12 drives. One the previous comments also mentioned something about FIO changing cpus_allowed; will there be an issue when VMD driver decides to bypass the remapping during the boot up, but FIO job changes the cpu_allowed?