linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH blktests] block: add queue freeze/unfreeze sequence test
@ 2019-05-29  9:00 Bob Liu
  2019-05-30  8:33 ` Yi Zhang
  0 siblings, 1 reply; 2+ messages in thread
From: Bob Liu @ 2019-05-29  9:00 UTC (permalink / raw)
  To: linux-block; +Cc: osandov, Bob Liu

Reproduce the hang fixed by
7996a8b5511a ("blk-mq: fix hang caused by freeze/unfreeze sequence").

Signed-off-by: Bob Liu <bob.liu@oracle.com>
---
 tests/block/022 | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)
 create mode 100755 tests/block/022

diff --git a/tests/block/022 b/tests/block/022
new file mode 100755
index 0000000..e3ac197
--- /dev/null
+++ b/tests/block/022
@@ -0,0 +1,59 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-3.0+
+# Copyright (C) 2019 Bob Liu <bob.liu@oracle.com>
+#
+# Test hang caused by freeze/unfreeze sequence. Regression
+# test for 7996a8b5511a ("blk-mq: fix hang caused by freeze/unfreeze sequence").
+
+. tests/block/rc
+. common/null_blk
+
+DESCRIPTION="Test hang caused by freeze/unfreeze sequence"
+TIMED=1
+
+requires() {
+	_have_null_blk && _have_module_param null_blk shared_tags
+}
+
+hotplug_test() {
+	while :
+	do
+		echo 1 > /sys/kernel/config/nullb/"$1"/power
+		echo 0 > /sys/kernel/config/nullb/"$1"/power
+	done
+}
+
+test() {
+	echo "Running ${TEST_NAME}"
+	: "${TIMEOUT:=30}"
+
+	if ! _init_null_blk shared_tags=1 nr_devices=0 queue_mode=2; then
+		return 1
+	fi
+
+	mkdir -p /sys/kernel/config/nullb/0
+	mkdir -p /sys/kernel/config/nullb/1
+	hotplug_test 0 &
+	pid0=$!
+	hotplug_test 1 &
+	pid1=$!
+
+	#bind process to two different CPU
+	taskset -p 1 $pid0 >/dev/null
+	taskset -p 2 $pid1 >/dev/null
+
+	sleep "$TIMEOUT"
+	{
+		kill -9 $pid0
+		wait $pid0
+		kill -9 $pid1
+		wait $pid1
+	} 2>/dev/null
+
+	rmdir /sys/kernel/config/nullb/1
+	rmdir /sys/kernel/config/nullb/0
+
+	_exit_null_blk
+	echo "Test complete"
+}
+
-- 
2.9.5


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-05-30  8:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-29  9:00 [PATCH blktests] block: add queue freeze/unfreeze sequence test Bob Liu
2019-05-30  8:33 ` Yi Zhang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).