| From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> |
| Date: Wed, 9 Apr 2014 10:37:23 +0200 |
| Subject: block: mq: use cpu_light() |
| |
| 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 |
| @@ -130,12 +130,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 { |