tests/eas: Add misfit.py test file
This test suite targets the behaviour of misfit tasks. For now it only has the "staggered finishes" test case, which consists of NR_CPUS 100% tasks, briefly pinned to one CPU to ensure there is one task per CPU. The tasks running on the big CPUs should complete first, and at this point we expect them to pull the tasks on the LITTLEs via idle balance. The tests associated with this workload are: - test_preempt_time: Asserts that tasks are not preempted for more than 1% of the test duration, since each task should get its own CPU. - test_migration_delay: Asserts that big CPUs pull tasks ASAP after their initial task is completed. - test_throughput Asserts that big CPUs are never idle for more than 1ms when there are tasks running the LITTLEs. ====== Known issues: Because there can be unwanted processes (e.g. sshd) popping up at the wrong time, causing the imbalance to be of type group_overloaded instead of group_misfit_task, the misfit logic can be skipped in the load balance. This is something that should eventually be fixed. Also, test_migration_delay is just a subset of test_throughput. However, because of the group_overloaded issues, tasks can still move from big to LITTLE CPUs, and it takes >1ms to move them back, causing test_throughput to fail. test_migration_delay is here to at least ensure the newidle pull happened, since test_throughput is going to fail a lot in the foreseeable future.
Loading
Please register or sign in to comment