[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230804065039.8885-1-chengming.zhou@linux.dev>
Date: Fri, 4 Aug 2023 14:50:37 +0800
From: chengming.zhou@...ux.dev
To: axboe@...nel.dk, tj@...nel.org
Cc: linux-kernel@...r.kernel.org, zhouchengming@...edance.com
Subject: [PATCH 1/3] iocost_monitor: fix kernel queue kobj changes
From: Chengming Zhou <zhouchengming@...edance.com>
When I use iocost_monitor on nvme0n1, this error shows up:
"Could not find ioc for nvme0n1"
There is no kobj in struct queue in recent kernel, it seems that the commit
2bd85221a625 ("block: untangle request_queue refcounting from sysfs")
move the queue kobj to struct gendisk.
Fix it by using mq_kobj which is at the same level with queue kobj.
Signed-off-by: Chengming Zhou <zhouchengming@...edance.com>
---
tools/cgroup/iocost_monitor.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/cgroup/iocost_monitor.py b/tools/cgroup/iocost_monitor.py
index 0dbbc67400fc..7aa076cb559e 100644
--- a/tools/cgroup/iocost_monitor.py
+++ b/tools/cgroup/iocost_monitor.py
@@ -221,7 +221,7 @@ ioc = None
for i, ptr in radix_tree_for_each(blkcg_root.blkg_tree.address_of_()):
blkg = drgn.Object(prog, 'struct blkcg_gq', address=ptr)
try:
- if devname == blkg.q.kobj.parent.name.string_().decode('utf-8'):
+ if devname == blkg.q.mq_kobj.parent.name.string_().decode('utf-8'):
q_id = blkg.q.id.value_()
if blkg.pd[plid]:
root_iocg = container_of(blkg.pd[plid], 'struct ioc_gq', 'pd')
--
2.41.0
Powered by blists - more mailing lists