On 1/17/23 16:25, Christoph Hellwig wrote: > On Thu, Jan 12, 2023 at 03:03:56PM +0100, Niklas Cassel wrote: >> From: Damien Le Moal <damien.lemoal@xxxxxxxxxxxxxxxxxx> >> >> Introduce the IOPRIO_CLASS_DL priority class to indicate that IOs should >> be executed using duration-limits targets. The duration target to apply >> to a command is indicated using the priority level. Up to 8 levels are >> supported, with level 0 indiating "no limit". >> >> This priority class has effect only if the target device supports the >> command duration limits feature and this feature is enabled by the user. >> In BFQ and mq-deadline, all requests with this new priority class are >> handled using the highest priority class RT and priority level 0. > > Hmm, does it make sense to force a high priority? Can't applications > use CDL to also fore a lower priority? They can, by using a large limit for "low priority" IOs. But then, these would still have a limit while any IO issued simultaneously without a CDL index specified would have no limit at all. So strictly speaking, the no limit IOs should be considered as even lower priority that CDL IOs with large limits. The other aspect here is that on ATA drives, CDL and NCQ priority cannot be used together. A mix of CDL and high priority commands cannot be sent to a device. Combining this with the above thinking, it made sense to me to have the CDL priority class handled the same as the RT class (as that is the one that maps to ATA NCQ high prio commands). -- Damien Le Moal Western Digital Research