Messages in this thread | | | From | Qais Yousef <> | Subject | [PATCH 0/7] Add new tracepoints required for EAS testing | Date | Sun, 5 May 2019 12:57:25 +0100 |
| |
The following patches add the bare minimum tracepoints required to perform EAS testing in Lisa[1].
The new tracepoints are bare in a sense that they don't export any info in tracefs, hence shouldn't introduce any ABI. The intended way to use them is by loading a module that will probe the tracepoints and extract the info required for userspace testing.
It is done in this way because adding new TRACE_EVENTS() is no longer accepted AFAIU.
The tracepoints are focused around tracking PELT signals which is what EAS uses to make its decision, hence knowing the value of PELT as it changes allows verifying that EAS is doing the right thing based on synthetic tests that simulate different scenarios.
Beside EAS, the new tracepoints can help investigate CFS load balancer and CFS taskgroup handling as they are both based on PELT signals too.
The first 2 patches do a bit of code shuffling to expose some required functions.
Patch 3 adds a new cfs helper function.
Patches 4-6 add the new tracepoints.
Patch 7 exports the tracepoints so that out of tree modules can probe the new tracepoints with least amount of effort - which extends the usefulness of the tracepoints since creating a module to probe them is the only way to access them.
An example module that uses these tracepoints is available in [2].
[1] https://github.com/ARM-software/lisa [2] https://github.com/qais-yousef/tracepoints-helpers/blob/master/lisa_tp/lisa_tp.c
Qais Yousef (7): sched: autogroup: Make autogroup_path() always available sched: fair: move helper functions into fair.h sched: fair.h: add a new cfs_rq_tg_path() sched: Add sched_load_rq tracepoint sched: Add sched_load_se tracepoint sched: Add sched_overutilized tracepoint sched: export the newly added tracepoints
include/trace/events/sched.h | 17 +++ kernel/sched/autogroup.c | 2 - kernel/sched/core.c | 8 ++ kernel/sched/fair.c | 212 ++---------------------------- kernel/sched/fair.h | 215 +++++++++++++++++++++++++++++++ kernel/sched/pelt.c | 6 + kernel/sched/sched.h | 1 + kernel/sched/sched_tracepoints.h | 52 ++++++++ 8 files changed, 313 insertions(+), 200 deletions(-) create mode 100644 kernel/sched/fair.h create mode 100644 kernel/sched/sched_tracepoints.h
-- 2.17.1
| |