public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/16] selftests/resctrl: resctrl_val() related cleanups & improvements
@ 2024-04-08 16:32 Ilpo Järvinen
  2024-04-08 16:32 ` [PATCH v3 01/16] selftests/resctrl: Open get_mem_bw_imc() fd for loops Ilpo Järvinen
                   ` (16 more replies)
  0 siblings, 17 replies; 24+ messages in thread
From: Ilpo Järvinen @ 2024-04-08 16:32 UTC (permalink / raw)
  To: linux-kselftest, Reinette Chatre, Shuah Khan, Babu Moger,
	Maciej Wieczór-Retman
  Cc: Fenghua Yu, linux-kernel, Ilpo Järvinen

Hi all,

This series does a number of cleanups into resctrl_val() and
generalizes it by removing test name specific handling from the
function.

One of the changes improves MBA/MBM measurement by narrowing down the
period the resctrl FS derived memory bandwidth numbers are measured
over. My feel is it didn't cause noticeable difference into the numbers
because they're generally good anyway except for the small number of
outliers. To see the impact on outliers, I'd need to setup a test to
run large number of replications and do a statistical analysis, which
I've not spent my time on. Even without the statistical analysis, the
new way to measure seems obviously better and makes sense even if I
cannot see a major improvement with the setup I'm using.

This series has some conflicts with SNC series from Maciej (Maciej has
privately agreed to base his series on top of this series) and also
with the MBA/MBM series from Babu.

--
 i.

v3:
- Rename init functions to <testname>_init()
- Replace for loops with READ+WRITE statements for clarity
- Don't drop Return: entry from perf_open_imc_mem_bw() func comment
- New patch: Fix closing of IMC fds in case of error
- New patch: Make "bandwidth" consistent in comments & prints
- New patch: Simplify mem bandwidth file code
- Remove wrong comment
- Changed grp_name check to return -1 on fail (internal sanity check)

v2:
- Resolved conflicts with kselftest/next
- Spaces -> tabs correction

Ilpo Järvinen (16):
  selftests/resctrl: Open get_mem_bw_imc() fd for loops
  selftests/resctrl: Calculate resctrl FS derived mem bw over sleep(1)
    only
  selftests/resctrl: Fix closing IMC fds on error
  selftests/resctrl: Make "bandwidth" consistent in comments & prints
  selftests/resctrl: Consolidate get_domain_id() into resctrl_val()
  selftests/resctrl: Use correct type for pids
  selftests/resctrl: Cleanup bm_pid and ppid usage & limit scope
  selftests/resctrl: Rename measure_vals() to measure_mem_bw_vals() &
    document
  selftests/resctrl: Simplify mem bandwidth file code for MBA & MBM
    tests
  selftests/resctrl: Add ->measure() callback to resctrl_val_param
  selftests/resctrl: Add ->init() callback into resctrl_val_param
  selftests/resctrl: Simplify bandwidth report type handling
  selftests/resctrl: Make some strings passed to resctrlfs functions
    const
  selftests/resctrl: Convert ctrlgrp & mongrp to pointers
  selftests/resctrl: Remove mongrp from MBA test
  selftests/resctrl: Remove test name comparing from
    write_bm_pid_to_resctrl()

 tools/testing/selftests/resctrl/cache.c       |   6 +-
 tools/testing/selftests/resctrl/cat_test.c    |   5 +-
 tools/testing/selftests/resctrl/cmt_test.c    |  21 +-
 tools/testing/selftests/resctrl/mba_test.c    |  26 +-
 tools/testing/selftests/resctrl/mbm_test.c    |  25 +-
 tools/testing/selftests/resctrl/resctrl.h     |  49 ++-
 tools/testing/selftests/resctrl/resctrl_val.c | 295 +++++++-----------
 tools/testing/selftests/resctrl/resctrlfs.c   |  64 ++--
 8 files changed, 238 insertions(+), 253 deletions(-)

-- 
2.39.2


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2024-04-25  4:46 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-08 16:32 [PATCH v3 00/16] selftests/resctrl: resctrl_val() related cleanups & improvements Ilpo Järvinen
2024-04-08 16:32 ` [PATCH v3 01/16] selftests/resctrl: Open get_mem_bw_imc() fd for loops Ilpo Järvinen
2024-04-25  4:37   ` Reinette Chatre
2024-04-08 16:32 ` [PATCH v3 02/16] selftests/resctrl: Calculate resctrl FS derived mem bw over sleep(1) only Ilpo Järvinen
2024-04-25  4:38   ` Reinette Chatre
2024-04-08 16:32 ` [PATCH v3 03/16] selftests/resctrl: Fix closing IMC fds on error Ilpo Järvinen
2024-04-08 16:32 ` [PATCH v3 04/16] selftests/resctrl: Make "bandwidth" consistent in comments & prints Ilpo Järvinen
2024-04-08 16:32 ` [PATCH v3 05/16] selftests/resctrl: Consolidate get_domain_id() into resctrl_val() Ilpo Järvinen
2024-04-08 16:32 ` [PATCH v3 06/16] selftests/resctrl: Use correct type for pids Ilpo Järvinen
2024-04-08 16:32 ` [PATCH v3 07/16] selftests/resctrl: Cleanup bm_pid and ppid usage & limit scope Ilpo Järvinen
2024-04-25  4:37   ` Reinette Chatre
2024-04-08 16:32 ` [PATCH v3 08/16] selftests/resctrl: Rename measure_vals() to measure_mem_bw_vals() & document Ilpo Järvinen
2024-04-08 16:32 ` [PATCH v3 09/16] selftests/resctrl: Simplify mem bandwidth file code for MBA & MBM tests Ilpo Järvinen
2024-04-25  4:38   ` Reinette Chatre
2024-04-08 16:32 ` [PATCH v3 10/16] selftests/resctrl: Add ->measure() callback to resctrl_val_param Ilpo Järvinen
2024-04-08 16:32 ` [PATCH v3 11/16] selftests/resctrl: Add ->init() callback into resctrl_val_param Ilpo Järvinen
2024-04-25  4:39   ` Reinette Chatre
2024-04-08 16:32 ` [PATCH v3 12/16] selftests/resctrl: Simplify bandwidth report type handling Ilpo Järvinen
2024-04-08 16:32 ` [PATCH v3 13/16] selftests/resctrl: Make some strings passed to resctrlfs functions const Ilpo Järvinen
2024-04-08 16:32 ` [PATCH v3 14/16] selftests/resctrl: Convert ctrlgrp & mongrp to pointers Ilpo Järvinen
2024-04-08 16:32 ` [PATCH v3 15/16] selftests/resctrl: Remove mongrp from MBA test Ilpo Järvinen
2024-04-08 16:32 ` [PATCH v3 16/16] selftests/resctrl: Remove test name comparing from write_bm_pid_to_resctrl() Ilpo Järvinen
2024-04-24 13:49 ` [PATCH v3 00/16] selftests/resctrl: resctrl_val() related cleanups & improvements Shuah Khan
2024-04-25  4:46   ` Reinette Chatre

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox