[RFCv2 3/3] block: Introduce S_HIPRI inode flag

Dan Williams dan.j.williams at intel.com
Sat May 14 07:22:29 PDT 2016


[ adding Martin, given his hint infrastructure that is in the works... ]


On Fri, May 13, 2016 at 5:02 PM, Jon Derrick <jonathan.derrick at intel.com> wrote:
> S_HIPRI is a hint that indicates the file (currently only block devices)
> is a high priority file. This hint allows direct-io to the block device
> to poll for completions if polling is available to the block device.
>
> The motivation for this patch comes from tiered caching solutions. A
> user may wish to have low-latency block devices act as a cache for
> higher-latency storage media.
>
> With the introduction of block polling, polling could be enabled on a
> queue of a block device. The preadv2/pwritev2 sets allowed a user to
> specify per-io polling, but removed the ability to poll per-queue.
>
> Instead of having a user modify their software to use preadv2/pwritev2,
> this patch allows a user to set S_HIPRI on a block device file to request
> all direct-io for this file to be polled.

Setting aside whether this should be a per-task ioprio hint vs a block
device inode hint, this single flag loses the granularity of whether
reads or writes are polled.  Low latency reads with posted writes
seems a valid configuration.



More information about the Linux-nvme mailing list