Skip to content

Conversation

@harp-intel
Copy link
Contributor

This pull request refactors how configuration tables are generated and rendered in text reports, with a focus on improving clarity and usability for users of the config command. The main changes include adding command-line argument descriptions to each configuration field, introducing a custom text renderer for configuration tables, and simplifying report creation by removing unused parameters.

Configuration
=============
Cores per Socket:                86               --cores <N>
L3 Cache:                        336M             --llc <MB>
Package Power / TDP:             350W             --tdp <Watts>
All-Core Max Frequency:          3.2GHz           --core-max <GHz>
Uncore Max Frequency (Compute):  2.2GHz           --uncore-max-compute <GHz>
Uncore Min Frequency (Compute):  0.8GHz           --uncore-min-compute <GHz>
Uncore Max Frequency (I/O):      2.5GHz           --uncore-max-io <GHz>
Uncore Min Frequency (I/O):      0.8GHz           --uncore-min-io <GHz>
Energy Performance Bias:         Performance (0)  --epb <0-15>
Energy Performance Preference:   Performance (0)  --epp <0-255>
Scaling Governor:                performance      --gov <performance|powersave>
Efficiency Latency Control:      Default          --elc <default|latency-optimized>
L2 HW prefetcher:                Enabled          --pref-l2hw <enable|disable>
L2 Adj prefetcher:               Enabled          --pref-l2adj <enable|disable>
DCU HW prefetcher:               Enabled          --pref-dcuhw <enable|disable>
DCU IP prefetcher:               Enabled          --pref-dcuip <enable|disable>
DCU NP prefetcher:               Enabled          --pref-dcunp <enable|disable>
AMP prefetcher:                  Enabled          --pref-amp <enable|disable>
LLCPP prefetcher:                Enabled          --pref-llcpp <enable|disable>
AOP prefetcher:                  Enabled          --pref-aop <enable|disable>
Homeless prefetcher:             Enabled          --pref-homeless <enable|disable>
LLC prefetcher:                  Disabled         --pref-llc <enable|disable>
C6:                              Enabled          --c6 <enable|disable>
C1 Demotion:                     Disabled         --c1-demotion <enable|disable>

Configuration Table Improvements

  • Added a Description field to each configuration item in the output of configurationTableValues, so the generated table now shows the corresponding command-line argument for each item [1] [2].
  • Added a new function configurationTableTextRenderer that renders the configuration table in text reports, including field names, values, and their command-line descriptions for improved clarity.
  • Updated the configuration table definition to use the new custom text renderer for text output.

Report Generation Simplification

  • Removed the scriptOutputs parameter from the report.Create function and all its call sites, simplifying the report generation interface [1] [2] [3].

Additional Enhancements

  • Added a helper function c6FromOutput to extract C6 state information for inclusion in the configuration table.
  • Updated configuration fields for uncore frequencies, energy performance, scaling governor, efficiency latency control, prefetchers, C6, and C1 demotion to include their command-line argument descriptions [1] [2].

These changes make the configuration output more user-friendly and maintainable, while also streamlining the codebase by removing unnecessary parameters.

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
@harp-intel harp-intel linked an issue Nov 29, 2025 that may be closed by this pull request
@harp-intel harp-intel requested a review from Copilot November 29, 2025 18:24
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR enhances the configuration table output to display command-line argument help text alongside configuration values. The changes make it easier for users to understand which command-line flag corresponds to each configuration setting by adding descriptions directly in the table output.

  • Adds command-line argument descriptions to each configuration field
  • Implements a custom text renderer for configuration tables that formats field names, values, and command-line flags
  • Simplifies the report generation API by removing the unused scriptOutputs parameter

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
internal/report/table_helpers.go Adds c6FromOutput helper function to extract C6 state information
internal/report/table_defs.go Updates configuration table fields to include command-line argument descriptions and assigns custom text renderer
internal/report/render_text.go Implements configurationTableTextRenderer to format configuration output with aligned columns
internal/report/report.go Removes unused scriptOutputs parameter from Create function signature
internal/common/common.go Updates Create call site to match new signature
cmd/config/flag_groups.go Reorders flag declarations to match configuration table output order
cmd/config/config.go Updates Create call site to match new signature

@harp-intel harp-intel merged commit 89ea0bf into main Nov 30, 2025
5 checks passed
@harp-intel harp-intel deleted the configout branch November 30, 2025 00:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

include flags used to change config values in the config output

2 participants