* queue_limits fixups and tidyups
@ 2024-06-25 11:05 Christoph Hellwig
2024-06-25 11:05 ` [PATCH 1/7] md: set md-specific flags for all queue limits Christoph Hellwig
` (6 more replies)
0 siblings, 7 replies; 15+ messages in thread
From: Christoph Hellwig @ 2024-06-25 11:05 UTC (permalink / raw)
To: Jens Axboe
Cc: Damien Le Moal, Niklas Cassel, Song Liu, Yu Kuai,
Martin K. Petersen, Alim Akhtar, Avri Altman, Bart Van Assche,
linux-block, linux-ide, linux-raid, linux-scsi
Hi Jens,
this series has a few fixes for the queue_limits conversion in the first
few patches and then has a bunch more cleanups and improvements in that
area.
Diffstat:
block/bio-integrity.c | 2 +-
block/blk-map.c | 2 +-
block/blk-settings.c | 46 +++++++++++-----------------------------------
block/blk-sysfs.c | 3 ++-
block/blk.h | 2 ++
block/genhd.c | 2 +-
drivers/ata/libata-scsi.c | 3 +--
drivers/ata/pata_macio.c | 4 ++--
drivers/md/md.c | 13 ++++++++-----
drivers/md/md.h | 1 +
drivers/md/raid0.c | 2 +-
drivers/md/raid1.c | 2 +-
drivers/md/raid10.c | 2 +-
drivers/md/raid5.c | 2 +-
drivers/scsi/scsi_lib.c | 4 ++--
drivers/ufs/core/ufshcd.c | 9 +++++----
include/linux/blkdev.h | 17 ++++++++++-------
17 files changed, 51 insertions(+), 65 deletions(-)
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/7] md: set md-specific flags for all queue limits
2024-06-25 11:05 queue_limits fixups and tidyups Christoph Hellwig
@ 2024-06-25 11:05 ` Christoph Hellwig
2024-06-26 11:32 ` kernel test robot
2024-06-25 11:05 ` [PATCH 2/7] block: correctly report cache type Christoph Hellwig
` (5 subsequent siblings)
6 siblings, 1 reply; 15+ messages in thread
From: Christoph Hellwig @ 2024-06-25 11:05 UTC (permalink / raw)
To: Jens Axboe
Cc: Damien Le Moal, Niklas Cassel, Song Liu, Yu Kuai,
Martin K. Petersen, Alim Akhtar, Avri Altman, Bart Van Assche,
linux-block, linux-ide, linux-raid, linux-scsi, kernel test robot
The md driver wants to enforce a number of flags to an all devices, even
when not inheriting them from the underlying devices. To make sure these
flags survive the queue_limits_set calls that md uses to update the
queue limits without deriving them form the previous limits add a new
md_init_stacking_limits helper that calls blk_set_stacking_limits and sets
these flags.
Fixes: 1122c0c1cc71 ("block: move cache control settings out of queue->flags")
Reported-by: kernel test robot <oliver.sang@intel.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
drivers/md/md.c | 13 ++++++++-----
drivers/md/md.h | 1 +
drivers/md/raid0.c | 2 +-
drivers/md/raid1.c | 2 +-
drivers/md/raid10.c | 2 +-
drivers/md/raid5.c | 2 +-
6 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 69ea54aedd99a1..8368438e58e989 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -5853,6 +5853,13 @@ static void mddev_delayed_delete(struct work_struct *ws)
kobject_put(&mddev->kobj);
}
+void md_init_stacking_limits(struct queue_limits *lim)
+{
+ blk_set_stacking_limits(lim);
+ lim->features = BLK_FEAT_WRITE_CACHE | BLK_FEAT_FUA |
+ BLK_FEAT_IO_STAT | BLK_FEAT_NOWAIT;
+}
+
struct mddev *md_alloc(dev_t dev, char *name)
{
/*
@@ -5871,10 +5878,6 @@ struct mddev *md_alloc(dev_t dev, char *name)
int shift;
int unit;
int error;
- struct queue_limits lim = {
- .features = BLK_FEAT_WRITE_CACHE | BLK_FEAT_FUA |
- BLK_FEAT_IO_STAT | BLK_FEAT_NOWAIT,
- };
/*
* Wait for any previous instance of this device to be completely
@@ -5914,7 +5917,7 @@ struct mddev *md_alloc(dev_t dev, char *name)
*/
mddev->hold_active = UNTIL_STOP;
- disk = blk_alloc_disk(&lim, NUMA_NO_NODE);
+ disk = blk_alloc_disk(NULL, NUMA_NO_NODE);
if (IS_ERR(disk)) {
error = PTR_ERR(disk);
goto out_free_mddev;
diff --git a/drivers/md/md.h b/drivers/md/md.h
index c4d7ebf9587d07..28cb4b0b6c1740 100644
--- a/drivers/md/md.h
+++ b/drivers/md/md.h
@@ -893,6 +893,7 @@ extern int strict_strtoul_scaled(const char *cp, unsigned long *res, int scale);
extern int mddev_init(struct mddev *mddev);
extern void mddev_destroy(struct mddev *mddev);
+void md_init_stacking_limits(struct queue_limits *lim);
struct mddev *md_alloc(dev_t dev, char *name);
void mddev_put(struct mddev *mddev);
extern int md_run(struct mddev *mddev);
diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c
index 62634e2a33bd0f..32d58752477847 100644
--- a/drivers/md/raid0.c
+++ b/drivers/md/raid0.c
@@ -379,7 +379,7 @@ static int raid0_set_limits(struct mddev *mddev)
struct queue_limits lim;
int err;
- blk_set_stacking_limits(&lim);
+ md_init_stacking_limits(&lim);
lim.max_hw_sectors = mddev->chunk_sectors;
lim.max_write_zeroes_sectors = mddev->chunk_sectors;
lim.io_min = mddev->chunk_sectors << 9;
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index 1a0eba65b8a92b..04a0c2ca173245 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -3194,7 +3194,7 @@ static int raid1_set_limits(struct mddev *mddev)
struct queue_limits lim;
int err;
- blk_set_stacking_limits(&lim);
+ md_init_stacking_limits(&lim);
lim.max_write_zeroes_sectors = 0;
err = mddev_stack_rdev_limits(mddev, &lim, MDDEV_STACK_INTEGRITY);
if (err) {
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index 3334aa803c8380..2a9c4ee982e023 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -3974,7 +3974,7 @@ static int raid10_set_queue_limits(struct mddev *mddev)
struct queue_limits lim;
int err;
- blk_set_stacking_limits(&lim);
+ md_init_stacking_limits(&lim);
lim.max_write_zeroes_sectors = 0;
lim.io_min = mddev->chunk_sectors << 9;
lim.io_opt = lim.io_min * raid10_nr_stripes(conf);
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 0192a6323f09ba..10219205160bbf 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -7708,7 +7708,7 @@ static int raid5_set_limits(struct mddev *mddev)
*/
stripe = roundup_pow_of_two(data_disks * (mddev->chunk_sectors << 9));
- blk_set_stacking_limits(&lim);
+ md_init_stacking_limits(&lim);
lim.io_min = mddev->chunk_sectors << 9;
lim.io_opt = lim.io_min * (conf->raid_disks - conf->max_degraded);
lim.features |= BLK_FEAT_RAID_PARTIAL_STRIPES_EXPENSIVE;
--
2.43.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/7] block: correctly report cache type
2024-06-25 11:05 queue_limits fixups and tidyups Christoph Hellwig
2024-06-25 11:05 ` [PATCH 1/7] md: set md-specific flags for all queue limits Christoph Hellwig
@ 2024-06-25 11:05 ` Christoph Hellwig
2024-06-25 11:05 ` [PATCH 3/7] block: rename BLK_FLAG_MISALIGNED Christoph Hellwig
` (4 subsequent siblings)
6 siblings, 0 replies; 15+ messages in thread
From: Christoph Hellwig @ 2024-06-25 11:05 UTC (permalink / raw)
To: Jens Axboe
Cc: Damien Le Moal, Niklas Cassel, Song Liu, Yu Kuai,
Martin K. Petersen, Alim Akhtar, Avri Altman, Bart Van Assche,
linux-block, linux-ide, linux-raid, linux-scsi
Check the features flag and the override flag, otherwise we're going to
always report "write through".
Fixes: 1122c0c1cc71 ("block: move cache control settings out of queue->flags")
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
block/blk-sysfs.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c
index 1a984179f3acc5..6db65886e7ed5a 100644
--- a/block/blk-sysfs.c
+++ b/block/blk-sysfs.c
@@ -453,7 +453,8 @@ static ssize_t queue_io_timeout_store(struct request_queue *q, const char *page,
static ssize_t queue_wc_show(struct request_queue *q, char *page)
{
- if (q->limits.features & BLK_FLAG_WRITE_CACHE_DISABLED)
+ if (!(q->limits.features & BLK_FEAT_WRITE_CACHE) ||
+ (q->limits.flags & BLK_FLAG_WRITE_CACHE_DISABLED))
return sprintf(page, "write through\n");
return sprintf(page, "write back\n");
}
--
2.43.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 3/7] block: rename BLK_FLAG_MISALIGNED
2024-06-25 11:05 queue_limits fixups and tidyups Christoph Hellwig
2024-06-25 11:05 ` [PATCH 1/7] md: set md-specific flags for all queue limits Christoph Hellwig
2024-06-25 11:05 ` [PATCH 2/7] block: correctly report cache type Christoph Hellwig
@ 2024-06-25 11:05 ` Christoph Hellwig
2024-06-25 11:24 ` John Garry
2024-06-25 11:05 ` [PATCH 4/7] block: conding style fixup for blk_queue_max_guaranteed_bio Christoph Hellwig
` (3 subsequent siblings)
6 siblings, 1 reply; 15+ messages in thread
From: Christoph Hellwig @ 2024-06-25 11:05 UTC (permalink / raw)
To: Jens Axboe
Cc: Damien Le Moal, Niklas Cassel, Song Liu, Yu Kuai,
Martin K. Petersen, Alim Akhtar, Avri Altman, Bart Van Assche,
linux-block, linux-ide, linux-raid, linux-scsi
This is a flag for ->flags and not a feature for ->features.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
block/blk-settings.c | 18 +++++++++---------
include/linux/blkdev.h | 2 +-
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/block/blk-settings.c b/block/blk-settings.c
index ec7dbe93d5c324..2ae7f8579de3fd 100644
--- a/block/blk-settings.c
+++ b/block/blk-settings.c
@@ -351,7 +351,7 @@ static int blk_validate_limits(struct queue_limits *lim)
if (lim->alignment_offset) {
lim->alignment_offset &= (lim->physical_block_size - 1);
- lim->features &= ~BLK_FEAT_MISALIGNED;
+ lim->features &= ~BLK_FLAG_MISALIGNED;
}
if (!(lim->features & BLK_FEAT_WRITE_CACHE))
@@ -564,7 +564,7 @@ int blk_stack_limits(struct queue_limits *t, struct queue_limits *b,
if (!(b->features & BLK_FEAT_POLL))
t->features &= ~BLK_FEAT_POLL;
- t->flags |= (b->flags & BLK_FEAT_MISALIGNED);
+ t->flags |= (b->flags & BLK_FLAG_MISALIGNED);
t->max_sectors = min_not_zero(t->max_sectors, b->max_sectors);
t->max_user_sectors = min_not_zero(t->max_user_sectors,
@@ -603,7 +603,7 @@ int blk_stack_limits(struct queue_limits *t, struct queue_limits *b,
/* Verify that top and bottom intervals line up */
if (max(top, bottom) % min(top, bottom)) {
- t->flags |= BLK_FEAT_MISALIGNED;
+ t->flags |= BLK_FLAG_MISALIGNED;
ret = -1;
}
}
@@ -625,28 +625,28 @@ int blk_stack_limits(struct queue_limits *t, struct queue_limits *b,
/* Physical block size a multiple of the logical block size? */
if (t->physical_block_size & (t->logical_block_size - 1)) {
t->physical_block_size = t->logical_block_size;
- t->flags |= BLK_FEAT_MISALIGNED;
+ t->flags |= BLK_FLAG_MISALIGNED;
ret = -1;
}
/* Minimum I/O a multiple of the physical block size? */
if (t->io_min & (t->physical_block_size - 1)) {
t->io_min = t->physical_block_size;
- t->flags |= BLK_FEAT_MISALIGNED;
+ t->flags |= BLK_FLAG_MISALIGNED;
ret = -1;
}
/* Optimal I/O a multiple of the physical block size? */
if (t->io_opt & (t->physical_block_size - 1)) {
t->io_opt = 0;
- t->flags |= BLK_FEAT_MISALIGNED;
+ t->flags |= BLK_FLAG_MISALIGNED;
ret = -1;
}
/* chunk_sectors a multiple of the physical block size? */
if ((t->chunk_sectors << 9) & (t->physical_block_size - 1)) {
t->chunk_sectors = 0;
- t->flags |= BLK_FEAT_MISALIGNED;
+ t->flags |= BLK_FLAG_MISALIGNED;
ret = -1;
}
@@ -656,7 +656,7 @@ int blk_stack_limits(struct queue_limits *t, struct queue_limits *b,
/* Verify that new alignment_offset is on a logical block boundary */
if (t->alignment_offset & (t->logical_block_size - 1)) {
- t->flags |= BLK_FEAT_MISALIGNED;
+ t->flags |= BLK_FLAG_MISALIGNED;
ret = -1;
}
@@ -809,7 +809,7 @@ int bdev_alignment_offset(struct block_device *bdev)
{
struct request_queue *q = bdev_get_queue(bdev);
- if (q->limits.flags & BLK_FEAT_MISALIGNED)
+ if (q->limits.flags & BLK_FLAG_MISALIGNED)
return -1;
if (bdev_is_partition(bdev))
return queue_limit_alignment_offset(&q->limits,
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index b2f1362c46814f..1a7e9d9c16d78b 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -347,7 +347,7 @@ enum {
BLK_FLAG_WRITE_CACHE_DISABLED = (1u << 0),
/* I/O topology is misaligned */
- BLK_FEAT_MISALIGNED = (1u << 1),
+ BLK_FLAG_MISALIGNED = (1u << 1),
};
struct queue_limits {
--
2.43.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 4/7] block: conding style fixup for blk_queue_max_guaranteed_bio
2024-06-25 11:05 queue_limits fixups and tidyups Christoph Hellwig
` (2 preceding siblings ...)
2024-06-25 11:05 ` [PATCH 3/7] block: rename BLK_FLAG_MISALIGNED Christoph Hellwig
@ 2024-06-25 11:05 ` Christoph Hellwig
2024-06-25 11:26 ` John Garry
2024-06-25 11:05 ` [PATCH 5/7] block: remove disk_update_readahead Christoph Hellwig
` (2 subsequent siblings)
6 siblings, 1 reply; 15+ messages in thread
From: Christoph Hellwig @ 2024-06-25 11:05 UTC (permalink / raw)
To: Jens Axboe
Cc: Damien Le Moal, Niklas Cassel, Song Liu, Yu Kuai,
Martin K. Petersen, Alim Akhtar, Avri Altman, Bart Van Assche,
linux-block, linux-ide, linux-raid, linux-scsi
"static" never goes on a line of its own.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
block/blk-settings.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/block/blk-settings.c b/block/blk-settings.c
index 2ae7f8579de3fd..e38c522b3b6251 100644
--- a/block/blk-settings.c
+++ b/block/blk-settings.c
@@ -142,8 +142,7 @@ static int blk_validate_integrity_limits(struct queue_limits *lim)
* so we assume that we can fit in at least PAGE_SIZE in a segment, apart from
* the first and last segments.
*/
-static
-unsigned int blk_queue_max_guaranteed_bio(struct queue_limits *lim)
+static unsigned int blk_queue_max_guaranteed_bio(struct queue_limits *lim)
{
unsigned int max_segments = min(BIO_MAX_VECS, lim->max_segments);
unsigned int length;
--
2.43.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 5/7] block: remove disk_update_readahead
2024-06-25 11:05 queue_limits fixups and tidyups Christoph Hellwig
` (3 preceding siblings ...)
2024-06-25 11:05 ` [PATCH 4/7] block: conding style fixup for blk_queue_max_guaranteed_bio Christoph Hellwig
@ 2024-06-25 11:05 ` Christoph Hellwig
2024-06-25 11:05 ` [PATCH 6/7] block: remove the fallback case in queue_dma_alignment Christoph Hellwig
2024-06-25 11:05 ` [PATCH 7/7] block: move dma_pad_mask into queue_limits Christoph Hellwig
6 siblings, 0 replies; 15+ messages in thread
From: Christoph Hellwig @ 2024-06-25 11:05 UTC (permalink / raw)
To: Jens Axboe
Cc: Damien Le Moal, Niklas Cassel, Song Liu, Yu Kuai,
Martin K. Petersen, Alim Akhtar, Avri Altman, Bart Van Assche,
linux-block, linux-ide, linux-raid, linux-scsi
Mark blk_apply_bdi_limits non-static and open code disk_update_readahead
in the only caller.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
block/blk-settings.c | 8 +-------
block/blk.h | 2 ++
block/genhd.c | 2 +-
include/linux/blkdev.h | 1 -
4 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/block/blk-settings.c b/block/blk-settings.c
index e38c522b3b6251..5f1c22881cb9d8 100644
--- a/block/blk-settings.c
+++ b/block/blk-settings.c
@@ -55,7 +55,7 @@ void blk_set_stacking_limits(struct queue_limits *lim)
}
EXPORT_SYMBOL(blk_set_stacking_limits);
-static void blk_apply_bdi_limits(struct backing_dev_info *bdi,
+void blk_apply_bdi_limits(struct backing_dev_info *bdi,
struct queue_limits *lim)
{
/*
@@ -434,12 +434,6 @@ int queue_limits_set(struct request_queue *q, struct queue_limits *lim)
}
EXPORT_SYMBOL_GPL(queue_limits_set);
-void disk_update_readahead(struct gendisk *disk)
-{
- blk_apply_bdi_limits(disk->bdi, &disk->queue->limits);
-}
-EXPORT_SYMBOL_GPL(disk_update_readahead);
-
/**
* blk_limits_io_min - set minimum request size for a device
* @limits: the queue limits
diff --git a/block/blk.h b/block/blk.h
index d0a986d8ee507e..95e5a4f81693c4 100644
--- a/block/blk.h
+++ b/block/blk.h
@@ -358,6 +358,8 @@ bool blk_rq_merge_ok(struct request *rq, struct bio *bio);
enum elv_merge blk_try_merge(struct request *rq, struct bio *bio);
int blk_set_default_limits(struct queue_limits *lim);
+void blk_apply_bdi_limits(struct backing_dev_info *bdi,
+ struct queue_limits *lim);
int blk_dev_init(void);
/*
diff --git a/block/genhd.c b/block/genhd.c
index 8f1f3c6b4d6729..4dc95a46350532 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -524,7 +524,7 @@ int __must_check device_add_disk(struct device *parent, struct gendisk *disk,
disk->part0->bd_dev = MKDEV(disk->major, disk->first_minor);
}
- disk_update_readahead(disk);
+ blk_apply_bdi_limits(disk->bdi, &disk->queue->limits);
disk_add_events(disk);
set_bit(GD_ADDED, &disk->state);
return 0;
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 1a7e9d9c16d78b..e23fc418bb2260 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -972,7 +972,6 @@ static inline void blk_queue_disable_write_zeroes(struct request_queue *q)
/*
* Access functions for manipulating queue properties
*/
-void disk_update_readahead(struct gendisk *disk);
extern void blk_limits_io_min(struct queue_limits *limits, unsigned int min);
extern void blk_limits_io_opt(struct queue_limits *limits, unsigned int opt);
extern void blk_set_queue_depth(struct request_queue *q, unsigned int depth);
--
2.43.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 6/7] block: remove the fallback case in queue_dma_alignment
2024-06-25 11:05 queue_limits fixups and tidyups Christoph Hellwig
` (4 preceding siblings ...)
2024-06-25 11:05 ` [PATCH 5/7] block: remove disk_update_readahead Christoph Hellwig
@ 2024-06-25 11:05 ` Christoph Hellwig
2024-06-25 12:03 ` John Garry
2024-06-25 11:05 ` [PATCH 7/7] block: move dma_pad_mask into queue_limits Christoph Hellwig
6 siblings, 1 reply; 15+ messages in thread
From: Christoph Hellwig @ 2024-06-25 11:05 UTC (permalink / raw)
To: Jens Axboe
Cc: Damien Le Moal, Niklas Cassel, Song Liu, Yu Kuai,
Martin K. Petersen, Alim Akhtar, Avri Altman, Bart Van Assche,
linux-block, linux-ide, linux-raid, linux-scsi
Now that all updates go through blk_validate_limits the default of 511
is set at initialization time.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
include/linux/blkdev.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index e23fc418bb2260..d93fba7a1f3162 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -1393,7 +1393,7 @@ static inline bool bdev_is_zone_start(struct block_device *bdev,
static inline int queue_dma_alignment(const struct request_queue *q)
{
- return q ? q->limits.dma_alignment : 511;
+ return q->limits.dma_alignment;
}
static inline unsigned int
--
2.43.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 7/7] block: move dma_pad_mask into queue_limits
2024-06-25 11:05 queue_limits fixups and tidyups Christoph Hellwig
` (5 preceding siblings ...)
2024-06-25 11:05 ` [PATCH 6/7] block: remove the fallback case in queue_dma_alignment Christoph Hellwig
@ 2024-06-25 11:05 ` Christoph Hellwig
2024-06-26 4:44 ` kernel test robot
6 siblings, 1 reply; 15+ messages in thread
From: Christoph Hellwig @ 2024-06-25 11:05 UTC (permalink / raw)
To: Jens Axboe
Cc: Damien Le Moal, Niklas Cassel, Song Liu, Yu Kuai,
Martin K. Petersen, Alim Akhtar, Avri Altman, Bart Van Assche,
linux-block, linux-ide, linux-raid, linux-scsi
dma_pad_mask is a queue_limits by all ways of looking at it, so move it
there and set it through the atomic queue limits APIs.
Add a little helper that takes the alignment and pad into account to
simply the code that is touched a bit.
Note that there never was any need for the > check in
blk_queue_update_dma_pad, this probably was just copy and paste from
dma_update_dma_alignment.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
block/bio-integrity.c | 2 +-
block/blk-map.c | 2 +-
block/blk-settings.c | 17 -----------------
drivers/ata/libata-scsi.c | 3 +--
drivers/ata/pata_macio.c | 4 ++--
drivers/scsi/scsi_lib.c | 4 ++--
drivers/ufs/core/ufshcd.c | 9 +++++----
include/linux/blkdev.h | 12 ++++++++----
8 files changed, 20 insertions(+), 33 deletions(-)
diff --git a/block/bio-integrity.c b/block/bio-integrity.c
index 173ffd4d623788..356ca0d3d62f5a 100644
--- a/block/bio-integrity.c
+++ b/block/bio-integrity.c
@@ -312,7 +312,7 @@ int bio_integrity_map_user(struct bio *bio, void __user *ubuf, ssize_t bytes,
u32 seed)
{
struct request_queue *q = bdev_get_queue(bio->bi_bdev);
- unsigned int align = q->dma_pad_mask | queue_dma_alignment(q);
+ unsigned int align = blk_lim_dma_alignment_and_pad(&q->limits);
struct page *stack_pages[UIO_FASTIOV], **pages = stack_pages;
struct bio_vec stack_vec[UIO_FASTIOV], *bvec = stack_vec;
unsigned int direction, nr_bvecs;
diff --git a/block/blk-map.c b/block/blk-map.c
index 71210cdb34426d..bce144091128f6 100644
--- a/block/blk-map.c
+++ b/block/blk-map.c
@@ -634,7 +634,7 @@ int blk_rq_map_user_iov(struct request_queue *q, struct request *rq,
const struct iov_iter *iter, gfp_t gfp_mask)
{
bool copy = false, map_bvec = false;
- unsigned long align = q->dma_pad_mask | queue_dma_alignment(q);
+ unsigned long align = blk_lim_dma_alignment_and_pad(&q->limits);
struct bio *bio = NULL;
struct iov_iter i;
int ret = -EINVAL;
diff --git a/block/blk-settings.c b/block/blk-settings.c
index 5f1c22881cb9d8..256b1ff3ad432a 100644
--- a/block/blk-settings.c
+++ b/block/blk-settings.c
@@ -768,23 +768,6 @@ bool queue_limits_stack_integrity(struct queue_limits *t,
}
EXPORT_SYMBOL_GPL(queue_limits_stack_integrity);
-/**
- * blk_queue_update_dma_pad - update pad mask
- * @q: the request queue for the device
- * @mask: pad mask
- *
- * Update dma pad mask.
- *
- * Appending pad buffer to a request modifies the last entry of a
- * scatter list such that it includes the pad buffer.
- **/
-void blk_queue_update_dma_pad(struct request_queue *q, unsigned int mask)
-{
- if (mask > q->dma_pad_mask)
- q->dma_pad_mask = mask;
-}
-EXPORT_SYMBOL(blk_queue_update_dma_pad);
-
/**
* blk_set_queue_depth - tell the block layer about the device queue depth
* @q: the request queue for the device
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index cdf29b178ddc1e..682971c4cbe418 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -1024,7 +1024,6 @@ EXPORT_SYMBOL_GPL(ata_scsi_dma_need_drain);
int ata_scsi_dev_config(struct scsi_device *sdev, struct queue_limits *lim,
struct ata_device *dev)
{
- struct request_queue *q = sdev->request_queue;
int depth = 1;
if (!ata_id_has_unload(dev->id))
@@ -1038,7 +1037,7 @@ int ata_scsi_dev_config(struct scsi_device *sdev, struct queue_limits *lim,
sdev->sector_size = ATA_SECT_SIZE;
/* set DMA padding */
- blk_queue_update_dma_pad(q, ATA_DMA_PAD_SZ - 1);
+ lim->dma_pad_mask = ATA_DMA_PAD_SZ - 1;
/* make room for appending the drain */
lim->max_segments--;
diff --git a/drivers/ata/pata_macio.c b/drivers/ata/pata_macio.c
index 3cb455a32d9266..1b85e8bf4ef91b 100644
--- a/drivers/ata/pata_macio.c
+++ b/drivers/ata/pata_macio.c
@@ -816,7 +816,7 @@ static int pata_macio_device_configure(struct scsi_device *sdev,
/* OHare has issues with non cache aligned DMA on some chipsets */
if (priv->kind == controller_ohare) {
lim->dma_alignment = 31;
- blk_queue_update_dma_pad(sdev->request_queue, 31);
+ lim->dma_pad_mask = 31;
/* Tell the world about it */
ata_dev_info(dev, "OHare alignment limits applied\n");
@@ -831,7 +831,7 @@ static int pata_macio_device_configure(struct scsi_device *sdev,
if (priv->kind == controller_sh_ata6 || priv->kind == controller_k2_ata6) {
/* Allright these are bad, apply restrictions */
lim->dma_alignment = 15;
- blk_queue_update_dma_pad(sdev->request_queue, 15);
+ lim->dma_pad_mask = 15;
/* We enable MWI and hack cache line size directly here, this
* is specific to this chipset and not normal values, we happen
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index e2f7bfb2b9e450..3958a6d14bf457 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -1139,9 +1139,9 @@ blk_status_t scsi_alloc_sgtables(struct scsi_cmnd *cmd)
*/
count = __blk_rq_map_sg(rq->q, rq, cmd->sdb.table.sgl, &last_sg);
- if (blk_rq_bytes(rq) & rq->q->dma_pad_mask) {
+ if (blk_rq_bytes(rq) & rq->q->limits.dma_pad_mask) {
unsigned int pad_len =
- (rq->q->dma_pad_mask & ~blk_rq_bytes(rq)) + 1;
+ (rq->q->limits.dma_pad_mask & ~blk_rq_bytes(rq)) + 1;
last_sg->length += pad_len;
cmd->extra_len += pad_len;
diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
index 0cf07194bbe89d..62d20eef13537d 100644
--- a/drivers/ufs/core/ufshcd.c
+++ b/drivers/ufs/core/ufshcd.c
@@ -5193,17 +5193,18 @@ static int ufshcd_change_queue_depth(struct scsi_device *sdev, int depth)
}
/**
- * ufshcd_slave_configure - adjust SCSI device configurations
+ * ufshcd_device_configure - adjust SCSI device configurations
* @sdev: pointer to SCSI device
*
* Return: 0 (success).
*/
-static int ufshcd_slave_configure(struct scsi_device *sdev)
+static int ufshcd_device_configure(struct scsi_device *sdev,
+ struct queue_limits *lim)
{
struct ufs_hba *hba = shost_priv(sdev->host);
struct request_queue *q = sdev->request_queue;
- blk_queue_update_dma_pad(q, PRDT_DATA_BYTE_COUNT_PAD - 1);
+ lim->dma_pad_mask = PRDT_DATA_BYTE_COUNT_PAD - 1;
/*
* Block runtime-pm until all consumers are added.
@@ -8907,7 +8908,7 @@ static const struct scsi_host_template ufshcd_driver_template = {
.queuecommand = ufshcd_queuecommand,
.mq_poll = ufshcd_poll,
.slave_alloc = ufshcd_slave_alloc,
- .slave_configure = ufshcd_slave_configure,
+ .device_configure = ufshcd_device_configure,
.slave_destroy = ufshcd_slave_destroy,
.change_queue_depth = ufshcd_change_queue_depth,
.eh_abort_handler = ufshcd_abort,
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index d93fba7a1f3162..4be5b9d9773190 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -400,6 +400,7 @@ struct queue_limits {
* due to possible offsets.
*/
unsigned int dma_alignment;
+ unsigned int dma_pad_mask;
struct blk_integrity integrity;
};
@@ -508,8 +509,6 @@ struct request_queue {
*/
int id;
- unsigned int dma_pad_mask;
-
/*
* queue settings
*/
@@ -980,7 +979,6 @@ extern int blk_stack_limits(struct queue_limits *t, struct queue_limits *b,
sector_t offset);
void queue_limits_stack_bdev(struct queue_limits *t, struct block_device *bdev,
sector_t offset, const char *pfx);
-extern void blk_queue_update_dma_pad(struct request_queue *, unsigned int);
extern void blk_queue_rq_timeout(struct request_queue *, unsigned int);
struct blk_independent_access_ranges *
@@ -1432,10 +1430,16 @@ static inline bool bdev_iter_is_aligned(struct block_device *bdev,
bdev_logical_block_size(bdev) - 1);
}
+static inline int blk_lim_dma_alignment_and_pad(struct queue_limits *lim)
+{
+ return lim->dma_alignment | lim->dma_pad_mask;
+}
+
static inline int blk_rq_aligned(struct request_queue *q, unsigned long addr,
unsigned int len)
{
- unsigned int alignment = queue_dma_alignment(q) | q->dma_pad_mask;
+ unsigned int alignment = blk_lim_dma_alignment_and_pad(&q->limits);
+
return !(addr & alignment) && !(len & alignment);
}
--
2.43.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 3/7] block: rename BLK_FLAG_MISALIGNED
2024-06-25 11:05 ` [PATCH 3/7] block: rename BLK_FLAG_MISALIGNED Christoph Hellwig
@ 2024-06-25 11:24 ` John Garry
2024-06-25 14:34 ` Christoph Hellwig
0 siblings, 1 reply; 15+ messages in thread
From: John Garry @ 2024-06-25 11:24 UTC (permalink / raw)
To: Christoph Hellwig, Jens Axboe
Cc: Damien Le Moal, Niklas Cassel, Song Liu, Yu Kuai,
Martin K. Petersen, Alim Akhtar, Avri Altman, Bart Van Assche,
linux-block, linux-ide, linux-raid, linux-scsi
On 25/06/2024 12:05, Christoph Hellwig wrote:
> @@ -351,7 +351,7 @@ static int blk_validate_limits(struct queue_limits *lim)
>
> if (lim->alignment_offset) {
> lim->alignment_offset &= (lim->physical_block_size - 1);
> - lim->features &= ~BLK_FEAT_MISALIGNED;
> + lim->features &= ~BLK_FLAG_MISALIGNED;
The comment for enum which BLK_FLAG_MISALIGNED is a member of reads
"internal flags for queue_limits.flags", so it might help to comment why
we clear in lim->features (if correct to do so).
> }
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 4/7] block: conding style fixup for blk_queue_max_guaranteed_bio
2024-06-25 11:05 ` [PATCH 4/7] block: conding style fixup for blk_queue_max_guaranteed_bio Christoph Hellwig
@ 2024-06-25 11:26 ` John Garry
0 siblings, 0 replies; 15+ messages in thread
From: John Garry @ 2024-06-25 11:26 UTC (permalink / raw)
To: Christoph Hellwig, Jens Axboe
Cc: Damien Le Moal, Niklas Cassel, Song Liu, Yu Kuai,
Martin K. Petersen, Alim Akhtar, Avri Altman, Bart Van Assche,
linux-block, linux-ide, linux-raid, linux-scsi
On 25/06/2024 12:05, Christoph Hellwig wrote:
> "static" never goes on a line of its own.
>
> Signed-off-by: Christoph Hellwig<hch@lst.de>
Reviewed-by: John Garry <john.g.garry@oracle.com>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 6/7] block: remove the fallback case in queue_dma_alignment
2024-06-25 11:05 ` [PATCH 6/7] block: remove the fallback case in queue_dma_alignment Christoph Hellwig
@ 2024-06-25 12:03 ` John Garry
2024-06-25 14:34 ` Christoph Hellwig
0 siblings, 1 reply; 15+ messages in thread
From: John Garry @ 2024-06-25 12:03 UTC (permalink / raw)
To: Christoph Hellwig, Jens Axboe
Cc: Damien Le Moal, Niklas Cassel, Song Liu, Yu Kuai,
Martin K. Petersen, Alim Akhtar, Avri Altman, Bart Van Assche,
linux-block, linux-ide, linux-raid, linux-scsi
On 25/06/2024 12:05, Christoph Hellwig wrote:
> Now that all updates go through blk_validate_limits the default of 511
> is set at initialization time.
The code handles q == NULL case, so is q == NULL now impossible?
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
> include/linux/blkdev.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
> index e23fc418bb2260..d93fba7a1f3162 100644
> --- a/include/linux/blkdev.h
> +++ b/include/linux/blkdev.h
> @@ -1393,7 +1393,7 @@ static inline bool bdev_is_zone_start(struct block_device *bdev,
>
> static inline int queue_dma_alignment(const struct request_queue *q)
> {
> - return q ? q->limits.dma_alignment : 511;
> + return q->limits.dma_alignment;
> }
>
> static inline unsigned int
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 3/7] block: rename BLK_FLAG_MISALIGNED
2024-06-25 11:24 ` John Garry
@ 2024-06-25 14:34 ` Christoph Hellwig
0 siblings, 0 replies; 15+ messages in thread
From: Christoph Hellwig @ 2024-06-25 14:34 UTC (permalink / raw)
To: John Garry
Cc: Jens Axboe, Damien Le Moal, Niklas Cassel, Song Liu, Yu Kuai,
Martin K. Petersen, Alim Akhtar, Avri Altman, Bart Van Assche,
linux-block, linux-ide, linux-raid, linux-scsi
On Tue, Jun 25, 2024 at 12:24:07PM +0100, John Garry wrote:
> On 25/06/2024 12:05, Christoph Hellwig wrote:
> > @@ -351,7 +351,7 @@ static int blk_validate_limits(struct queue_limits *lim)
> > if (lim->alignment_offset) {
> > lim->alignment_offset &= (lim->physical_block_size - 1);
> > - lim->features &= ~BLK_FEAT_MISALIGNED;
> > + lim->features &= ~BLK_FLAG_MISALIGNED;
>
> The comment for enum which BLK_FLAG_MISALIGNED is a member of reads
> "internal flags for queue_limits.flags", so it might help to comment why we
> clear in lim->features (if correct to do so).
Or fix that as well. And probably move to a __bitwise type to make
sparse catch this.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 6/7] block: remove the fallback case in queue_dma_alignment
2024-06-25 12:03 ` John Garry
@ 2024-06-25 14:34 ` Christoph Hellwig
0 siblings, 0 replies; 15+ messages in thread
From: Christoph Hellwig @ 2024-06-25 14:34 UTC (permalink / raw)
To: John Garry
Cc: Christoph Hellwig, Jens Axboe, Damien Le Moal, Niklas Cassel,
Song Liu, Yu Kuai, Martin K. Petersen, Alim Akhtar, Avri Altman,
Bart Van Assche, linux-block, linux-ide, linux-raid, linux-scsi
On Tue, Jun 25, 2024 at 01:03:19PM +0100, John Garry wrote:
> On 25/06/2024 12:05, Christoph Hellwig wrote:
> > Now that all updates go through blk_validate_limits the default of 511
> > is set at initialization time.
>
> The code handles q == NULL case, so is q == NULL now impossible?
No caller ever passed a NULL q in. But yes, this could use a sentence
in the commit log.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 7/7] block: move dma_pad_mask into queue_limits
2024-06-25 11:05 ` [PATCH 7/7] block: move dma_pad_mask into queue_limits Christoph Hellwig
@ 2024-06-26 4:44 ` kernel test robot
0 siblings, 0 replies; 15+ messages in thread
From: kernel test robot @ 2024-06-26 4:44 UTC (permalink / raw)
To: Christoph Hellwig, Jens Axboe
Cc: oe-kbuild-all, Damien Le Moal, Niklas Cassel, Song Liu, Yu Kuai,
Martin K. Petersen, Alim Akhtar, Avri Altman, Bart Van Assche,
linux-block, linux-ide, linux-raid, linux-scsi
Hi Christoph,
kernel test robot noticed the following build warnings:
[auto build test WARNING on axboe-block/for-next]
[also build test WARNING on next-20240625]
[cannot apply to linus/master v6.10-rc5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Christoph-Hellwig/block-correctly-report-cache-type/20240626-012117
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
patch link: https://lore.kernel.org/r/20240625110603.50885-8-hch%40lst.de
patch subject: [PATCH 7/7] block: move dma_pad_mask into queue_limits
config: i386-buildonly-randconfig-002-20240626 (https://download.01.org/0day-ci/archive/20240626/202406261229.rnOxqhqJ-lkp@intel.com/config)
compiler: gcc-8 (Ubuntu 8.4.0-3ubuntu2) 8.4.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240626/202406261229.rnOxqhqJ-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406261229.rnOxqhqJ-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/ufs/core/ufshcd.c:5203: warning: Function parameter or struct member 'lim' not described in 'ufshcd_device_configure'
vim +5203 drivers/ufs/core/ufshcd.c
4264fd613a6a4b drivers/scsi/ufs/ufshcd.c Sujit Reddy Thumma 2014-06-29 5194
eeda47499f0187 drivers/scsi/ufs/ufshcd.c Akinobu Mita 2014-07-01 5195 /**
95ea953ed86260 drivers/ufs/core/ufshcd.c Christoph Hellwig 2024-06-25 5196 * ufshcd_device_configure - adjust SCSI device configurations
eeda47499f0187 drivers/scsi/ufs/ufshcd.c Akinobu Mita 2014-07-01 5197 * @sdev: pointer to SCSI device
fd4bffb54dc0f6 drivers/ufs/core/ufshcd.c Bart Van Assche 2023-07-27 5198 *
fd4bffb54dc0f6 drivers/ufs/core/ufshcd.c Bart Van Assche 2023-07-27 5199 * Return: 0 (success).
eeda47499f0187 drivers/scsi/ufs/ufshcd.c Akinobu Mita 2014-07-01 5200 */
95ea953ed86260 drivers/ufs/core/ufshcd.c Christoph Hellwig 2024-06-25 5201 static int ufshcd_device_configure(struct scsi_device *sdev,
95ea953ed86260 drivers/ufs/core/ufshcd.c Christoph Hellwig 2024-06-25 5202 struct queue_limits *lim)
eeda47499f0187 drivers/scsi/ufs/ufshcd.c Akinobu Mita 2014-07-01 @5203 {
49615ba144a092 drivers/scsi/ufs/ufshcd.c Stanley Chu 2019-09-16 5204 struct ufs_hba *hba = shost_priv(sdev->host);
eeda47499f0187 drivers/scsi/ufs/ufshcd.c Akinobu Mita 2014-07-01 5205 struct request_queue *q = sdev->request_queue;
eeda47499f0187 drivers/scsi/ufs/ufshcd.c Akinobu Mita 2014-07-01 5206
95ea953ed86260 drivers/ufs/core/ufshcd.c Christoph Hellwig 2024-06-25 5207 lim->dma_pad_mask = PRDT_DATA_BYTE_COUNT_PAD - 1;
858231bdb22391 drivers/ufs/core/ufshcd.c Bart Van Assche 2023-09-21 5208
b294ff3e34490f drivers/scsi/ufs/ufshcd.c Asutosh Das 2021-04-23 5209 /*
b294ff3e34490f drivers/scsi/ufs/ufshcd.c Asutosh Das 2021-04-23 5210 * Block runtime-pm until all consumers are added.
b294ff3e34490f drivers/scsi/ufs/ufshcd.c Asutosh Das 2021-04-23 5211 * Refer ufshcd_setup_links().
b294ff3e34490f drivers/scsi/ufs/ufshcd.c Asutosh Das 2021-04-23 5212 */
b294ff3e34490f drivers/scsi/ufs/ufshcd.c Asutosh Das 2021-04-23 5213 if (is_device_wlun(sdev))
b294ff3e34490f drivers/scsi/ufs/ufshcd.c Asutosh Das 2021-04-23 5214 pm_runtime_get_noresume(&sdev->sdev_gendev);
b294ff3e34490f drivers/scsi/ufs/ufshcd.c Asutosh Das 2021-04-23 5215 else if (ufshcd_is_rpm_autosuspend_allowed(hba))
49615ba144a092 drivers/scsi/ufs/ufshcd.c Stanley Chu 2019-09-16 5216 sdev->rpm_autosuspend = 1;
71bb9ab6e3511b drivers/scsi/ufs/ufshcd.c Adrian Hunter 2022-02-28 5217 /*
71bb9ab6e3511b drivers/scsi/ufs/ufshcd.c Adrian Hunter 2022-02-28 5218 * Do not print messages during runtime PM to avoid never-ending cycles
71bb9ab6e3511b drivers/scsi/ufs/ufshcd.c Adrian Hunter 2022-02-28 5219 * of messages written back to storage by user space causing runtime
71bb9ab6e3511b drivers/scsi/ufs/ufshcd.c Adrian Hunter 2022-02-28 5220 * resume, causing more messages and so on.
71bb9ab6e3511b drivers/scsi/ufs/ufshcd.c Adrian Hunter 2022-02-28 5221 */
71bb9ab6e3511b drivers/scsi/ufs/ufshcd.c Adrian Hunter 2022-02-28 5222 sdev->silence_suspend = 1;
49615ba144a092 drivers/scsi/ufs/ufshcd.c Stanley Chu 2019-09-16 5223
cb77cb5abe1f4f drivers/scsi/ufs/ufshcd.c Eric Biggers 2021-10-18 5224 ufshcd_crypto_register(hba, q);
df043c745ea149 drivers/scsi/ufs/ufshcd.c Satya Tangirala 2020-07-06 5225
eeda47499f0187 drivers/scsi/ufs/ufshcd.c Akinobu Mita 2014-07-01 5226 return 0;
eeda47499f0187 drivers/scsi/ufs/ufshcd.c Akinobu Mita 2014-07-01 5227 }
eeda47499f0187 drivers/scsi/ufs/ufshcd.c Akinobu Mita 2014-07-01 5228
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/7] md: set md-specific flags for all queue limits
2024-06-25 11:05 ` [PATCH 1/7] md: set md-specific flags for all queue limits Christoph Hellwig
@ 2024-06-26 11:32 ` kernel test robot
0 siblings, 0 replies; 15+ messages in thread
From: kernel test robot @ 2024-06-26 11:32 UTC (permalink / raw)
To: Christoph Hellwig, Jens Axboe
Cc: llvm, oe-kbuild-all, Damien Le Moal, Niklas Cassel, Song Liu,
Yu Kuai, Martin K. Petersen, Alim Akhtar, Avri Altman,
Bart Van Assche, linux-block, linux-ide, linux-raid, linux-scsi,
kernel test robot
Hi Christoph,
kernel test robot noticed the following build errors:
[auto build test ERROR on axboe-block/for-next]
[also build test ERROR on next-20240625]
[cannot apply to linus/master v6.10-rc5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Christoph-Hellwig/block-correctly-report-cache-type/20240626-012117
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
patch link: https://lore.kernel.org/r/20240625110603.50885-2-hch%40lst.de
patch subject: [PATCH 1/7] md: set md-specific flags for all queue limits
config: arm64-randconfig-004-20240626 (https://download.01.org/0day-ci/archive/20240626/202406261925.u3nz0p2g-lkp@intel.com/config)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project ad79a14c9e5ec4a369eed4adf567c22cc029863f)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240626/202406261925.u3nz0p2g-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406261925.u3nz0p2g-lkp@intel.com/
All errors (new ones prefixed by >>, old ones prefixed by <<):
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8183-apmixedsys.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8183.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8183-audio.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8183-ipu0.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8183-ipu_conn.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8183-vdec.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8188-apmixedsys.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8188-topckgen.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8188-peri_ao.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8188-infra_ao.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8188-adsp_audio26m.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8188-cam.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8188-ccu.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8188-img.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8188-imp_iic_wrap.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8188-ipe.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8188-mfg.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8188-vdec.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8188-vdo0.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8188-vdo1.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8188-venc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8188-vpp0.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8188-vpp1.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8188-wpe.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8192-mdp.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8192-vdec.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8192-venc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8195-img.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8195-mfg.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8195-vdo0.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8195-vdo1.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8195-vpp0.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/mediatek/clk-mt8195-vpp1.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/sophgo/clk-sophgo-cv1800.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/sprd/clk-sprd.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/clk_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/clk/qcom/clk-qcom.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/soc/imx/soc-imx8m.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/soc/amlogic/meson-clk-measure.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/pmdomain/amlogic/meson-ee-pwrc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/pmdomain/amlogic/meson-secure-pwrc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/regulator/da9121-regulator.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/reset/hisilicon/hi6220_reset.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/char/hw_random/omap3-rom-rng.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/tests/drm_kunit_helpers.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/tests/drm_buddy_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/tests/drm_cmdline_parser_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/tests/drm_connector_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/tests/drm_damage_helper_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/tests/drm_dp_mst_helper_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/tests/drm_exec_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/tests/drm_format_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/tests/drm_framebuffer_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/tests/drm_gem_shmem_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/tests/drm_managed_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/tests/drm_mm_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/tests/drm_modes_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/tests/drm_plane_helper_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/tests/drm_probe_helper_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/tests/drm_rect_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/panel/panel-orisetech-ota5601a.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/base/regmap/regmap-kunit.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/base/regmap/regmap-ram.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/base/regmap/regmap-raw-ram.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/base/regmap/regmap-slimbus.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/base/regmap/regmap-w1.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/base/regmap/regmap-sccb.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/mfd/vexpress-sysreg.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/mfd/qcom-pm8008.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/dax/dax.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/input/touchscreen/cyttsp_i2c_common.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/rtc/rtc-rc5t583.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/rtc/rtc-twl.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/i2c/busses/i2c-qup.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/media/tuners/tda9887.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/media/platform/marvell/mmp_camera.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/media/platform/marvell/mcam-core.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/media/platform/samsung/exynos4-is/exynos-fimc-lite.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/media/platform/samsung/exynos4-is/exynos-fimc-is.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/media/platform/samsung/exynos4-is/exynos4-is-common.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/media/platform/ti/vpe/ti-vpdma.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/media/v4l2-core/v4l2-async.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/media/v4l2-core/v4l2-fwnode.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/media/radio/si470x/radio-si470x-common.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/cpufreq/cpufreq-dt-platdev.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/leds/flash/leds-rt4505.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/firmware/meson/meson_sm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/devfreq/governor_performance.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/nvmem/nvmem_brcm_nvram.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/fsi/fsi-master-aspeed.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/fsi/fsi-master-gpio.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/interconnect/imx/imx-interconnect.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/interconnect/imx/imx8mm-interconnect.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/interconnect/imx/imx8mq-interconnect.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/interconnect/imx/imx8mn-interconnect.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/interconnect/imx/imx8mp-interconnect.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/pcmcia/pcmcia_rsrc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/iio/adc/ingenic-adc.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/iio/adc/xilinx-ams.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/iio/buffer/kfifo_buf.o
>> ERROR: modpost: "md_init_stacking_limits" [drivers/md/raid1.ko] undefined!
>> ERROR: modpost: "md_init_stacking_limits" [drivers/md/raid10.ko] undefined!
>> ERROR: modpost: "md_init_stacking_limits" [drivers/md/raid456.ko] undefined!
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2024-06-26 11:33 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-25 11:05 queue_limits fixups and tidyups Christoph Hellwig
2024-06-25 11:05 ` [PATCH 1/7] md: set md-specific flags for all queue limits Christoph Hellwig
2024-06-26 11:32 ` kernel test robot
2024-06-25 11:05 ` [PATCH 2/7] block: correctly report cache type Christoph Hellwig
2024-06-25 11:05 ` [PATCH 3/7] block: rename BLK_FLAG_MISALIGNED Christoph Hellwig
2024-06-25 11:24 ` John Garry
2024-06-25 14:34 ` Christoph Hellwig
2024-06-25 11:05 ` [PATCH 4/7] block: conding style fixup for blk_queue_max_guaranteed_bio Christoph Hellwig
2024-06-25 11:26 ` John Garry
2024-06-25 11:05 ` [PATCH 5/7] block: remove disk_update_readahead Christoph Hellwig
2024-06-25 11:05 ` [PATCH 6/7] block: remove the fallback case in queue_dma_alignment Christoph Hellwig
2024-06-25 12:03 ` John Garry
2024-06-25 14:34 ` Christoph Hellwig
2024-06-25 11:05 ` [PATCH 7/7] block: move dma_pad_mask into queue_limits Christoph Hellwig
2024-06-26 4:44 ` kernel test robot
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).