2018-08-27 14:32:32 +00:00
|
|
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|
|
|
Date: Wed, 9 Apr 2014 10:37:23 +0200
|
|
|
|
Subject: block: mq: use cpu_light()
|
2018-10-15 19:02:34 +00:00
|
|
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.18/older/patches-4.18.12-rt7.tar.xz
|
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>
|
|
|
|
---
|
|
|
|
block/blk-mq.h | 4 ++--
|
|
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
|
|
|
|
--- a/block/blk-mq.h
|
|
|
|
+++ b/block/blk-mq.h
|
|
|
|
@@ -112,12 +112,12 @@ static inline struct blk_mq_ctx *__blk_m
|
|
|
|
*/
|
|
|
|
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 {
|