Message ID | 628d87042f902553d0f27028801f857393ae225b.1602074038.git.johannes.thumshirn@wdc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] block: soft limit zone-append sectors as well | expand |
On 10/7/20 6:35 AM, Johannes Thumshirn wrote: > Martin rightfully noted that for normal filesystem IO we have soft limits > in place, to prevent them from getting too big and not lead to > unpredictable latencies. For zone append we only have the hardware limit > in place. > > Cap the max sectors we submit via zone-append to the maximal number of > sectors if the second limit is lower. Applied, thanks.
On 07/10/2020 16:22, Jens Axboe wrote: > On 10/7/20 6:35 AM, Johannes Thumshirn wrote: >> Martin rightfully noted that for normal filesystem IO we have soft limits >> in place, to prevent them from getting too big and not lead to >> unpredictable latencies. For zone append we only have the hardware limit >> in place. >> >> Cap the max sectors we submit via zone-append to the maximal number of >> sectors if the second limit is lower. > > Applied, thanks. > Thanks :)
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index cf80e61b4c5e..ed52fbf1fa31 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -1406,7 +1406,10 @@ static inline unsigned int queue_max_segment_size(const struct request_queue *q) static inline unsigned int queue_max_zone_append_sectors(const struct request_queue *q) { - return q->limits.max_zone_append_sectors; + + const struct queue_limits *l = &q->limits; + + return min(l->max_zone_append_sectors, l->max_sectors); } static inline unsigned queue_logical_block_size(const struct request_queue *q)