[PATCH 3/7] rteval: Reorganize command-line arguments into logical groups

John Kacur <[email protected]> Thu, 30 Apr 2026 15:31:40 -0400
Newsgroups org.kernel.vger.linux-rt-users
Message-ID <[email protected]>
Reorganize rteval-cmd arguments to improve code maintainability and
readability:

- Group arguments by function: Utility/Control, Execution Mode, CPU
  Configuration, Configuration & Path, Logging & Verbosity, Reporting,
  and Advanced/Special options
- Alphabetize arguments within each group by long option name
- Keep help output clean without category headers (users still see
  simple alphabetical list)

This reorganization makes the code easier to navigate and maintain while
keeping the user-facing help output simple and uncluttered.

Signed-off-by: John Kacur <[email protected]>
---
 rteval-cmd | 104 ++++++++++++++++++++++++++++++-----------------------
 1 file changed, 59 insertions(+), 45 deletions(-)

diff --git a/rteval-cmd b/rteval-cmd
index eddbe9c97008..85adf2502d20 100755
--- a/rteval-cmd
+++ b/rteval-cmd
@@ -95,69 +95,83 @@ def parse_options(cfg, parser, cmdargs):
     # thus they are prefixed with 'rteval___'.
     # See rteval/rtevalConfig::UpdateFromOptionParser() method for more info
     #
+
+    # Utility/Control Options
+    parser.add_argument("--cleanup-cpusets", dest="rteval___cleanup_cpusets",
+                      action="store_true", default=False,
+                      help="remove any leftover rteval cpusets from previous runs and exit")
+    parser.add_argument("-V", "--version", dest="rteval___version",
+                      action='store_true', default=False,
+                      help='print rteval version and exit')
+
+    # Execution Mode Options
     parser.add_argument("-d", "--duration", dest="rteval___duration",
                       type=str, default=rtevcfg.duration, metavar="DURATION",
                       help=f"specify length of test run (default: {rtevcfg.duration})")
-    parser.add_argument("-v", "--verbose", dest="rteval___verbose",
-                      action="store_true", default=rtevcfg.verbose,
-                      help=f"turn on verbose prints (default: {rtevcfg.verbose})")
-    parser.add_argument("-q", "--quiet", dest="rteval___quiet",
-                      action="store_true", default=rtevcfg.quiet,
-                      help=f"turn on quiet mode (default: {rtevcfg.quiet})")
-    parser.add_argument("-w", "--workdir", dest="rteval___workdir",
-                      type=str, default=rtevcfg.workdir, metavar="DIRECTORY",
-                      help=f"top directory for rteval data (default: {rtevcfg.workdir})")
-    parser.add_argument("-l", "--loaddir", dest="rteval___srcdir",
-                      type=str, default=rtevcfg.srcdir, metavar="DIRECTORY",
-                      help=f"directory for load source tarballs (default: {rtevcfg.srcdir})")
-    parser.add_argument("-i", "--installdir", dest="rteval___installdir",
-                      type=str, default=rtevcfg.installdir, metavar="DIRECTORY",
-                      help=f"place to locate installed templates (default: {rtevcfg.installdir})")
+    parser.add_argument("--noload", dest="rteval___noload",
+                        action="store_true", default=False,
+                        help="only run the measurements (don't run loads)")
+    parser.add_argument("-O", "--onlyload", dest="rteval___onlyload",
+                      action='store_true', default=False,
+                      help="only run the loads (don't run measurement threads)")
+
+    # CPU Configuration Options
+    parser.add_argument("--cpusets", dest="rteval___cpusets",
+                      action="store_true", default=False,
+                      help="use cgroup v2 cpusets to isolate measurement, load, and housekeeping workloads")
     parser.add_argument("--housekeeping", dest="rteval___housekeeping",
                       type=str, default="", metavar="CPULIST",
                       help="isolated CPUs reserved for system tasks (not used by rteval)")
     parser.add_argument("--warn-non-isolated-core-sharing", dest="rteval___warn_non_isolated_core_sharing",
                       action="store_true", default=False,
                       help="warn about measurement and load CPUs sharing cores even when neither is isolated")
-    parser.add_argument("--cpusets", dest="rteval___cpusets",
-                      action="store_true", default=False,
-                      help="use cgroup v2 cpusets to isolate measurement, load, and housekeeping workloads")
-    parser.add_argument("--cleanup-cpusets", dest="rteval___cleanup_cpusets",
-                      action="store_true", default=False,
-                      help="remove any leftover rteval cpusets from previous runs and exit")
-    parser.add_argument("-s", "--sysreport", dest="rteval___sysreport",
-                      action="store_true", default=rtevcfg.sysreport,
-                      help=f'run sysreport to collect system data (default: {rtevcfg.sysreport})')
-    parser.add_argument("-D", '--debug', dest='rteval___debugging',
-                      action='store_true', default=rtevcfg.debugging,
-                      help=f'turn on debug prints (default: {rtevcfg.debugging})')
-    parser.add_argument("-Z", '--summarize', dest='rteval___summarize',
-                      nargs='+', default=None, metavar='XMLFILE',
-                      help='summarize one or more already existing XML reports')
-    parser.add_argument("-H", '--raw-histogram', dest='rteval___rawhistogram',
-                      nargs='+', default=None, metavar='XMLFILE',
-                      help='Generate raw histogram data for one or more already existing XML reports')
+
+    # Configuration & Path Options
     parser.add_argument("-f", "--inifile", dest="rteval___inifile",
                       type=str, default=None, metavar="FILE",
                       help="initialization file for configuring loads and behavior")
-    parser.add_argument("-a", "--annotate", dest="rteval___annotate",
-                      type=str, default=None, metavar="STRING",
-                      help="Add a little annotation which is stored in the report")
+    parser.add_argument("-i", "--installdir", dest="rteval___installdir",
+                      type=str, default=rtevcfg.installdir, metavar="DIRECTORY",
+                      help=f"place to locate installed templates (default: {rtevcfg.installdir})")
+    parser.add_argument("-l", "--loaddir", dest="rteval___srcdir",
+                      type=str, default=rtevcfg.srcdir, metavar="DIRECTORY",
+                      help=f"directory for load source tarballs (default: {rtevcfg.srcdir})")
+    parser.add_argument("-w", "--workdir", dest="rteval___workdir",
+                      type=str, default=rtevcfg.workdir, metavar="DIRECTORY",
+                      help=f"top directory for rteval data (default: {rtevcfg.workdir})")
+
+    # Logging & Verbosity Options
+    parser.add_argument("-D", '--debug', dest='rteval___debugging',
+                      action='store_true', default=rtevcfg.debugging,
+                      help=f'turn on debug prints (default: {rtevcfg.debugging})')
     parser.add_argument("-L", "--logging", dest="rteval___logging",
                       action='store_true', default=False,
                       help='log the output of the loads in the report directory')
-    parser.add_argument("-O", "--onlyload", dest="rteval___onlyload",
-                      action='store_true', default=False,
-                      help="only run the loads (don't run measurement threads)")
-    parser.add_argument("-V", "--version", dest="rteval___version",
-                      action='store_true', default=False,
-                      help='print rteval version and exit')
+    parser.add_argument("-q", "--quiet", dest="rteval___quiet",
+                      action="store_true", default=rtevcfg.quiet,
+                      help=f"turn on quiet mode (default: {rtevcfg.quiet})")
+    parser.add_argument("-v", "--verbose", dest="rteval___verbose",
+                      action="store_true", default=rtevcfg.verbose,
+                      help=f"turn on verbose prints (default: {rtevcfg.verbose})")
+
+    # Reporting Options
+    parser.add_argument("-a", "--annotate", dest="rteval___annotate",
+                      type=str, default=None, metavar="STRING",
+                      help="Add a little annotation which is stored in the report")
+    parser.add_argument("-H", '--raw-histogram', dest='rteval___rawhistogram',
+                      nargs='+', default=None, metavar='XMLFILE',
+                      help='Generate raw histogram data for one or more already existing XML reports')
+    parser.add_argument("-Z", '--summarize', dest='rteval___summarize',
+                      nargs='+', default=None, metavar='XMLFILE',
+                      help='summarize one or more already existing XML reports')
+    parser.add_argument("-s", "--sysreport", dest="rteval___sysreport",
+                      action="store_true", default=rtevcfg.sysreport,
+                      help=f'run sysreport to collect system data (default: {rtevcfg.sysreport})')
+
+    # Advanced/Special Options
     parser.add_argument("-S", "--source-download", nargs="?", dest="rteval___srcdownload",
                         type=str, default=None, const='', metavar="KERNEL_VERSION",
                         help='download a source kernel from kernel.org and exit')
-    parser.add_argument("--noload", dest="rteval___noload",
-                        action="store_true", default=False,
-                        help="only run the measurements (don't run loads)")
 
     cmd_opts = parser.parse_args(args=cmdargs)
 
-- 
2.54.0