Re: hybrid polling on an nvme doesn't seem to work with iodepth > 1 on 5.10.0-rc5

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 2020-12-11 01:44:38 +0000, Pavel Begunkov wrote:
> In general the current hybrid polling doesn't work well with high QD,
> that's because statistics it based on are not very resilient to all sorts
> of problems. And it might be a problem I described long ago
> 
> https://www.spinics.net/lists/linux-block/msg61479.html
> https://lkml.org/lkml/2019/4/30/120

Interesting.


> Are you interested in it just out of curiosity, or you have a good
> use case? Modern SSDs are so fast that even with QD1 the sleep overhead
> on sleeping getting considerable, all the more so for higher QD.

It's a bit more than just idle curiosity, but not a strong need (yet). I
was experimenting with using it for postgres WAL writes. The CPU cost of
"classic" polling is high enough to make it not super attractive in a
lot of cases.  Often enough the QD is just 1 for data integrity writes
on fast drives, but there's also cases (bulk load particularly, or high
concurrency OLTP) where having multiple IOs in flight is important.


> Because if there is no one who really cares, then instead of adding
> elaborated correction schemes, I'd rather put max(time, 10ms) and
> that's it.

I wonder if it's doable to just switch from hybrid polling to classic
polling if there's more than one request in flight?

Greetings,

Andres Freund




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux