diff options
Diffstat (limited to 'kernel/sched/core.c')
| -rw-r--r-- | kernel/sched/core.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index cddb0073c5fb..7b7f1961fd10 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -5645,6 +5645,10 @@ int sched_isolate_cpu(int cpu) struct rq *rq = cpu_rq(cpu); cpumask_t avail_cpus; int ret_code = 0; + u64 start_time; + + if (trace_sched_isolate_enabled()) + start_time = sched_clock(); lock_device_hotplug(); @@ -5681,6 +5685,8 @@ int sched_isolate_cpu(int cpu) out: unlock_device_hotplug(); + trace_sched_isolate(cpu, cpumask_bits(cpu_isolated_mask)[0], + start_time, 1); return ret_code; } @@ -5694,6 +5700,10 @@ int sched_unisolate_cpu_unlocked(int cpu) { int ret_code = 0; struct rq *rq = cpu_rq(cpu); + u64 start_time; + + if (trace_sched_isolate_enabled()) + start_time = sched_clock(); lock_device_hotplug_assert(); @@ -5730,6 +5740,8 @@ int sched_unisolate_cpu_unlocked(int cpu) } out: + trace_sched_isolate(cpu, cpumask_bits(cpu_isolated_mask)[0], + start_time, 0); return ret_code; } |
