Message ID | 20221101094341.3383073-4-tan.shaopeng@jp.fujitsu.com (mailing list archive) |
---|---|
State | Accepted |
Commit | a080b6e74b241dbc7e13dd378d6f6fc884579196 |
Headers | show |
Series | Some improvements of resctrl selftest | expand |
On 11/1/22 03:43, Shaopeng Tan wrote: > When a process has buffered output, a child process created by fork() > will also copy buffered output. When using kselftest framework, > the output (resctrl test result message) will be printed multiple times. > > Add fflush() to flush out the buffered output before executing fork(). > > Reviewed-by: Reinette Chatre <reinette.chatre@intel.com> > Signed-off-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com> > --- > tools/testing/selftests/resctrl/cat_test.c | 1 + > tools/testing/selftests/resctrl/resctrl_val.c | 1 + > tools/testing/selftests/resctrl/resctrlfs.c | 1 + > 3 files changed, 3 insertions(+) > > diff --git a/tools/testing/selftests/resctrl/cat_test.c b/tools/testing/selftests/resctrl/cat_test.c > index 1c5e90c63254..6a8306b0a109 100644 > --- a/tools/testing/selftests/resctrl/cat_test.c > +++ b/tools/testing/selftests/resctrl/cat_test.c > @@ -167,6 +167,7 @@ int cat_perf_miss_val(int cpu_no, int n, char *cache_type) > return errno; > } > > + fflush(stdout); > bm_pid = fork(); > > /* Set param values for child thread which will be allocated bitmask > diff --git a/tools/testing/selftests/resctrl/resctrl_val.c b/tools/testing/selftests/resctrl/resctrl_val.c > index b32b96356ec7..6948843bf995 100644 > --- a/tools/testing/selftests/resctrl/resctrl_val.c > +++ b/tools/testing/selftests/resctrl/resctrl_val.c > @@ -629,6 +629,7 @@ int resctrl_val(char **benchmark_cmd, struct resctrl_val_param *param) > * Fork to start benchmark, save child's pid so that it can be killed > * when needed > */ > + fflush(stdout); > bm_pid = fork(); > if (bm_pid == -1) { > perror("# Unable to fork"); > diff --git a/tools/testing/selftests/resctrl/resctrlfs.c b/tools/testing/selftests/resctrl/resctrlfs.c > index 8546bc9f1786..d95688298469 100644 > --- a/tools/testing/selftests/resctrl/resctrlfs.c > +++ b/tools/testing/selftests/resctrl/resctrlfs.c > @@ -678,6 +678,7 @@ int filter_dmesg(void) > perror("pipe"); > return ret; > } > + fflush(stdout); > pid = fork(); > if (pid == 0) { > close(pipefds[0]); Good find. Looks good to me. Reviewed-by: Shuah Khan <skhan@linuxfoundation.org> thanks, -- Shuah
diff --git a/tools/testing/selftests/resctrl/cat_test.c b/tools/testing/selftests/resctrl/cat_test.c index 1c5e90c63254..6a8306b0a109 100644 --- a/tools/testing/selftests/resctrl/cat_test.c +++ b/tools/testing/selftests/resctrl/cat_test.c @@ -167,6 +167,7 @@ int cat_perf_miss_val(int cpu_no, int n, char *cache_type) return errno; } + fflush(stdout); bm_pid = fork(); /* Set param values for child thread which will be allocated bitmask diff --git a/tools/testing/selftests/resctrl/resctrl_val.c b/tools/testing/selftests/resctrl/resctrl_val.c index b32b96356ec7..6948843bf995 100644 --- a/tools/testing/selftests/resctrl/resctrl_val.c +++ b/tools/testing/selftests/resctrl/resctrl_val.c @@ -629,6 +629,7 @@ int resctrl_val(char **benchmark_cmd, struct resctrl_val_param *param) * Fork to start benchmark, save child's pid so that it can be killed * when needed */ + fflush(stdout); bm_pid = fork(); if (bm_pid == -1) { perror("# Unable to fork"); diff --git a/tools/testing/selftests/resctrl/resctrlfs.c b/tools/testing/selftests/resctrl/resctrlfs.c index 8546bc9f1786..d95688298469 100644 --- a/tools/testing/selftests/resctrl/resctrlfs.c +++ b/tools/testing/selftests/resctrl/resctrlfs.c @@ -678,6 +678,7 @@ int filter_dmesg(void) perror("pipe"); return ret; } + fflush(stdout); pid = fork(); if (pid == 0) { close(pipefds[0]);