linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/5] block: remove gfp_mask for blkdev_zone_mgmt()
@ 2024-01-29  7:52 Johannes Thumshirn
  2024-01-29  7:52 ` [PATCH v3 1/5] zonefs: pass GFP_KERNEL to blkdev_zone_mgmt() call Johannes Thumshirn
                   ` (7 more replies)
  0 siblings, 8 replies; 19+ messages in thread
From: Johannes Thumshirn @ 2024-01-29  7:52 UTC (permalink / raw)
  To: Damien Le Moal, Naohiro Aota, Johannes Thumshirn,
	Alasdair Kergon, Mike Snitzer, Mikulas Patocka, dm-devel,
	Chris Mason, Josef Bacik, David Sterba, Jaegeuk Kim, Chao Yu,
	Jens Axboe, Christoph Hellwig, Sagi Grimberg, Chaitanya Kulkarni
  Cc: linux-fsdevel, linux-kernel, linux-btrfs, linux-f2fs-devel,
	linux-block, linux-nvme, Johannes Thumshirn

Fueled by the LSFMM discussion on removing GFP_NOFS initiated by Willy,
I've looked into the sole GFP_NOFS allocation in zonefs. As it turned out,
it is only done for zone management commands and can be removed.

After digging into more callers of blkdev_zone_mgmt() I came to the
conclusion that the gfp_mask parameter can be removed alltogether.

So this series switches all callers of blkdev_zone_mgmt() to either use
GFP_KERNEL where possible or grab a memalloc_no{fs,io} context.

The final patch in this series is getting rid of the gfp_mask parameter.

Link: https://lore.kernel.org/all/ZZcgXI46AinlcBDP@casper.infradead.org/

---
Changes in v3:
- Fix build error after rebase in dm-zoned-metadata.c
- Link to v2: https://lore.kernel.org/r/20240125-zonefs_nofs-v2-0-2d975c8c1690@wdc.com

Changes in v2:
- guard blkdev_zone_mgmt in dm-zoned-metadata.c with memalloc_noio context
- Link to v1: https://lore.kernel.org/r/20240123-zonefs_nofs-v1-0-cc0b0308ef25@wdc.com

---
Johannes Thumshirn (5):
      zonefs: pass GFP_KERNEL to blkdev_zone_mgmt() call
      dm: dm-zoned: guard blkdev_zone_mgmt with noio scope
      btrfs: zoned: call blkdev_zone_mgmt in nofs scope
      f2fs: guard blkdev_zone_mgmt with nofs scope
      block: remove gfp_flags from blkdev_zone_mgmt

 block/blk-zoned.c              | 19 ++++++++-----------
 drivers/md/dm-zoned-metadata.c |  5 ++++-
 drivers/nvme/target/zns.c      |  5 ++---
 fs/btrfs/zoned.c               | 35 +++++++++++++++++++++++++----------
 fs/f2fs/segment.c              | 15 ++++++++++++---
 fs/zonefs/super.c              |  2 +-
 include/linux/blkdev.h         |  2 +-
 7 files changed, 53 insertions(+), 30 deletions(-)
---
base-commit: 615d300648869c774bd1fe54b4627bb0c20faed4
change-id: 20240110-zonefs_nofs-dd1e22b2e046

Best regards,
-- 
Johannes Thumshirn <johannes.thumshirn@wdc.com>


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2024-03-18 20:45 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-29  7:52 [PATCH v3 0/5] block: remove gfp_mask for blkdev_zone_mgmt() Johannes Thumshirn
2024-01-29  7:52 ` [PATCH v3 1/5] zonefs: pass GFP_KERNEL to blkdev_zone_mgmt() call Johannes Thumshirn
2024-01-29 23:25   ` Damien Le Moal
2024-02-09  7:44   ` Damien Le Moal
2024-01-29  7:52 ` [PATCH v3 2/5] dm: dm-zoned: guard blkdev_zone_mgmt with noio scope Johannes Thumshirn
2024-01-29 23:26   ` Damien Le Moal
2024-01-30 20:48   ` Mike Snitzer
2024-01-29  7:52 ` [PATCH v3 3/5] btrfs: zoned: call blkdev_zone_mgmt in nofs scope Johannes Thumshirn
2024-01-29 23:27   ` Damien Le Moal
2024-01-31  7:15   ` David Sterba
2024-01-29  7:52 ` [PATCH v3 4/5] f2fs: guard blkdev_zone_mgmt with " Johannes Thumshirn
2024-01-29 23:27   ` Damien Le Moal
2024-01-31  7:32   ` Chao Yu
2024-01-29  7:52 ` [PATCH v3 5/5] block: remove gfp_flags from blkdev_zone_mgmt Johannes Thumshirn
2024-01-29 23:29   ` Damien Le Moal
2024-01-30 20:49   ` Mike Snitzer
2024-02-12  8:00 ` [PATCH v3 0/5] block: remove gfp_mask for blkdev_zone_mgmt() Johannes Thumshirn
2024-02-12 15:41 ` Jens Axboe
2024-03-18 20:45 ` [f2fs-dev] " patchwork-bot+f2fs

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).