Loading kernel/sched.c +4 −0 Original line number Diff line number Diff line Loading @@ -7078,8 +7078,12 @@ int set_cpus_allowed_ptr(struct task_struct *p, const struct cpumask *new_mask) if (migrate_task(p, cpumask_any_and(cpu_online_mask, new_mask), &req)) { /* Need help from migration thread: drop lock and wait. */ struct task_struct *mt = rq->migration_thread; get_task_struct(mt); task_rq_unlock(rq, &flags); wake_up_process(rq->migration_thread); put_task_struct(mt); wait_for_completion(&req.done); tlb_migrate_finish(p->mm); return 0; Loading Loading
kernel/sched.c +4 −0 Original line number Diff line number Diff line Loading @@ -7078,8 +7078,12 @@ int set_cpus_allowed_ptr(struct task_struct *p, const struct cpumask *new_mask) if (migrate_task(p, cpumask_any_and(cpu_online_mask, new_mask), &req)) { /* Need help from migration thread: drop lock and wait. */ struct task_struct *mt = rq->migration_thread; get_task_struct(mt); task_rq_unlock(rq, &flags); wake_up_process(rq->migration_thread); put_task_struct(mt); wait_for_completion(&req.done); tlb_migrate_finish(p->mm); return 0; Loading