diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2016-12-26 00:40:25 -0500 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2016-12-26 00:40:25 -0500 |
commit | 2d4586ae8aa29e222b12b98beeaa219d521dc813 (patch) | |
tree | 58bd62678adf8258402505a792df761145642119 | |
parent | 48789f5f7d059bdd7de6440894e1333e144ae83a (diff) | |
download | 4.9-rt-patches-2d4586ae8aa29e222b12b98beeaa219d521dc813.tar.gz |
block: mq import updated preempt-disable patch
-rw-r--r-- | patches/block-mq-drop-preempt-disable.patch | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/patches/block-mq-drop-preempt-disable.patch b/patches/block-mq-drop-preempt-disable.patch index 19f888d387e4e..93e5bc0856ea5 100644 --- a/patches/block-mq-drop-preempt-disable.patch +++ b/patches/block-mq-drop-preempt-disable.patch @@ -13,7 +13,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> --- a/block/blk-mq.c +++ b/block/blk-mq.c -@@ -397,7 +397,7 @@ static void blk_mq_ipi_complete_request( +@@ -363,7 +363,7 @@ static void blk_mq_ipi_complete_request( return; } @@ -22,7 +22,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> if (!test_bit(QUEUE_FLAG_SAME_FORCE, &rq->q->queue_flags)) shared = cpus_share_cache(cpu, ctx->cpu); -@@ -409,7 +409,7 @@ static void blk_mq_ipi_complete_request( +@@ -375,7 +375,7 @@ static void blk_mq_ipi_complete_request( } else { rq->q->softirq_done_fn(rq); } @@ -31,10 +31,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> } static void __blk_mq_complete_request(struct request *rq) -@@ -938,14 +938,14 @@ void blk_mq_run_hw_queue(struct blk_mq_h +@@ -917,14 +917,14 @@ void blk_mq_run_hw_queue(struct blk_mq_h return; - if (!async) { + if (!async && !(hctx->flags & BLK_MQ_F_BLOCKING)) { - int cpu = get_cpu(); + int cpu = get_cpu_light(); if (cpumask_test_cpu(cpu, hctx->cpumask)) { @@ -48,4 +48,4 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> + put_cpu_light(); } - kblockd_schedule_delayed_work_on(blk_mq_hctx_next_cpu(hctx), + kblockd_schedule_work_on(blk_mq_hctx_next_cpu(hctx), &hctx->run_work); |