projects
/
GitHub
/
LineageOS
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
87a9d1c
)
blk-mq: I/O and timer unplugs are inverted in blktrace
author
Ilya Dryomov
<idryomov@gmail.com>
Wed, 26 Sep 2018 12:35:50 +0000
(14:35 +0200)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Sat, 13 Oct 2018 07:27:22 +0000
(09:27 +0200)
commit
587562d0c7cd6861f4f90a2eb811cccb1a376f5f
upstream.
trace_block_unplug() takes true for explicit unplugs and false for
implicit unplugs. schedule() unplugs are implicit and should be
reported as timer unplugs. While correct in the legacy code, this has
been inverted in blk-mq since 4.11.
Cc: stable@vger.kernel.org
Fixes:
bd166ef183c2
("blk-mq-sched: add framework for MQ capable IO schedulers")
Reviewed-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
block/blk-mq.c
patch
|
blob
|
blame
|
history
diff --git
a/block/blk-mq.c
b/block/blk-mq.c
index 49979c095f31c4885c020d469a068738fa30fa15..eac4448047366bb60db76788833f6e5b977dd467 100644
(file)
--- a/
block/blk-mq.c
+++ b/
block/blk-mq.c
@@
-1512,7
+1512,7
@@
void blk_mq_flush_plug_list(struct blk_plug *plug, bool from_schedule)
BUG_ON(!rq->q);
if (rq->mq_ctx != this_ctx) {
if (this_ctx) {
- trace_block_unplug(this_q, depth, from_schedule);
+ trace_block_unplug(this_q, depth,
!
from_schedule);
blk_mq_sched_insert_requests(this_q, this_ctx,
&ctx_list,
from_schedule);
@@
-1532,7
+1532,7
@@
void blk_mq_flush_plug_list(struct blk_plug *plug, bool from_schedule)
* on 'ctx_list'. Do those.
*/
if (this_ctx) {
- trace_block_unplug(this_q, depth, from_schedule);
+ trace_block_unplug(this_q, depth,
!
from_schedule);
blk_mq_sched_insert_requests(this_q, this_ctx, &ctx_list,
from_schedule);
}