mbox series

[v8,0/4] Fix DM zone resource limits stacking

Message ID 20240611023639.89277-1-dlemoal@kernel.org (mailing list archive)
Headers show
Series Fix DM zone resource limits stacking | expand

Message

Damien Le Moal June 11, 2024, 2:36 a.m. UTC
This is the updated patch 4/4 of the series "Zone write plugging and DM
zone fixes". This patch fixes DM zone resource limits stacking (max open
zones and max active zones limits). Patch 1 is new and is added to help
catch problems and eventual regressions of the handling of these limits.

Changes from v7:
 - Moved v7 changes mistakenly added to patch 4 to patch 3 where they
   belong.

Changes from v6:
 - Modified patch 3 as suggested by Niklas (moved the increment of
   zlim->mapped_nr_seq_zones after handling zc.target_nr_seq_zones == 0)
 - Rebased on rc3
 - Added review tags
 
Changes from v5:
 - Corrected typo in comment in patch 2
 - Simplyfied patch 3 by removing the function dm_set_zone_resources()
   and integrating its code directly in dm_set_zone_restrictions().
 - Added review tags

Changes from v4:
 - Fixed a typo in a comment in patch 1
 - Added patch 2 and changed patch 3 accordingly
 - Added review tags

Changes from v3:
 - Modify patch 1 to always check the zone resource limits values in
   disk_update_zone_resources(), including for DM devices that do not
   use zone write plugging. Simplify patch 2 accordingly by removing the
   same check and adjustment of the zone resource limits.
 - Added patch 3

Changes from v2:
 - Modify patch 1 to return an error for the case where the max open
   zones limit is greater than the max active zones limit.
 - Modify patch 2 to avoid duplicated actions on the limits and to
   remove warnings for unusual zone limits.

Changes from v1:
 - Added patch 1
 - Modified patch 2 to not cap the limits for a target with the number
   of sequential zones mapped but rather to use the device limits as is
   when more zones than the limits are mapped and 0 otherwise (no
   limits).

Damien Le Moal (4):
  block: Improve checks on zone resource limits
  dm: Call dm_revalidate_zones() after setting the queue limits
  dm: Improve zone resource limits handling
  dm: Remove unused macro DM_ZONE_INVALID_WP_OFST

 block/blk-settings.c  |   8 ++
 block/blk-zoned.c     |  20 ++++-
 drivers/md/dm-table.c |  15 +++-
 drivers/md/dm-zone.c  | 205 ++++++++++++++++++++++++++++++++----------
 drivers/md/dm.h       |   1 +
 5 files changed, 195 insertions(+), 54 deletions(-)

Comments

Jens Axboe June 16, 2024, 2:43 a.m. UTC | #1
On Tue, 11 Jun 2024 11:36:35 +0900, Damien Le Moal wrote:
> This is the updated patch 4/4 of the series "Zone write plugging and DM
> zone fixes". This patch fixes DM zone resource limits stacking (max open
> zones and max active zones limits). Patch 1 is new and is added to help
> catch problems and eventual regressions of the handling of these limits.
> 
> Changes from v7:
>  - Moved v7 changes mistakenly added to patch 4 to patch 3 where they
>    belong.
> 
> [...]

Applied, thanks!

[1/4] block: Improve checks on zone resource limits
      commit: e21d12c7cd5cef8a6c5367f96aaab01249216ded
[2/4] dm: Call dm_revalidate_zones() after setting the queue limits
      commit: 7f91ccd8a608dbe39b97a6e43d635378d493f77e
[3/4] dm: Improve zone resource limits handling
      commit: 73a74af0c72b7cfd843cbd93e088fc5c51471a84
[4/4] dm: Remove unused macro DM_ZONE_INVALID_WP_OFST
      commit: eaa3706fedc6a4142c251b2d4005d850caeabe50

Best regards,