Loading kernel/sched/core.c +1 −1 Original line number Diff line number Diff line Loading @@ -2311,11 +2311,11 @@ void sched_exit(struct task_struct *p) reset_task_stats(p); p->ravg.mark_start = wallclock; p->ravg.sum_history[0] = EXITING_TASK_MARKER; free_task_load_ptrs(p); enqueue_task(rq, p, 0); clear_ed_task(p, rq); task_rq_unlock(rq, p, &flags); free_task_load_ptrs(p); } #endif /* CONFIG_SCHED_HMP */ Loading kernel/sched/hmp.c +4 −0 Original line number Diff line number Diff line Loading @@ -1526,6 +1526,10 @@ unsigned int cpu_temp(int cpu) return 0; } /* * kfree() may wakeup kswapd. So this function should NOT be called * with any CPU's rq->lock acquired. */ void free_task_load_ptrs(struct task_struct *p) { kfree(p->ravg.curr_window_cpu); Loading Loading
kernel/sched/core.c +1 −1 Original line number Diff line number Diff line Loading @@ -2311,11 +2311,11 @@ void sched_exit(struct task_struct *p) reset_task_stats(p); p->ravg.mark_start = wallclock; p->ravg.sum_history[0] = EXITING_TASK_MARKER; free_task_load_ptrs(p); enqueue_task(rq, p, 0); clear_ed_task(p, rq); task_rq_unlock(rq, p, &flags); free_task_load_ptrs(p); } #endif /* CONFIG_SCHED_HMP */ Loading
kernel/sched/hmp.c +4 −0 Original line number Diff line number Diff line Loading @@ -1526,6 +1526,10 @@ unsigned int cpu_temp(int cpu) return 0; } /* * kfree() may wakeup kswapd. So this function should NOT be called * with any CPU's rq->lock acquired. */ void free_task_load_ptrs(struct task_struct *p) { kfree(p->ravg.curr_window_cpu); Loading