* [PATCH v3 0/4] block: simplify with PAGE_SECTORS_SHIFT
@ 2023-09-15 22:43 Luis Chamberlain
2023-09-15 22:43 ` [PATCH v3 1/4] drbd: use PAGE_SECTORS_SHIFT and PAGE_SECTORS Luis Chamberlain
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Luis Chamberlain @ 2023-09-15 22:43 UTC (permalink / raw)
To: axboe, agk, snitzer, philipp.reisner, lars.ellenberg,
christoph.boehmwalder, hch, djwong, minchan, senozhatsky
Cc: patches, linux-block, linux-mm, linux-xfs, linux-fsdevel,
dm-devel, drbd-dev, linux-kernel, willy, hare, p.raghav, da.gomez,
rohan.puri, rpuri.linux, kbusch, mcgrof
Just spinning these low hanging fruit patches I forgot about.
Changes on v3:
o Add tags for Reviews/acks
o rebase onto next-20230914
o Fixes as suggested by Johannes Thumshirn:
- drop not-needed parens on dm bufio
- use SECTOR_MASK instead of PAGE_SECTORS - 1 for the zram driver
o Drop shmem patches as they are already merged / modified
Changes on v2:
o keep iomap math visibly simple
o Add tags for Reviews/acks
o rebase onto next-20230525
Luis Chamberlain (4):
drbd: use PAGE_SECTORS_SHIFT and PAGE_SECTORS
iomap: simplify iomap_init() with PAGE_SECTORS
dm bufio: simplify by using PAGE_SECTORS_SHIFT
zram: use generic PAGE_SECTORS and PAGE_SECTORS_SHIFT
drivers/block/drbd/drbd_bitmap.c | 4 ++--
drivers/block/zram/zram_drv.c | 15 ++++++---------
drivers/block/zram/zram_drv.h | 2 --
drivers/md/dm-bufio.c | 4 ++--
fs/iomap/buffered-io.c | 2 +-
5 files changed, 11 insertions(+), 16 deletions(-)
--
2.39.2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 1/4] drbd: use PAGE_SECTORS_SHIFT and PAGE_SECTORS
2023-09-15 22:43 [PATCH v3 0/4] block: simplify with PAGE_SECTORS_SHIFT Luis Chamberlain
@ 2023-09-15 22:43 ` Luis Chamberlain
2023-09-15 22:43 ` [PATCH v3 2/4] iomap: simplify iomap_init() with PAGE_SECTORS Luis Chamberlain
` (2 subsequent siblings)
3 siblings, 0 replies; 8+ messages in thread
From: Luis Chamberlain @ 2023-09-15 22:43 UTC (permalink / raw)
To: axboe, agk, snitzer, philipp.reisner, lars.ellenberg,
christoph.boehmwalder, hch, djwong, minchan, senozhatsky
Cc: patches, linux-block, linux-mm, linux-xfs, linux-fsdevel,
dm-devel, drbd-dev, linux-kernel, willy, hare, p.raghav, da.gomez,
rohan.puri, rpuri.linux, kbusch, mcgrof, Johannes Thumshirn
Replace common constants with generic versions.
This produces no functional changes.
Acked-by: Christoph Böhmwalder <christoph.boehmwalder@linbit.com>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
drivers/block/drbd/drbd_bitmap.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/block/drbd/drbd_bitmap.c b/drivers/block/drbd/drbd_bitmap.c
index 85ca000a0564..1a1782f55e61 100644
--- a/drivers/block/drbd/drbd_bitmap.c
+++ b/drivers/block/drbd/drbd_bitmap.c
@@ -1000,7 +1000,7 @@ static void bm_page_io_async(struct drbd_bm_aio_ctx *ctx, int page_nr) __must_ho
unsigned int len;
first_bm_sect = device->ldev->md.md_offset + device->ldev->md.bm_offset;
- on_disk_sector = first_bm_sect + (((sector_t)page_nr) << (PAGE_SHIFT-SECTOR_SHIFT));
+ on_disk_sector = first_bm_sect + (((sector_t)page_nr) << PAGE_SECTORS_SHIFT);
/* this might happen with very small
* flexible external meta data device,
@@ -1008,7 +1008,7 @@ static void bm_page_io_async(struct drbd_bm_aio_ctx *ctx, int page_nr) __must_ho
last_bm_sect = drbd_md_last_bitmap_sector(device->ldev);
if (first_bm_sect <= on_disk_sector && last_bm_sect >= on_disk_sector) {
sector_t len_sect = last_bm_sect - on_disk_sector + 1;
- if (len_sect < PAGE_SIZE/SECTOR_SIZE)
+ if (len_sect < PAGE_SECTORS)
len = (unsigned int)len_sect*SECTOR_SIZE;
else
len = PAGE_SIZE;
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 2/4] iomap: simplify iomap_init() with PAGE_SECTORS
2023-09-15 22:43 [PATCH v3 0/4] block: simplify with PAGE_SECTORS_SHIFT Luis Chamberlain
2023-09-15 22:43 ` [PATCH v3 1/4] drbd: use PAGE_SECTORS_SHIFT and PAGE_SECTORS Luis Chamberlain
@ 2023-09-15 22:43 ` Luis Chamberlain
2023-09-18 5:53 ` Johannes Thumshirn
2023-09-15 22:43 ` [PATCH v3 3/4] dm bufio: simplify by using PAGE_SECTORS_SHIFT Luis Chamberlain
2023-09-15 22:43 ` [PATCH v3 4/4] zram: use generic PAGE_SECTORS and PAGE_SECTORS_SHIFT Luis Chamberlain
3 siblings, 1 reply; 8+ messages in thread
From: Luis Chamberlain @ 2023-09-15 22:43 UTC (permalink / raw)
To: axboe, agk, snitzer, philipp.reisner, lars.ellenberg,
christoph.boehmwalder, hch, djwong, minchan, senozhatsky
Cc: patches, linux-block, linux-mm, linux-xfs, linux-fsdevel,
dm-devel, drbd-dev, linux-kernel, willy, hare, p.raghav, da.gomez,
rohan.puri, rpuri.linux, kbusch, mcgrof, Christoph Hellwig
Replace common constants with generic versions. This produces no
functional changes.
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
fs/iomap/buffered-io.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c
index ae8673ce08b1..1a16c0e5d190 100644
--- a/fs/iomap/buffered-io.c
+++ b/fs/iomap/buffered-io.c
@@ -1985,7 +1985,7 @@ EXPORT_SYMBOL_GPL(iomap_writepages);
static int __init iomap_init(void)
{
- return bioset_init(&iomap_ioend_bioset, 4 * (PAGE_SIZE / SECTOR_SIZE),
+ return bioset_init(&iomap_ioend_bioset, 4 * PAGE_SECTORS,
offsetof(struct iomap_ioend, io_inline_bio),
BIOSET_NEED_BVECS);
}
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 3/4] dm bufio: simplify by using PAGE_SECTORS_SHIFT
2023-09-15 22:43 [PATCH v3 0/4] block: simplify with PAGE_SECTORS_SHIFT Luis Chamberlain
2023-09-15 22:43 ` [PATCH v3 1/4] drbd: use PAGE_SECTORS_SHIFT and PAGE_SECTORS Luis Chamberlain
2023-09-15 22:43 ` [PATCH v3 2/4] iomap: simplify iomap_init() with PAGE_SECTORS Luis Chamberlain
@ 2023-09-15 22:43 ` Luis Chamberlain
2023-09-18 5:54 ` Johannes Thumshirn
2023-09-15 22:43 ` [PATCH v3 4/4] zram: use generic PAGE_SECTORS and PAGE_SECTORS_SHIFT Luis Chamberlain
3 siblings, 1 reply; 8+ messages in thread
From: Luis Chamberlain @ 2023-09-15 22:43 UTC (permalink / raw)
To: axboe, agk, snitzer, philipp.reisner, lars.ellenberg,
christoph.boehmwalder, hch, djwong, minchan, senozhatsky
Cc: patches, linux-block, linux-mm, linux-xfs, linux-fsdevel,
dm-devel, drbd-dev, linux-kernel, willy, hare, p.raghav, da.gomez,
rohan.puri, rpuri.linux, kbusch, mcgrof
The PAGE_SHIFT - SECTOR_SHIFT constant be replaced with PAGE_SECTORS_SHIFT
defined in linux/blt_types.h, which is included by linux/blkdev.h.
This produces no functional changes.
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
drivers/md/dm-bufio.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/md/dm-bufio.c b/drivers/md/dm-bufio.c
index 62eb27639c9b..a5b48be93b30 100644
--- a/drivers/md/dm-bufio.c
+++ b/drivers/md/dm-bufio.c
@@ -1152,7 +1152,7 @@ static void *alloc_buffer_data(struct dm_bufio_client *c, gfp_t gfp_mask,
gfp_mask & __GFP_NORETRY) {
*data_mode = DATA_MODE_GET_FREE_PAGES;
return (void *)__get_free_pages(gfp_mask,
- c->sectors_per_block_bits - (PAGE_SHIFT - SECTOR_SHIFT));
+ c->sectors_per_block_bits - PAGE_SECTORS_SHIFT);
}
*data_mode = DATA_MODE_VMALLOC;
@@ -1173,7 +1173,7 @@ static void free_buffer_data(struct dm_bufio_client *c,
case DATA_MODE_GET_FREE_PAGES:
free_pages((unsigned long)data,
- c->sectors_per_block_bits - (PAGE_SHIFT - SECTOR_SHIFT));
+ c->sectors_per_block_bits - PAGE_SECTORS_SHIFT);
break;
case DATA_MODE_VMALLOC:
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 4/4] zram: use generic PAGE_SECTORS and PAGE_SECTORS_SHIFT
2023-09-15 22:43 [PATCH v3 0/4] block: simplify with PAGE_SECTORS_SHIFT Luis Chamberlain
` (2 preceding siblings ...)
2023-09-15 22:43 ` [PATCH v3 3/4] dm bufio: simplify by using PAGE_SECTORS_SHIFT Luis Chamberlain
@ 2023-09-15 22:43 ` Luis Chamberlain
2023-09-18 5:55 ` Johannes Thumshirn
3 siblings, 1 reply; 8+ messages in thread
From: Luis Chamberlain @ 2023-09-15 22:43 UTC (permalink / raw)
To: axboe, agk, snitzer, philipp.reisner, lars.ellenberg,
christoph.boehmwalder, hch, djwong, minchan, senozhatsky
Cc: patches, linux-block, linux-mm, linux-xfs, linux-fsdevel,
dm-devel, drbd-dev, linux-kernel, willy, hare, p.raghav, da.gomez,
rohan.puri, rpuri.linux, kbusch, mcgrof
Instead of re-defining the already existing constants use the provided ones:
So replace:
o SECTORS_PER_PAGE_SHIFT with PAGE_SECTORS_SHIFT
o SECTORS_PER_PAGE with PAGE_SECTORS
o SECTORS_PER_PAGE - 1 with SECTOR_MASK
This produces no functional changes.
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
drivers/block/zram/zram_drv.c | 15 ++++++---------
drivers/block/zram/zram_drv.h | 2 --
2 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c
index 06673c6ca255..58d36c8574d4 100644
--- a/drivers/block/zram/zram_drv.c
+++ b/drivers/block/zram/zram_drv.c
@@ -1834,9 +1834,8 @@ static ssize_t recompress_store(struct device *dev,
static void zram_bio_discard(struct zram *zram, struct bio *bio)
{
size_t n = bio->bi_iter.bi_size;
- u32 index = bio->bi_iter.bi_sector >> SECTORS_PER_PAGE_SHIFT;
- u32 offset = (bio->bi_iter.bi_sector & (SECTORS_PER_PAGE - 1)) <<
- SECTOR_SHIFT;
+ u32 index = bio->bi_iter.bi_sector >> PAGE_SECTORS_SHIFT;
+ u32 offset = (bio->bi_iter.bi_sector & SECTOR_MASK) << SECTOR_SHIFT;
/*
* zram manages data in physical block size units. Because logical block
@@ -1874,9 +1873,8 @@ static void zram_bio_read(struct zram *zram, struct bio *bio)
struct bvec_iter iter = bio->bi_iter;
do {
- u32 index = iter.bi_sector >> SECTORS_PER_PAGE_SHIFT;
- u32 offset = (iter.bi_sector & (SECTORS_PER_PAGE - 1)) <<
- SECTOR_SHIFT;
+ u32 index = iter.bi_sector >> PAGE_SECTORS_SHIFT;
+ u32 offset = (iter.bi_sector & SECTOR_MASK) << SECTOR_SHIFT;
struct bio_vec bv = bio_iter_iovec(bio, iter);
bv.bv_len = min_t(u32, bv.bv_len, PAGE_SIZE - offset);
@@ -1905,9 +1903,8 @@ static void zram_bio_write(struct zram *zram, struct bio *bio)
struct bvec_iter iter = bio->bi_iter;
do {
- u32 index = iter.bi_sector >> SECTORS_PER_PAGE_SHIFT;
- u32 offset = (iter.bi_sector & (SECTORS_PER_PAGE - 1)) <<
- SECTOR_SHIFT;
+ u32 index = iter.bi_sector >> PAGE_SECTORS_SHIFT;
+ u32 offset = (iter.bi_sector & SECTOR_MASK) << SECTOR_SHIFT;
struct bio_vec bv = bio_iter_iovec(bio, iter);
bv.bv_len = min_t(u32, bv.bv_len, PAGE_SIZE - offset);
diff --git a/drivers/block/zram/zram_drv.h b/drivers/block/zram/zram_drv.h
index ca7a15bd4845..9f2543af5c76 100644
--- a/drivers/block/zram/zram_drv.h
+++ b/drivers/block/zram/zram_drv.h
@@ -21,8 +21,6 @@
#include "zcomp.h"
-#define SECTORS_PER_PAGE_SHIFT (PAGE_SHIFT - SECTOR_SHIFT)
-#define SECTORS_PER_PAGE (1 << SECTORS_PER_PAGE_SHIFT)
#define ZRAM_LOGICAL_BLOCK_SHIFT 12
#define ZRAM_LOGICAL_BLOCK_SIZE (1 << ZRAM_LOGICAL_BLOCK_SHIFT)
#define ZRAM_SECTOR_PER_LOGICAL_BLOCK \
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v3 2/4] iomap: simplify iomap_init() with PAGE_SECTORS
2023-09-15 22:43 ` [PATCH v3 2/4] iomap: simplify iomap_init() with PAGE_SECTORS Luis Chamberlain
@ 2023-09-18 5:53 ` Johannes Thumshirn
0 siblings, 0 replies; 8+ messages in thread
From: Johannes Thumshirn @ 2023-09-18 5:53 UTC (permalink / raw)
To: Luis Chamberlain, axboe@kernel.dk, agk@redhat.com,
snitzer@kernel.org, philipp.reisner@linbit.com,
lars.ellenberg@linbit.com, christoph.boehmwalder@linbit.com,
hch@infradead.org, djwong@kernel.org, minchan@kernel.org,
senozhatsky@chromium.org
Cc: patches@lists.linux.dev, linux-block@vger.kernel.org,
linux-mm@kvack.org, linux-xfs@vger.kernel.org,
linux-fsdevel@vger.kernel.org, dm-devel@redhat.com,
drbd-dev@lists.linbit.com, linux-kernel@vger.kernel.org,
willy@infradead.org, hare@suse.de, p.raghav@samsung.com,
da.gomez@samsung.com, rohan.puri@samsung.com,
rpuri.linux@gmail.com, kbusch@kernel.org, Christoph Hellwig
Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 3/4] dm bufio: simplify by using PAGE_SECTORS_SHIFT
2023-09-15 22:43 ` [PATCH v3 3/4] dm bufio: simplify by using PAGE_SECTORS_SHIFT Luis Chamberlain
@ 2023-09-18 5:54 ` Johannes Thumshirn
0 siblings, 0 replies; 8+ messages in thread
From: Johannes Thumshirn @ 2023-09-18 5:54 UTC (permalink / raw)
To: Luis Chamberlain, axboe@kernel.dk, agk@redhat.com,
snitzer@kernel.org, philipp.reisner@linbit.com,
lars.ellenberg@linbit.com, christoph.boehmwalder@linbit.com,
hch@infradead.org, djwong@kernel.org, minchan@kernel.org,
senozhatsky@chromium.org
Cc: patches@lists.linux.dev, linux-block@vger.kernel.org,
linux-mm@kvack.org, linux-xfs@vger.kernel.org,
linux-fsdevel@vger.kernel.org, dm-devel@redhat.com,
drbd-dev@lists.linbit.com, linux-kernel@vger.kernel.org,
willy@infradead.org, hare@suse.de, p.raghav@samsung.com,
da.gomez@samsung.com, rohan.puri@samsung.com,
rpuri.linux@gmail.com, kbusch@kernel.org
Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 4/4] zram: use generic PAGE_SECTORS and PAGE_SECTORS_SHIFT
2023-09-15 22:43 ` [PATCH v3 4/4] zram: use generic PAGE_SECTORS and PAGE_SECTORS_SHIFT Luis Chamberlain
@ 2023-09-18 5:55 ` Johannes Thumshirn
0 siblings, 0 replies; 8+ messages in thread
From: Johannes Thumshirn @ 2023-09-18 5:55 UTC (permalink / raw)
To: Luis Chamberlain, axboe@kernel.dk, agk@redhat.com,
snitzer@kernel.org, philipp.reisner@linbit.com,
lars.ellenberg@linbit.com, christoph.boehmwalder@linbit.com,
hch@infradead.org, djwong@kernel.org, minchan@kernel.org,
senozhatsky@chromium.org
Cc: patches@lists.linux.dev, linux-block@vger.kernel.org,
linux-mm@kvack.org, linux-xfs@vger.kernel.org,
linux-fsdevel@vger.kernel.org, dm-devel@redhat.com,
drbd-dev@lists.linbit.com, linux-kernel@vger.kernel.org,
willy@infradead.org, hare@suse.de, p.raghav@samsung.com,
da.gomez@samsung.com, rohan.puri@samsung.com,
rpuri.linux@gmail.com, kbusch@kernel.org
Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-09-18 5:56 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-15 22:43 [PATCH v3 0/4] block: simplify with PAGE_SECTORS_SHIFT Luis Chamberlain
2023-09-15 22:43 ` [PATCH v3 1/4] drbd: use PAGE_SECTORS_SHIFT and PAGE_SECTORS Luis Chamberlain
2023-09-15 22:43 ` [PATCH v3 2/4] iomap: simplify iomap_init() with PAGE_SECTORS Luis Chamberlain
2023-09-18 5:53 ` Johannes Thumshirn
2023-09-15 22:43 ` [PATCH v3 3/4] dm bufio: simplify by using PAGE_SECTORS_SHIFT Luis Chamberlain
2023-09-18 5:54 ` Johannes Thumshirn
2023-09-15 22:43 ` [PATCH v3 4/4] zram: use generic PAGE_SECTORS and PAGE_SECTORS_SHIFT Luis Chamberlain
2023-09-18 5:55 ` Johannes Thumshirn
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).