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>
This commit is contained in:
Yousef Alhouseen
2026-06-24 14:33:36 +02:00
committed by Tejun Heo
parent f0e6f20cb5
commit 4d9be38891
2 changed files with 8 additions and 8 deletions

View File

@@ -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)

View File

@@ -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']