load_tracking.py: detect creeping tasks into the tests
{One,Two}Task[s]MigrationTests have a small error margin (2%). But in
some cases kthreads (and potentially other processes) could creep into
the CPU we are running the migration test on, causing its utlization to
exceed the expected value by more than the allowed error margin.
Worth noting that calculations of the util_mean has this other sources
of errors:
1. The actual duty cycle is higher than the
theoretical/requested one.
2. area_under_curve() will interpolate the decay linearly, but
we decay exponentially - causing the util_mean to appear
slightly higher.
3. The window (start, end) times don't co-incide with the actual
sample times from ftrace. Which means the util_mean will
appear slightly smaller than it is.
2 and 3 are probably compensating for each others. 1 can be fixed by
using bart to get the actual duty cycle and use that to calculate the
expected util.
test.py was updated to add get_sched_assert_pid() which searches for
a task by its pid instead of by its name as get_sched_assert() does.
Signed-off-by:
Qais Yousef <qais.yousef@arm.com>
Loading
Please register or sign in to comment