On 12/23/2022 2:02 AM, Xinghui Li wrote: > Keith Busch <kbusch@xxxxxxxxxx> 于2022年12月23日周五 05:56写道: >> >> With 12 drives and only 6 CPUs, the bypass mode is going to get more irq >> context switching. Sounds like the non-bypass mode is aggregating and >> spreading interrupts across the cores better, but there's probably some >> cpu:drive count tipping point where performance favors the other way. > > We found that tunning the interrupt aggregation can also bring the > drive performance back to normal. > >> The fio jobs could also probably set their cpus_allowed differently to >> get better performance in the bypass mode. > > We used the cpus_allowed in FIO to fix 12 dirves in 6 different CPU. > > By the way, sorry for emailing twice, the last one had the format problem. The bypass mode should help in the cases where drives irqs (eg nproc) exceed VMD I/O irqs. VMD I/O irqs for 28c0 should be min(63, nproc). You have very few cpus for a Skylake system with that many drives, unless you mean you are explicitly restricting the 12 drives to only 6 cpus. Either way, bypass mode is effectively VMD-disabled, which points to other issues. Though I have also seen much smaller interrupt aggregation benefits.