On Fri, Jan 23, 2026 at 01:15:04PM -0600, JAEHOON KIM wrote: > On 1/19/2026 12:16 PM, Stefan Hajnoczi wrote: > > On Tue, Jan 13, 2026 at 11:48:21AM -0600, Jaehoon Kim wrote: > > > We evaluated the patches on an s390x host with a single guest using 16 > > > virtio block devices backed by FCP multipath devices in a separate-disk > > > setup, with the I/O scheduler set to 'none' in both host and guest. > > > > > > The fio workload included sequential and random read/write with varying > > > numbers of jobs (1,4,8,16) and io_depth of 8. The tests were conducted > > > with single and dual iothreads, using the newly introduced poll-weight > > > parameter to measure their impact on CPU cost and throughput. > > > > > > Compared to the baseline, across four FIO workload patterns (sequential > > > R/W, random R/W), and averaged over FIO job counts of 1, 4, 8, and 16, > > > throughput decreased slightly (-3% to -8% for one iothread, -2% to -5% > > > for two iothreads), while CPU usage on the s390x host dropped > > > significantly (-10% to -25% and -7% to -12%, respectively). > > Hi Jaehoon, > > I would like to run the same fio benchmarks on a local NVMe drive (<10us > > request latency) to see how that type of hardware configuration is > > affected. Are the scripts and fio job files available somewhere? > > > > Thanks, > > Stefan > > Thank you for your reply. > The fio scripts are not available in a location you can access, but there is > nothing particularly special in the settings. > I’m sharing below the methodology and test setup used by our performance team. > > Guest Setup > ---------------------- > - 12 vCPUs, 4 GiB memory > - 16 virtio disks based on the FCP multipath devices in the host > > FIO test parameters > ----------------------- > - FIO Version: fio-3.33 > - Filesize: 2G > - Blocksize: 8K / 128K > - Direct I/O: 1 > - FIO I/O Engine: libaio > - NUMJOB List: 1, 4, 8, 16 > - IODEPTH: 8 > - Runtime (s): 150 > > Two FIO samples for random read > -------------------------------- > fio --direct=1 --name=test --numjobs=16 > --filename=base.0.0:base.1.0:base.2.0:base.3.0:base.4.0:base.5.0:base.6.0:base.7.0:base.8.0:base.9.0:base.10.0:base.11.0:base.12.0:base.13.0:base.14.0:base.15.0 > --size=32G --time_based --runtime=4m --readwrite=randread --ioengine=libaio > --iodepth=8 --bs=8k > fio --direct=1 --name=test --numjobs=4 > --filename=subw1/base.0.0:subw4/base.3.0:subw8/base.7.0:subw12/base.11.0:subw16/base.15.0 > > --size=8G --time_based --runtime=4m --readwrite=randread --ioengine=libaio > --iodepth=8 --bs=8k > > > additional notes > ---------------- > - Each file is placed on a separate disk device mounted under subw<n> as > specified in --filename=.... > - We execute one warmup run, then two measurement runs and calculate the > average
Thanks, I will share x86_64 with fast local NVMe results when I have collected them. Stefan
signature.asc
Description: PGP signature
