core.c (f7f4e7fc6c517708738d1d1984b170e9475a130f) | core.c (d7822b1e24f2df5df98c76f0e94a5416349ff759) |
---|---|
1/* 2 * kernel/sched/core.c 3 * 4 * Core kernel scheduler code and related syscalls 5 * 6 * Copyright (C) 1991-2002 Linus Torvalds 7 */ 8#include "sched.h" --- 1177 unchanged lines hidden (view full) --- 1186#endif 1187 1188 trace_sched_migrate_task(p, new_cpu); 1189 1190 if (task_cpu(p) != new_cpu) { 1191 if (p->sched_class->migrate_task_rq) 1192 p->sched_class->migrate_task_rq(p); 1193 p->se.nr_migrations++; | 1/* 2 * kernel/sched/core.c 3 * 4 * Core kernel scheduler code and related syscalls 5 * 6 * Copyright (C) 1991-2002 Linus Torvalds 7 */ 8#include "sched.h" --- 1177 unchanged lines hidden (view full) --- 1186#endif 1187 1188 trace_sched_migrate_task(p, new_cpu); 1189 1190 if (task_cpu(p) != new_cpu) { 1191 if (p->sched_class->migrate_task_rq) 1192 p->sched_class->migrate_task_rq(p); 1193 p->se.nr_migrations++; |
1194 rseq_migrate(p); |
|
1194 perf_event_task_migrate(p); 1195 } 1196 1197 __set_task_cpu(p, new_cpu); 1198} 1199 1200static void __migrate_swap_task(struct task_struct *p, int cpu) 1201{ --- 1427 unchanged lines hidden (view full) --- 2629 * hooks. 2630 */ 2631static inline void 2632prepare_task_switch(struct rq *rq, struct task_struct *prev, 2633 struct task_struct *next) 2634{ 2635 sched_info_switch(rq, prev, next); 2636 perf_event_task_sched_out(prev, next); | 1195 perf_event_task_migrate(p); 1196 } 1197 1198 __set_task_cpu(p, new_cpu); 1199} 1200 1201static void __migrate_swap_task(struct task_struct *p, int cpu) 1202{ --- 1427 unchanged lines hidden (view full) --- 2630 * hooks. 2631 */ 2632static inline void 2633prepare_task_switch(struct rq *rq, struct task_struct *prev, 2634 struct task_struct *next) 2635{ 2636 sched_info_switch(rq, prev, next); 2637 perf_event_task_sched_out(prev, next); |
2638 rseq_preempt(prev); |
|
2637 fire_sched_out_preempt_notifiers(prev, next); 2638 prepare_task(next); 2639 prepare_arch_switch(next); 2640} 2641 2642/** 2643 * finish_task_switch - clean up after a task-switch 2644 * @prev: the thread we just switched away from. --- 4442 unchanged lines hidden --- | 2639 fire_sched_out_preempt_notifiers(prev, next); 2640 prepare_task(next); 2641 prepare_arch_switch(next); 2642} 2643 2644/** 2645 * finish_task_switch - clean up after a task-switch 2646 * @prev: the thread we just switched away from. --- 4442 unchanged lines hidden --- |