[v8,0/6] Some improvements of resctrl selftest

Message ID 20230215083230.3155897-1-tan.shaopeng@jp.fujitsu.com
Headers
Series Some improvements of resctrl selftest |

Message

Shaopeng Tan Feb. 15, 2023, 8:32 a.m. UTC
  Hello,

The aim of this patch series is to improve the resctrl selftest.
Without these fixes, some unnecessary processing will be executed
and test results will be confusing. 
There is no behavior change in test themselves.

[patch 1] Make write_schemata() run to set up shemata with 100% allocation
	  on first run in MBM test.
[patch 2] The MBA test result message is always output as "ok",
	  make output message to be "not ok" if MBA check result is failed.
[patch 3] When a child process is created by fork(), the buffer of the 
	  parent process is also copied. Flush the buffer before
	  executing fork().
[patch 4] An error occurs whether in parents process or child process,
	  the parents process always kills child process and runs
	  umount_resctrlfs(), and the child process always waits to be
	  killed by the parent process.
[patch 5] If a signal received, to cleanup properly before exiting the
	  parent process, commonize the signal handler registered for 
	  CMT/MBM/MBA tests and reuse it in CAT, also unregister the 
	  signal handler at the end of each test.
[patch 6] Before exiting each test CMT/CAT/MBM/MBA, clear test result 
	  files function cat/cmt/mbm/mba_test_cleanup() are called
	  twice. Delete once.

This patch series is based on Linux v6.2-rc7.

Difference from v7:
[patch 4] 
  - Fix commitlog.
[patch 5]
  - Fix commitlog.

Pervious versions of this series:
[v1] https://lore.kernel.org/lkml/20220914015147.3071025-1-tan.shaopeng@jp.fujitsu.com/
[v2] https://lore.kernel.org/lkml/20221005013933.1486054-1-tan.shaopeng@jp.fujitsu.com/
[v3] https://lore.kernel.org/lkml/20221101094341.3383073-1-tan.shaopeng@jp.fujitsu.com/
[v4] https://lore.kernel.org/lkml/20221117010541.1014481-1-tan.shaopeng@jp.fujitsu.com/
[v5] https://lore.kernel.org/lkml/20230111075802.3556803-1-tan.shaopeng@jp.fujitsu.com/
[v6] https://lore.kernel.org/lkml/20230131054655.396270-1-tan.shaopeng@jp.fujitsu.com/
[v7] https://lore.kernel.org/lkml/20230213062428.1721572-1-tan.shaopeng@jp.fujitsu.com/

Shaopeng Tan (6):
  selftests/resctrl: Fix set up schemata with 100% allocation on first
    run in MBM test
  selftests/resctrl: Return MBA check result and make it to output
    message
  selftests/resctrl: Flush stdout file buffer before executing fork()
  selftests/resctrl: Cleanup properly when an error occurs in CAT test
  selftests/resctrl: Commonize the signal handler register/unregister
    for all tests
  selftests/resctrl: Remove duplicate codes that clear each test result
    file

 tools/testing/selftests/resctrl/cat_test.c    | 29 ++++----
 tools/testing/selftests/resctrl/cmt_test.c    |  7 +-
 tools/testing/selftests/resctrl/fill_buf.c    | 14 ----
 tools/testing/selftests/resctrl/mba_test.c    | 23 +++----
 tools/testing/selftests/resctrl/mbm_test.c    | 20 +++---
 tools/testing/selftests/resctrl/resctrl.h     |  2 +
 .../testing/selftests/resctrl/resctrl_tests.c |  4 --
 tools/testing/selftests/resctrl/resctrl_val.c | 67 ++++++++++++++-----
 tools/testing/selftests/resctrl/resctrlfs.c   |  5 +-
 9 files changed, 96 insertions(+), 75 deletions(-)
  

Comments

Reinette Chatre March 10, 2023, 10:25 p.m. UTC | #1
Hi Shuah,

Could you please consider taking this series in via the 
linux-kselftest tree?

Thank you very much

Reinette

On 2/15/2023 12:32 AM, Shaopeng Tan wrote:
> Hello,
> 
> The aim of this patch series is to improve the resctrl selftest.
> Without these fixes, some unnecessary processing will be executed
> and test results will be confusing. 
> There is no behavior change in test themselves.
> 
> [patch 1] Make write_schemata() run to set up shemata with 100% allocation
> 	  on first run in MBM test.
> [patch 2] The MBA test result message is always output as "ok",
> 	  make output message to be "not ok" if MBA check result is failed.
> [patch 3] When a child process is created by fork(), the buffer of the 
> 	  parent process is also copied. Flush the buffer before
> 	  executing fork().
> [patch 4] An error occurs whether in parents process or child process,
> 	  the parents process always kills child process and runs
> 	  umount_resctrlfs(), and the child process always waits to be
> 	  killed by the parent process.
> [patch 5] If a signal received, to cleanup properly before exiting the
> 	  parent process, commonize the signal handler registered for 
> 	  CMT/MBM/MBA tests and reuse it in CAT, also unregister the 
> 	  signal handler at the end of each test.
> [patch 6] Before exiting each test CMT/CAT/MBM/MBA, clear test result 
> 	  files function cat/cmt/mbm/mba_test_cleanup() are called
> 	  twice. Delete once.
> 
> This patch series is based on Linux v6.2-rc7.
> 
> Difference from v7:
> [patch 4] 
>   - Fix commitlog.
> [patch 5]
>   - Fix commitlog.
> 
> Pervious versions of this series:
> [v1] https://lore.kernel.org/lkml/20220914015147.3071025-1-tan.shaopeng@jp.fujitsu.com/
> [v2] https://lore.kernel.org/lkml/20221005013933.1486054-1-tan.shaopeng@jp.fujitsu.com/
> [v3] https://lore.kernel.org/lkml/20221101094341.3383073-1-tan.shaopeng@jp.fujitsu.com/
> [v4] https://lore.kernel.org/lkml/20221117010541.1014481-1-tan.shaopeng@jp.fujitsu.com/
> [v5] https://lore.kernel.org/lkml/20230111075802.3556803-1-tan.shaopeng@jp.fujitsu.com/
> [v6] https://lore.kernel.org/lkml/20230131054655.396270-1-tan.shaopeng@jp.fujitsu.com/
> [v7] https://lore.kernel.org/lkml/20230213062428.1721572-1-tan.shaopeng@jp.fujitsu.com/
> 
> Shaopeng Tan (6):
>   selftests/resctrl: Fix set up schemata with 100% allocation on first
>     run in MBM test
>   selftests/resctrl: Return MBA check result and make it to output
>     message
>   selftests/resctrl: Flush stdout file buffer before executing fork()
>   selftests/resctrl: Cleanup properly when an error occurs in CAT test
>   selftests/resctrl: Commonize the signal handler register/unregister
>     for all tests
>   selftests/resctrl: Remove duplicate codes that clear each test result
>     file
> 
>  tools/testing/selftests/resctrl/cat_test.c    | 29 ++++----
>  tools/testing/selftests/resctrl/cmt_test.c    |  7 +-
>  tools/testing/selftests/resctrl/fill_buf.c    | 14 ----
>  tools/testing/selftests/resctrl/mba_test.c    | 23 +++----
>  tools/testing/selftests/resctrl/mbm_test.c    | 20 +++---
>  tools/testing/selftests/resctrl/resctrl.h     |  2 +
>  .../testing/selftests/resctrl/resctrl_tests.c |  4 --
>  tools/testing/selftests/resctrl/resctrl_val.c | 67 ++++++++++++++-----
>  tools/testing/selftests/resctrl/resctrlfs.c   |  5 +-
>  9 files changed, 96 insertions(+), 75 deletions(-)
>
  
Reinette Chatre March 22, 2023, 8:34 p.m. UTC | #2
+x86 maintainers

Dear kselftest and x86 maintainers,

I am wondering about the appropriate path for this series and
also other pending resctrl selftest patches. Would you prefer it
routed via x86 or kselftest? If x86 I expect that we have to do
a better job of including x86 maintainers in all resctrl
selftest patch reviews.

Reinette

On 3/10/2023 2:25 PM, Reinette Chatre wrote:
> Hi Shuah,
> 
> Could you please consider taking this series in via the 
> linux-kselftest tree?
> 
> Thank you very much
> 
> Reinette
> 
> On 2/15/2023 12:32 AM, Shaopeng Tan wrote:
>> Hello,
>>
>> The aim of this patch series is to improve the resctrl selftest.
>> Without these fixes, some unnecessary processing will be executed
>> and test results will be confusing. 
>> There is no behavior change in test themselves.
>>
>> [patch 1] Make write_schemata() run to set up shemata with 100% allocation
>> 	  on first run in MBM test.
>> [patch 2] The MBA test result message is always output as "ok",
>> 	  make output message to be "not ok" if MBA check result is failed.
>> [patch 3] When a child process is created by fork(), the buffer of the 
>> 	  parent process is also copied. Flush the buffer before
>> 	  executing fork().
>> [patch 4] An error occurs whether in parents process or child process,
>> 	  the parents process always kills child process and runs
>> 	  umount_resctrlfs(), and the child process always waits to be
>> 	  killed by the parent process.
>> [patch 5] If a signal received, to cleanup properly before exiting the
>> 	  parent process, commonize the signal handler registered for 
>> 	  CMT/MBM/MBA tests and reuse it in CAT, also unregister the 
>> 	  signal handler at the end of each test.
>> [patch 6] Before exiting each test CMT/CAT/MBM/MBA, clear test result 
>> 	  files function cat/cmt/mbm/mba_test_cleanup() are called
>> 	  twice. Delete once.
>>
>> This patch series is based on Linux v6.2-rc7.
>>
>> Difference from v7:
>> [patch 4] 
>>   - Fix commitlog.
>> [patch 5]
>>   - Fix commitlog.
>>
>> Pervious versions of this series:
>> [v1] https://lore.kernel.org/lkml/20220914015147.3071025-1-tan.shaopeng@jp.fujitsu.com/
>> [v2] https://lore.kernel.org/lkml/20221005013933.1486054-1-tan.shaopeng@jp.fujitsu.com/
>> [v3] https://lore.kernel.org/lkml/20221101094341.3383073-1-tan.shaopeng@jp.fujitsu.com/
>> [v4] https://lore.kernel.org/lkml/20221117010541.1014481-1-tan.shaopeng@jp.fujitsu.com/
>> [v5] https://lore.kernel.org/lkml/20230111075802.3556803-1-tan.shaopeng@jp.fujitsu.com/
>> [v6] https://lore.kernel.org/lkml/20230131054655.396270-1-tan.shaopeng@jp.fujitsu.com/
>> [v7] https://lore.kernel.org/lkml/20230213062428.1721572-1-tan.shaopeng@jp.fujitsu.com/
>>
>> Shaopeng Tan (6):
>>   selftests/resctrl: Fix set up schemata with 100% allocation on first
>>     run in MBM test
>>   selftests/resctrl: Return MBA check result and make it to output
>>     message
>>   selftests/resctrl: Flush stdout file buffer before executing fork()
>>   selftests/resctrl: Cleanup properly when an error occurs in CAT test
>>   selftests/resctrl: Commonize the signal handler register/unregister
>>     for all tests
>>   selftests/resctrl: Remove duplicate codes that clear each test result
>>     file
>>
>>  tools/testing/selftests/resctrl/cat_test.c    | 29 ++++----
>>  tools/testing/selftests/resctrl/cmt_test.c    |  7 +-
>>  tools/testing/selftests/resctrl/fill_buf.c    | 14 ----
>>  tools/testing/selftests/resctrl/mba_test.c    | 23 +++----
>>  tools/testing/selftests/resctrl/mbm_test.c    | 20 +++---
>>  tools/testing/selftests/resctrl/resctrl.h     |  2 +
>>  .../testing/selftests/resctrl/resctrl_tests.c |  4 --
>>  tools/testing/selftests/resctrl/resctrl_val.c | 67 ++++++++++++++-----
>>  tools/testing/selftests/resctrl/resctrlfs.c   |  5 +-
>>  9 files changed, 96 insertions(+), 75 deletions(-)
>>
  
Reinette Chatre April 12, 2023, 5:30 p.m. UTC | #3
Hi Shaopeng,

On 2/15/2023 12:32 AM, Shaopeng Tan wrote:
> Hello,
> 
> The aim of this patch series is to improve the resctrl selftest.
> Without these fixes, some unnecessary processing will be executed
> and test results will be confusing. 
> There is no behavior change in test themselves.
> 
> [patch 1] Make write_schemata() run to set up shemata with 100% allocation
> 	  on first run in MBM test.
> [patch 2] The MBA test result message is always output as "ok",
> 	  make output message to be "not ok" if MBA check result is failed.
> [patch 3] When a child process is created by fork(), the buffer of the 
> 	  parent process is also copied. Flush the buffer before
> 	  executing fork().
> [patch 4] An error occurs whether in parents process or child process,
> 	  the parents process always kills child process and runs
> 	  umount_resctrlfs(), and the child process always waits to be
> 	  killed by the parent process.
> [patch 5] If a signal received, to cleanup properly before exiting the
> 	  parent process, commonize the signal handler registered for 
> 	  CMT/MBM/MBA tests and reuse it in CAT, also unregister the 
> 	  signal handler at the end of each test.
> [patch 6] Before exiting each test CMT/CAT/MBM/MBA, clear test result 
> 	  files function cat/cmt/mbm/mba_test_cleanup() are called
> 	  twice. Delete once.
> 
> This patch series is based on Linux v6.2-rc7.
> 

A later patch series was picked up by kselftest causing a conflict with
this series. Could you please submit a new version that is based on
the "next" branch of
git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git ?

Thank you very much

Reinette