Re: [PATCH v8 01/41] block: add bio_add_zone_append_page

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

 



On 2020/10/02 22:39, Martin K. Petersen wrote:
> 
> Naohiro/Johannes,
> 
>> Add bio_add_zone_append_page(), a wrapper around bio_add_hw_page() which
>> is intended to be used by file systems that directly add pages to a bio
>> instead of using bio_iov_iter_get_pages().
> 
> Why use the hardware limit? For filesystem I/O we generally use the
> queue soft limit to prevent I/Os getting too big which can lead to very
> unpredictable latency in mixed workloads.

max_zone_append_sectors is already gated by max_hw_sectors, but it is not gated
by max_sectors/BLK_DEF_MAX_SECTORS. If we add such gating to
blk_queue_max_zone_append_sectors(), max_zone_append_sectors would become a soft
limit too. So should we have max_zone_append_sectors and
max_hw_zone_append_sectors ?

Which also means that we should tweak queue_max_sectors_store() to gate
max_zone_append_sectors to that limit upon a user change.

> 
> max_zone_append_sectors also appears to be gated exclusively by hardware
> constraints. Is there user-controllable limit in place for append
> operations?

No, none that I know of. At the HW level, max_zone_append_sectors is basically
max_hw_sectors. That is gated by the zone size in
blk_queue_max_zone_append_sectors(). If as mentioned above we tweak
queue_max_sectors_store() to change max_zone_append_sectors too if needed, we
would then have an indirect user-controllable limit. Or we could implement a
queue_zone_append_max_store() too I guess. Yet, having everything indirectly
controlled through queue_max_sectors_store() is probably simpler I think.

-- 
Damien Le Moal
Western Digital Research




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux