Question on setting IO polling behavior and documentations

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

 



Hello maintainers,
I'm trying to explore and test IO polling behavior of block devices
in my system, NVMe drives to be specific. Upon trying, I noticed the
legacy /sys/block/<disk>/queue/io_poll no longer changes the polling
behavior of the device correctly.

I found out the change from
  a614dd228035 block: don't allow writing to the poll queue attribute
(https://lore.kernel.org/all/20211012111226.760968-16-hch@xxxxxx/)
The dmesg prompts user to use driver specific parameters, but for this
case, I can not find, either from code or documentation, parameter
from the nvme driver to set polling behavior for the drive similar to
the legacy io_poll sysfs interface.
I realized I can use flags from either io_uring or the nvme passthrough
commands to specify polling behavior. But are there still some configs
I can make to change the entire drive's IO to polling, so that legacy
applications not using io_uring can still have it?
Upon reading the entire patch set, it feels to me that since we are
changing the polling control to a per-bio flag, is drive-wide control
of polling behavior just straight-out impossible now?

Moreover, the block layer documentation at
  Documentation/ABI/stable/sysfs-block
still documents the legacy behavior of the io_poll sysfs file. This is
confusing for users trying to figure out reason of the failed or
unexpected behavior after writing to the file and seeing the dmesg,
particularly because there are many articles on the Internet describing
the legacy behavior.
If the maintainers agree, I can help update these documentations.

Thanks a lot for your kind help!

Teng Qin




[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