Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 07359763 authored by Vikram Mulukutla's avatar Vikram Mulukutla
Browse files

sched: Fix racy invocation of fixup_busy_time via move_queued_task



set_task_cpu uses fixup_busy_time to redistribute a task's load
information between source and destination runqueues. fixup_busy_time
assumes that both source and destination runqueue locks have been
acquired if the task is not being concurrently woken up. However
this is no longer true, since move_queued_task does not acquire the
destination CPU's runqueue lock due to optimizations brought in by
recent kernels.

Acquire both source and destination runqueue locks before invoking
set_task_cpu in move_queued_tasks.

Change-Id: I39fadf0508ad42e511db43428e52c8aa8bf9baf6
Signed-off-by: default avatarVikram Mulukutla <markivx@codeaurora.org>
parent 861a4ae9
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment