On 12/7/22 15:08, Jens Axboe wrote: > On 12/7/22 3:32?PM, Gulam Mohamed wrote: >> As per the review comment from Jens Axboe, I am re-sending this patch >> against "for-6.2/block". >> >> >> Use ktime to change the granularity of IO accounting in block layer from >> milli-seconds to nano-seconds to get the proper latency values for the >> devices whose latency is in micro-seconds. After changing the granularity >> to nano-seconds the iostat command, which was showing incorrect values for >> %util, is now showing correct values. >> >> We did not work on the patch to drop the logic for >> STAT_PRECISE_TIMESTAMPS yet. Will do it if this patch is ok. >> >> The iostat command was run after starting the fio with following command >> on an NVME disk. For the same fio command, the iostat %util was showing >> ~100% for the disks whose latencies are in the range of microseconds. >> With the kernel changes (granularity to nano-seconds), the %util was >> showing correct values. Following are the details of the test and their >> output: > > My default peak testing runs at 122M IOPS. That's also the peak IOPS of > the devices combined, and with iostats disabled. If I enabled iostats, > then the performance drops to 112M IOPS. It's no longer device limited, > that's a drop of about 8.2%. > Wow, clearly not acceptable that's exactly I asked for perf numbers :). -ck