From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 83E782475CB for ; Wed, 24 Jun 2026 12:37:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782304621; cv=none; b=olxAHRvOEjheI5wZcM4aEZ8UTzr4UPUUbIfHy3BGUjw+fydnVnHTHutTuaEYRNItfKl6sKxEFJwOUnLDVFNB7v8RcroGCWxSSvv/sCXff/UDXbicA+ZOiYCdHkdjgR7963da8HCVRjxSTBFbhsLdRed4/xc8+87ye/ihijWKUyE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782304621; c=relaxed/simple; bh=n7yeLGokqqCEYqPAMP4LCZTg50ntP6woAwtrH9YhnIQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=rdasYNka1Dfmg9WVwW+ZIGicQqv86mzadOOh/aKnhaPlOZMWcvcYY/DFmDDkq+RtTPwIeMNl1HE8Y1rW/91eo9sUPVn4IDmq14KoBuwKKaYlk9v+oAWLuQCcrFz7ly9R44tB8prbA+tGFvWnaN+bIFYGaJpVEvKYZ/TILDl96UQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jVRfEuUJ; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jVRfEuUJ" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-490b8ac62baso19996025e9.0 for ; Wed, 24 Jun 2026 05:37:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782304619; x=1782909419; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=aVVzYHaalnDwmrRDCXsQm1lcc3hZBz2mEnxrShCLD2c=; b=jVRfEuUJ1wAJ8mVKScQhvSR7fHYlYtfH7rwKA1RK1Co6ZDlmEosW7vQgATt7R0sgV7 lPNO5UynbCc2RgSQx0Ii2V+fmj31w5E31k4MX37wEyIePdXUp7AumSFVyrH01XRIqTjf hVjpfdhFg6Olraa4rDeL6OAa27Exu/gSKcTiwz/xIfww+lthnQAxhOypazA6TA1Be/I8 Sj1vRKqmk2A+m51NUNAh/f502DEiPfOxG5prwe92UawZN0a0OKw+j0y47KDwxPDBWIz5 bEBuj8DsTmtQGZPFA8bgdWSVqKKetshqUtNFI2rs/j7JxT8MtDsqVJlIhaLe1miZEHwq wP0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782304619; x=1782909419; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=aVVzYHaalnDwmrRDCXsQm1lcc3hZBz2mEnxrShCLD2c=; b=aqytILhHtwtYfyGnuOToZrDziwguhc3OUBJBFB9ukeDbGrmhdO3u/PLL3gNdJViQ0W BIsZtDfoearJltSbVuZuL4asmiMEQ+UkvwwH4DsmYNAr5fQrcqYOXISrVIFdqSbaQXmj y3VoqmURNiEMlj5S97LI/oj5DtdaHPX43I9NXdkCytZ6K4aQlsWL/+h1gLKAgsMFBBTR 9j6MDtFPiZ0Hd38+i23tZafqLK+qTOUIwZOXG6mfYDQfFR0X2LVOPOdJDvRy6geVWsZ5 JpxP26A2V1u1SQo/f3Jlp0CQbcuyMxsxdim+52V6WUZKffVzdxcQ3FwjRkzH1qAHoHZH EqhA== X-Forwarded-Encrypted: i=1; AFNElJ+Fa9Pg61CqDyhbX/p1Bx6inrc/Dot1XVn81bR9FXJHsFNnZnZx6djx0bg7DnYYwH4z+3LxZn0W/PMP/UQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyE7Yrxwn7H7YJM0mZIY7v0TPNOpDx3aPceaHRu0+y/RF5tyrtc +bWLLlG2BOFz5OMjsOXdeCCuOK2TAY0O+YDRxD5zqb7a4wNrpCrFDnq2IHzDNVfs5y6KMg== X-Gm-Gg: AfdE7cn2R9Zl6a82yAzBMjwA7uDQwjDYnKvuXY9qqxPHTPIPfwiXx5zHjtQIZRNMILz HGimPDxU9GmKe0PLRkEeqQQ2bFJhz1GTZ4/ls/OPdBElKor/w8EGP7uH3qXh8w9g2vdKoKorXnE xWfB8JL7urpALdi8/UIxQdNHlR6MqKMQrElxuJaGtwQ9baPOqm4JTERbz16Fpg5cqLhYXgkiw5o P89izQbcUoe77ZlF10PdV9DI3HgiiHzflZf/yi0LBfVYdQx/2+nfpIFwxdpK5dA4HZOBLzt+D9n NxMtvWzOT2sr90O7tCVYeRxvJFheAFN1EWHOUCxWVRDP1x4wQFiGT7bAmsh2Gl9PdUEs8Uk3jUb LXCb4XZgnBi5k17KMDf2OAoAdAZ4770M3ma5R7m5Lg4e2k+GJ4Gb9per6DtBBNTH5yxwz9PtKpu g3FYpa1beV0rPKTiV1HyPIG+bOYw== X-Received: by 2002:a05:600c:4747:b0:490:3cf0:8d81 with SMTP id 5b1f17b1804b1-492632b20b7mr4090775e9.13.1782304618712; Wed, 24 Jun 2026 05:36:58 -0700 (PDT) Received: from Dev-Null-MSI ([2a0d:3344:52ac:a808:98a4:4381:be45:536f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4923fe7b359sm432036495e9.9.2026.06.24.05.36.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 05:36:58 -0700 (PDT) From: Yousef Alhouseen To: tj@kernel.org, josef@toxicpanda.com, axboe@kernel.dk Cc: cgroups@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, Yousef Alhouseen Subject: [PATCH] tools/cgroup: iocost_monitor: parse help before importing drgn Date: Wed, 24 Jun 2026 14:36:52 +0200 Message-ID: <20260624123652.8108-1-alhouseenyousef@gmail.com> X-Mailer: git-send-email 2.54.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit iocost_monitor.py imports drgn before argparse can handle "-h" or report argument errors. That makes basic usage help fail on systems where drgn is not installed. Parse arguments before importing drgn so the help and argument-error paths work without the runtime debugging dependency. Normal execution still imports drgn before reading kernel state. Signed-off-by: Yousef Alhouseen --- tools/cgroup/iocost_monitor.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/cgroup/iocost_monitor.py b/tools/cgroup/iocost_monitor.py index 933c750b3..bdd78ba27 100644 --- a/tools/cgroup/iocost_monitor.py +++ b/tools/cgroup/iocost_monitor.py @@ -15,11 +15,6 @@ import time import json import math -import drgn -from drgn import container_of -from drgn.helpers.linux.list import list_for_each_entry,list_empty -from drgn.helpers.linux.radixtree import radix_tree_for_each,radix_tree_lookup - import argparse parser = argparse.ArgumentParser(description=desc, formatter_class=argparse.RawTextHelpFormatter) @@ -34,6 +29,11 @@ parser.add_argument('--json', action='store_true', help='Output in json') args = parser.parse_args() +import drgn +from drgn import container_of +from drgn.helpers.linux.list import list_for_each_entry,list_empty +from drgn.helpers.linux.radixtree import radix_tree_for_each,radix_tree_lookup + def err(s): print(s, file=sys.stderr, flush=True) sys.exit(1) -- 2.54.0