summaryrefslogtreecommitdiff
path: root/tools/workqueue
diff options
context:
space:
mode:
authorYousef Alhouseen <alhouseenyousef@gmail.com>2026-06-24 14:33:36 +0200
committerTejun Heo <tj@kernel.org>2026-06-24 08:56:46 -1000
commit4d9be388910e5fbdb3f2794ed20737515ca6b96d (patch)
tree89ed402a7dc37dc5d246266b1834ff96e8497d06 /tools/workqueue
parentf0e6f20cb52b14c2c441f04e21cef0c95d498cac (diff)
downloadlinux-4d9be388910e5fbdb3f2794ed20737515ca6b96d.tar.gz
linux-4d9be388910e5fbdb3f2794ed20737515ca6b96d.zip
tools/workqueue: parse help before importing drgn
wq_monitor.py and wq_dump.py import drgn before argparse can handle "-h". That makes help fail on systems where drgn is not installed, even though the scripts do not need drgn to print usage text. Parse arguments before importing drgn so the help path works without the runtime debugging dependency. Normal execution still imports drgn before reading kernel state. Signed-off-by: Yousef Alhouseen <alhouseenyousef@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'tools/workqueue')
-rw-r--r--tools/workqueue/wq_dump.py10
-rw-r--r--tools/workqueue/wq_monitor.py6
2 files changed, 8 insertions, 8 deletions
diff --git a/tools/workqueue/wq_dump.py b/tools/workqueue/wq_dump.py
index ce4161f52f2f..a0c72237531f 100644
--- a/tools/workqueue/wq_dump.py
+++ b/tools/workqueue/wq_dump.py
@@ -46,6 +46,11 @@ each workqueue:
import sys
+import argparse
+parser = argparse.ArgumentParser(description=desc,
+ formatter_class=argparse.RawTextHelpFormatter)
+args = parser.parse_args()
+
import drgn
from drgn.helpers.linux.list import list_for_each_entry,list_empty
from drgn.helpers.linux.percpu import per_cpu_ptr
@@ -53,11 +58,6 @@ from drgn.helpers.linux.cpumask import for_each_cpu,for_each_possible_cpu
from drgn.helpers.linux.nodemask import for_each_node
from drgn.helpers.linux.idr import idr_for_each
-import argparse
-parser = argparse.ArgumentParser(description=desc,
- formatter_class=argparse.RawTextHelpFormatter)
-args = parser.parse_args()
-
def err(s):
print(s, file=sys.stderr, flush=True)
sys.exit(1)
diff --git a/tools/workqueue/wq_monitor.py b/tools/workqueue/wq_monitor.py
index 9e964c5be40c..7f47fa398e3c 100644
--- a/tools/workqueue/wq_monitor.py
+++ b/tools/workqueue/wq_monitor.py
@@ -37,9 +37,6 @@ import re
import time
import json
-import drgn
-from drgn.helpers.linux.list import list_for_each_entry
-
import argparse
parser = argparse.ArgumentParser(description=desc,
formatter_class=argparse.RawTextHelpFormatter)
@@ -51,6 +48,9 @@ parser.add_argument('-j', '--json', action='store_true',
help='Output in json')
args = parser.parse_args()
+import drgn
+from drgn.helpers.linux.list import list_for_each_entry
+
workqueues = prog['workqueues']
WQ_UNBOUND = prog['WQ_UNBOUND']