summaryrefslogtreecommitdiff
path: root/kernel/sched/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sched/core.c')
-rw-r--r--kernel/sched/core.c12
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;
}