[PATCH v5 0/8] selftests/resctrl: Rework benchmark command handling

Ilpo Järvinen posted 8 patches 2 years, 3 months ago
tools/testing/selftests/resctrl/cache.c       |   5 +-
tools/testing/selftests/resctrl/cat_test.c    |  13 +--
tools/testing/selftests/resctrl/cmt_test.c    |  34 ++++--
tools/testing/selftests/resctrl/mba_test.c    |   4 +-
tools/testing/selftests/resctrl/mbm_test.c    |   7 +-
tools/testing/selftests/resctrl/resctrl.h     |  16 +--
.../testing/selftests/resctrl/resctrl_tests.c | 100 ++++++++----------
tools/testing/selftests/resctrl/resctrl_val.c |  10 +-
8 files changed, 104 insertions(+), 85 deletions(-)
[PATCH v5 0/8] selftests/resctrl: Rework benchmark command handling
Posted by Ilpo Järvinen 2 years, 3 months ago
The benchmark command handling (-b) in resctrl selftests is overly
complicated code. This series turns the benchmark command immutable to
preserve it for all selftests and improves benchmark command related
error handling.

This series also ends up removing the strcpy() calls which were pointed
out earlier.

v5:
- Fix another off-by-one error
- Reorder local var declarations in main() to follow rev. xmas tree

v4:
- Correct off-by-one error in -b processing
- Reordered code in main() to make freeing span_str simpler (in new patch)
- Use consistent style for const char * const *

v3:
- Removed DEFAULT_SPAN_STR for real and the duplicated copy of defines
  that made to v2 likely due to my incorrect conflict resolutions

v2:
- Added argument length check into patch 1/7
- Updated also -b line in help message.
- Document -b argument related "algorithm"
- Use asprintf() to convert defined constant int to string
- Improved changelog texts
- Added \n to ksft_exit_fail_msg() call messages.
- Print DEFAULT_SPAN with %u instead of %zu to avoid need to cast it

Ilpo Järvinen (8):
  selftests/resctrl: Ensure the benchmark commands fits to its array
  selftests/resctrl: Correct benchmark command help
  selftests/resctrl: Remove bw_report and bm_type from main()
  selftests/resctrl: Simplify span lifetime
  selftests/resctrl: Reorder resctrl FS prep code and benchmark_cmd init
  selftests/resctrl: Make benchmark command const and build it with
    pointers
  selftests/resctrl: Remove ben_count variable
  selftests/resctrl: Cleanup benchmark argument parsing

 tools/testing/selftests/resctrl/cache.c       |   5 +-
 tools/testing/selftests/resctrl/cat_test.c    |  13 +--
 tools/testing/selftests/resctrl/cmt_test.c    |  34 ++++--
 tools/testing/selftests/resctrl/mba_test.c    |   4 +-
 tools/testing/selftests/resctrl/mbm_test.c    |   7 +-
 tools/testing/selftests/resctrl/resctrl.h     |  16 +--
 .../testing/selftests/resctrl/resctrl_tests.c | 100 ++++++++----------
 tools/testing/selftests/resctrl/resctrl_val.c |  10 +-
 8 files changed, 104 insertions(+), 85 deletions(-)

-- 
2.30.2

Re: [PATCH v5 0/8] selftests/resctrl: Rework benchmark command handling
Posted by Moger, Babu 2 years, 2 months ago
Tested the series on AMD system. Looks good.

Tested-by: Babu Moger <babu.moger@amd.com>

There are few tests which are skipped on AMD. Will plan to look into it.
Thanks
Babu

On 9/4/23 04:53, Ilpo Järvinen wrote:
> The benchmark command handling (-b) in resctrl selftests is overly
> complicated code. This series turns the benchmark command immutable to
> preserve it for all selftests and improves benchmark command related
> error handling.
> 
> This series also ends up removing the strcpy() calls which were pointed
> out earlier.
> 
> v5:
> - Fix another off-by-one error
> - Reorder local var declarations in main() to follow rev. xmas tree
> 
> v4:
> - Correct off-by-one error in -b processing
> - Reordered code in main() to make freeing span_str simpler (in new patch)
> - Use consistent style for const char * const *
> 
> v3:
> - Removed DEFAULT_SPAN_STR for real and the duplicated copy of defines
>   that made to v2 likely due to my incorrect conflict resolutions
> 
> v2:
> - Added argument length check into patch 1/7
> - Updated also -b line in help message.
> - Document -b argument related "algorithm"
> - Use asprintf() to convert defined constant int to string
> - Improved changelog texts
> - Added \n to ksft_exit_fail_msg() call messages.
> - Print DEFAULT_SPAN with %u instead of %zu to avoid need to cast it
> 
> Ilpo Järvinen (8):
>   selftests/resctrl: Ensure the benchmark commands fits to its array
>   selftests/resctrl: Correct benchmark command help
>   selftests/resctrl: Remove bw_report and bm_type from main()
>   selftests/resctrl: Simplify span lifetime
>   selftests/resctrl: Reorder resctrl FS prep code and benchmark_cmd init
>   selftests/resctrl: Make benchmark command const and build it with
>     pointers
>   selftests/resctrl: Remove ben_count variable
>   selftests/resctrl: Cleanup benchmark argument parsing
> 
>  tools/testing/selftests/resctrl/cache.c       |   5 +-
>  tools/testing/selftests/resctrl/cat_test.c    |  13 +--
>  tools/testing/selftests/resctrl/cmt_test.c    |  34 ++++--
>  tools/testing/selftests/resctrl/mba_test.c    |   4 +-
>  tools/testing/selftests/resctrl/mbm_test.c    |   7 +-
>  tools/testing/selftests/resctrl/resctrl.h     |  16 +--
>  .../testing/selftests/resctrl/resctrl_tests.c | 100 ++++++++----------
>  tools/testing/selftests/resctrl/resctrl_val.c |  10 +-
>  8 files changed, 104 insertions(+), 85 deletions(-)
> 

-- 
Thanks
Babu Moger
Re: [PATCH v5 0/8] selftests/resctrl: Rework benchmark command handling
Posted by Reinette Chatre 2 years, 2 months ago
Hi Shuah,

Could you please consider this series for inclusion?

Thank you very much

Reinette

On 9/4/2023 2:53 AM, Ilpo Järvinen wrote:
> The benchmark command handling (-b) in resctrl selftests is overly
> complicated code. This series turns the benchmark command immutable to
> preserve it for all selftests and improves benchmark command related
> error handling.
> 
> This series also ends up removing the strcpy() calls which were pointed
> out earlier.
> 
> v5:
> - Fix another off-by-one error
> - Reorder local var declarations in main() to follow rev. xmas tree
> 
> v4:
> - Correct off-by-one error in -b processing
> - Reordered code in main() to make freeing span_str simpler (in new patch)
> - Use consistent style for const char * const *
> 
> v3:
> - Removed DEFAULT_SPAN_STR for real and the duplicated copy of defines
>   that made to v2 likely due to my incorrect conflict resolutions
> 
> v2:
> - Added argument length check into patch 1/7
> - Updated also -b line in help message.
> - Document -b argument related "algorithm"
> - Use asprintf() to convert defined constant int to string
> - Improved changelog texts
> - Added \n to ksft_exit_fail_msg() call messages.
> - Print DEFAULT_SPAN with %u instead of %zu to avoid need to cast it
> 
> Ilpo Järvinen (8):
>   selftests/resctrl: Ensure the benchmark commands fits to its array
>   selftests/resctrl: Correct benchmark command help
>   selftests/resctrl: Remove bw_report and bm_type from main()
>   selftests/resctrl: Simplify span lifetime
>   selftests/resctrl: Reorder resctrl FS prep code and benchmark_cmd init
>   selftests/resctrl: Make benchmark command const and build it with
>     pointers
>   selftests/resctrl: Remove ben_count variable
>   selftests/resctrl: Cleanup benchmark argument parsing
> 
>  tools/testing/selftests/resctrl/cache.c       |   5 +-
>  tools/testing/selftests/resctrl/cat_test.c    |  13 +--
>  tools/testing/selftests/resctrl/cmt_test.c    |  34 ++++--
>  tools/testing/selftests/resctrl/mba_test.c    |   4 +-
>  tools/testing/selftests/resctrl/mbm_test.c    |   7 +-
>  tools/testing/selftests/resctrl/resctrl.h     |  16 +--
>  .../testing/selftests/resctrl/resctrl_tests.c | 100 ++++++++----------
>  tools/testing/selftests/resctrl/resctrl_val.c |  10 +-
>  8 files changed, 104 insertions(+), 85 deletions(-)
> 
RE: [PATCH v5 0/8] selftests/resctrl: Rework benchmark command handling
Posted by Shaopeng Tan (Fujitsu) 2 years, 3 months ago
Hello Ilpo,

I ran this selftests set on Intel(R) Xeon(R) Gold 6254, 
there is no problem.

<Reviewed-by:tan.shaopeng@jp.fujitsu.com>
<Tested-by:tan.shaopeng@jp.fujitsu.com>

Best regards,
Shaopeng TAN