[PATCH 0/2] Block: Give option to force io polling

Stephen Bates stephen.bates at microsemi.com
Mon May 9 07:53:30 PDT 2016


> On Thu, May 05, 2016 at 07:44:29PM +0000, Stephen Bates wrote:
> > I am very interested in seeing this added. There are use cases involving
> super-low latency (non-NAND based) NVMe devices and they want the
> fastest possible IO response times for ALL IO to that device. They also have
> no desire to wait for the new system calls and glibc updates needed to tie
> their applications into polling or to rewrite their applications to avail of those
> new calls. I have done some testing on Jon's "big hammer" and it seems to
> work well for this use case and applied cleanly against v4.6-rc6.
> 
> Let's get the driver for those devices merged first, and if you can provide
> numbers that it's worth it we can add a tweak to always enable polling from
> the driver for those devices.

Christoph, this is a DRAM based NVMe device, the code for polling in NVMe was merged in 4.5 right? We are using the inbox NVMe driver. Here is some performance data:

QD=1, single thread, random 4KB reads

Polling Off: 12us Avg / 40us 99.99% ;
Polling On: 9.5us Avg / 25us 99.99%

Both the average and 99.99% reduction are of interest.

Cheers

Stephen



More information about the Linux-nvme mailing list