(+Martin, Damien) On 2/23/2023 7:35 AM, Sagi Grimberg wrote: > >>>>> I did not understand what is the relationship between aborts and CDL. >>>>> Sounds to me that this would tie in to something like Time Limited >>>>> Error >>>>> Recovery (TLER) and LR bit set based on ioprio? >>>>> >>>>> I am unclear where do aborts come into play here. >>>> >>>> CDL: Command Duration Limits >>>> >>>> One use case is reading from storage for audio visual output. >>>> An application only wants to wait so long (e.g. one or two frames >>>> on the video output) before it wants to forget about the current >>>> read (i.e. "abort" it) and move onto the next read. An alert viewer >>>> might notice a momentary freeze frame. >>>> >>>> The SCSI CDL mechanism uses the DL0, DL1 and DL2 bits in the >>>> READ(16,32) >>>> commands. CDL also depends on the CDLP and RWCDLP fields in the >>>> REPORT SUPPORTED OPERATION CODES command and one of the CDL >>>> mode pages. So there may be some additional "wiring" needed in the >>>> SCSI subsystem. >>> >>> I still don't understand where issuing aborts from userspace come into >>> play here... >> >> The only connection is that aborts are obsolete and unnecessary if >> you have a working CDL implementation. > > OK, that makes sense. Indeed I *think* that nvme can support CDL and if > this is useful for userspace then this is an interesting path to take. I do think that we should work on CDL for NVMe as it will solve some of the timeout related problems effectively than using aborts or any other mechanism. -ck