2014-06-03 03:24:27

by Ming Lei

[permalink] [raw]
Subject: [PATCH] blk-mq: fix sparse warning on missed __percpu annotation

'struct blk_mq_ctx' is __percpu, so add the annotation
and fix the sparse warning reported from Fengguang:

[block:for-linus 2/3] block/blk-mq.h:75:16: sparse: incorrect
type in initializer (different address spaces)

Reported-by: kbuild test robot <[email protected]>
Signed-off-by: Ming Lei <[email protected]>
---
block/blk-mq.c | 2 +-
include/linux/blkdev.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/block/blk-mq.c b/block/blk-mq.c
index 43eb315..3bb4cfe 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -1767,7 +1767,7 @@ static void blk_mq_add_queue_tag_set(struct blk_mq_tag_set *set,
struct request_queue *blk_mq_init_queue(struct blk_mq_tag_set *set)
{
struct blk_mq_hw_ctx **hctxs;
- struct blk_mq_ctx *ctx;
+ struct blk_mq_ctx __percpu *ctx;
struct request_queue *q;
unsigned int *map;
int i;
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 2f3886e..3cd426e 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -335,7 +335,7 @@ struct request_queue {
unsigned int *mq_map;

/* sw queues */
- struct blk_mq_ctx *queue_ctx;
+ struct blk_mq_ctx __percpu *queue_ctx;
unsigned int nr_queues;

/* hw dispatch queues */
--
1.7.9.5


2014-06-03 04:47:25

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] blk-mq: fix sparse warning on missed __percpu annotation

On 2014-06-02 21:24, Ming Lei wrote:
> 'struct blk_mq_ctx' is __percpu, so add the annotation
> and fix the sparse warning reported from Fengguang:
>
> [block:for-linus 2/3] block/blk-mq.h:75:16: sparse: incorrect
> type in initializer (different address spaces)

Thanks, applied.

--
Jens Axboe