Re: [PATCH v2] dm-delay: Prevent zoned write reordering on suspend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Fri, 18 Apr 2025, Damien Le Moal wrote:

> > It seems that you want to send many small overlapping write bios - the 
> > question is why? Why can't the application accumulate the content and send 
> > it as one big bio?
> 
> That is the application problem. On HDDs at least, small IOs will hurt
> performance. SMR or not, same problem. Intellignet applications will try to
> shape their workload to optimize performance. But that point is irrelevant here.
> The kernel porvides a service: process write requests, regardless of how big
> these requests are, if they are correct (i.e. for zoned devices, they must be
> issued in order by the user), we must correctly execute the writes.
> 
> > I'm a bit worried that supporting this ordering will just bloat the kernel 
> > with marginal benefit.
> 
> Bloat ?

We would need three states instead of two: normal, suspended, resuming (so 
it would bloat all the device mapper logic with another state). There's 
dm_wq_work using submit_bio_noacct, which wouldn't work, as it would 
immediatelly enqueue the bio for suspend again, so we would need some 
other path to submit the bio.

dm_wq_work would have to transition the device from the "resuming" state 
to the "normal" state when it processes all the bios, but it is called for 
various other reasons too.

> everything is already in place to preserve the order of write operations
> to zoned devices, since a long time ago.

What if the controller doesn't preserve the order of writes? I think that 
there was some bit for that, but I forgot its name. So we can simply not 
set the bit for device mapper - and the applications will have to deal 
with it by using write plugging.

> What has not been covered are cases
> like suspend/resume which may, depending on what they do, break the ordering
> guarantees that we have for write requests. The only reason this has not been
> fixed is because I completely overlooked these cases as zoned block devices were
> in the past mostly used in enterprise systems where suspend/resume is not really
> used at all. But we have zoned UFS devices these days (smart phones), so
> properly supporting DM suspend/resume is important I think.

Do you mean zoned flash devices? I've never heard of them.

Mikulas





[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux