Skip to contentSkip to conversation

Patch "block: disable runtime-pm for blk-mq" has been added to the 4.12-stable tree

PATCH [email protected] 1 participant 1 message Aug 8, 2017

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

block: disable runtime-pm for blk-mq

to the 4.12-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
block-disable-runtime-pm-for-blk-mq.patch
and it can be found in the queue-4.12 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 765e40b675a9566459ddcb8358ad16f3b8344bbe Mon Sep 17 00:00:00 2001

From: Christoph Hellwig <[email protected]>
Date: Fri, 21 Jul 2017 13:46:10 +0200
Subject: block: disable runtime-pm for blk-mq

From: Christoph Hellwig <[email protected]>

commit 765e40b675a9566459ddcb8358ad16f3b8344bbe upstream.

The blk-mq code lacks support for looking at the rpm_status field, tracking active requests and the RQF_PM flag.

Due to the default switch to blk-mq for scsi people start to run into suspend / resume issue due to this fact, so make sure we disable the runtime PM functionality until it is properly implemented.

---
 block/blk-core.c |    4 ++++
 1 file changed, 4 insertions(+)
block/blk-core.c +4 -0
@@ -3307,6 +3307,10 @@ EXPORT_SYMBOL(blk_finish_plug);
  */
 void blk_pm_runtime_init(struct request_queue *q, struct device *dev)
 {
+	/* not support for RQF_PM and ->rpm_status in blk-mq yet */
+	if (q->mq_ops)
+		return;
+
 	q->dev = dev;
 	q->rpm_status = RPM_ACTIVE;
 	pm_runtime_set_autosuspend_delay(q->dev, -1);

Patches currently in stable-queue which might be from [email protected] are

queue-4.12/block-disable-runtime-pm-for-blk-mq.patch queue-4.12/blk-mq-create-hctx-for-each-present-cpu.patch queue-4.12/blk-mq-include-all-present-cpus-in-the-default-queue-mapping.patch