2018-08-27 14:32:32 +00:00
|
|
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|
|
|
Date: Wed, 9 Apr 2014 10:37:23 +0200
|
2019-11-25 00:04:39 +00:00
|
|
|
Subject: [PATCH 179/290] block: mq: use cpu_light()
|
|
|
|
Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=89d6f7956e2046a5b49e51aa3f200b64023fb8aa
|
2018-08-27 14:32:32 +00:00
|
|
|
|
|
|
|
there is a might sleep splat because get_cpu() disables preemption and
|
|
|
|
later we grab a lock. As a workaround for this we use get_cpu_light().
|
|
|
|
|
|
|
|
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|
|
|
---
|
2019-04-08 23:49:20 +00:00
|
|
|
block/blk-mq.h | 4 ++--
|
2018-08-27 14:32:32 +00:00
|
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
|
2019-04-08 23:49:20 +00:00
|
|
|
diff --git a/block/blk-mq.h b/block/blk-mq.h
|
2019-11-25 00:04:39 +00:00
|
|
|
index 5ad9251627f8..5a96c97991b6 100644
|
2018-08-27 14:32:32 +00:00
|
|
|
--- a/block/blk-mq.h
|
|
|
|
+++ b/block/blk-mq.h
|
2019-04-08 23:49:20 +00:00
|
|
|
@@ -113,12 +113,12 @@ static inline struct blk_mq_ctx *__blk_mq_get_ctx(struct request_queue *q,
|
2018-08-27 14:32:32 +00:00
|
|
|
*/
|
|
|
|
static inline struct blk_mq_ctx *blk_mq_get_ctx(struct request_queue *q)
|
|
|
|
{
|
|
|
|
- return __blk_mq_get_ctx(q, get_cpu());
|
|
|
|
+ return __blk_mq_get_ctx(q, get_cpu_light());
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline void blk_mq_put_ctx(struct blk_mq_ctx *ctx)
|
|
|
|
{
|
|
|
|
- put_cpu();
|
|
|
|
+ put_cpu_light();
|
|
|
|
}
|
|
|
|
|
|
|
|
struct blk_mq_alloc_data {
|