On 6/23/22 23:06, Christoph Hellwig wrote:
I don't think adding all the previous code just for null_blk is a good
idea. We need a real user of it first.
Hi Christoph,
Although these patches work fine in our tests with zoned UFS prototypes,
these patches have been tested with a UFSHCI 3.0 controller. While the
UFSHCI 4.0 standard supports multiple queues and while UFSHCI 4.0
controllers process each queue in order, with UFSHCI 3.0 controllers
submitting requests happens by writing into a 32-bit doorbell register,
just like for AHCI controllers. So although our UFS tests pass it cannot
be guaranteed for UFSHCI 3.0 controllers that requests are propagated to
the UFS device in the same order these have been submitted to the
controller.
I have not yet seen any UFSHCI 4.0 implementation. The upstream UFSHCI
driver does not yet support it either.
Hence the choice to add support to the null_blk driver for setting the
QUEUE_FLAG_PIPELINE_ZONED_WRITES flag.
Thanks,
Bart.