Spdk/test/event
Tomasz Zawadzki 88f16162e7 test/scheduler: make spdk_for_each_reactor test optional
(84ab68c) test/scheduler: add a for_each_reactor shutdown test

Patch above added regression test for handling spdk_for_each_reactor
during shutdown, by adding constant repeat of this operation
while application is running.

Reactor event processing (especially constant) has impact on the
reactor_interrupt_run(). spdk_fd_group_wait() will almost always
execute an event, skewing the results of scheduler test.
Reactor that should have been idle, will show active usage via
/proc/stat.

Fixes #1950

This patch makes this regression test optional, and enables it
only in test that does not measure CPU utilization from the system.
The ./test/event/scheduler/scheduler.sh is the only one where it is
enabled, as it's purpose is to verify the test scheduler application.
Remaining ./test/scheduler/*.sh tests do verify CPU utilization,
so the regression test is disabled in those.

Modified the for_each_done, to for_each_reactor_start, to better
reflect the intention.

On my system enabling spdk_for_each_reactor test flag on the
scheduler application with no threads (except app thread),
consumes ~20-25% CPU from every core in CPU mask.
Meanwhile disabling it, idle cores are 100% idle
and active cores spend 100% of CPU time in usr.

Change-Id: I40eda15a748e76b95dc5441144cd8931e46edee5
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15210
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
2022-11-08 08:19:44 +00:00
..
app_repeat check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
event_perf Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
reactor Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
reactor_perf Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
scheduler test/scheduler: make spdk_for_each_reactor test optional 2022-11-08 08:19:44 +00:00
event.sh test/scheduler: application to test behaviour of schedulers 2021-01-22 18:31:25 +00:00
Makefile Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00