summaryrefslogtreecommitdiffstats
path: root/debug/dump-qmap
blob: 3a1ba9882a97511333e8d04e5078dabd85fb42cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/bash

dump_dev() {
	DEV=$1
	DEV_NAME=`basename $DEV`
	QPATH=/sys/block/$DEV_NAME/queue
	DBGFS=/sys/kernel/debug/block/$DEV_NAME/

	[ ! -d $DBGFS/hctx0 ] && return

	echo "queue mapping for $DEV"
	HCTXS=`ls -d -v $DBGFS/hctx*`
	for HCTX in $HCTXS; do
		HCTXB=`basename $HCTX`
		TYPE=`cat $HCTX/type`
		CPUS=`cd $HCTX;ls -d -v cpu*`
		#echo $HCTX $CPUS
		CPU_SEQ=""
		for CPU in $CPUS; do
			NO=`echo $CPU | tr -d cpu`
			CPU_SEQ+="$NO "
		done
		echo -e "\t$HCTXB: $TYPE $CPU_SEQ"
	done
}

DBG_TOP=/sys/kernel/debug/block/

DEVS=""
if [ $# -eq 0 ]; then
	for DEV in `ls $DBG_TOP`; do
		DEVS+="/dev/"$DEV
		DEVS+=" "
	done
else
	DEVS=$@
fi

for DEV in $DEVS; do
	dump_dev $DEV
done