summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2016-12-26 00:40:25 -0500
committerPaul Gortmaker <paul.gortmaker@windriver.com>2016-12-26 00:40:25 -0500
commit2d4586ae8aa29e222b12b98beeaa219d521dc813 (patch)
tree58bd62678adf8258402505a792df761145642119
parent48789f5f7d059bdd7de6440894e1333e144ae83a (diff)
download4.9-rt-patches-2d4586ae8aa29e222b12b98beeaa219d521dc813.tar.gz
block: mq import updated preempt-disable patch
-rw-r--r--patches/block-mq-drop-preempt-disable.patch10
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);