On 3/28/24 13:54, Christoph Hellwig wrote: > On Thu, Mar 28, 2024 at 09:44:09AM +0900, Damien Le Moal wrote: >> With the block layer zone write plugging being automatically done for >> any write operation to a zone of a zoned block device, a regular request >> plugging handled through current->plug can only ever see at most a >> single write request per zone. In such case, any potential reordering >> of the plugged requests will be harmless. We can thus remove the special >> casing for write operations to zones and have these requests plugged as >> well. This allows removing the function blk_mq_plug and instead directly >> using current->plug where needed. > > This looks good in general: > > Reviewed-by: Christoph Hellwig <hch@xxxxxx> > > But IIRC we recently had a report that plus reorder I/Os, which would > be grave for the extent layout if we haven't fixed that yet, so we > should probably look into it first. That is indeed not great, but irrelevant for zone writes as the regular BIO plug is after the zone write plugging. So the regular BIO plug can only see at most one write request per zone. Even if that order changes, that will not result in unaligned write errors like before. But the reordering may still be bad for performance though, especially on HDD, so yes, we should definitely look into this. -- Damien Le Moal Western Digital Research