balance If a pipeline task is the last task on a cpu and it sleeps, then during newidle balance don't pull any other pipeline task on that cpu. If we allow this, we will end up with two pipeline tasks on the same cpu in the following series of events: 1. Task1 is about to sleep on a cpu7. 2. Task2 is selected to be pulled from another cpu. So, migration thread is scheduled to pull this task. 3. Task1 wakeup up again on cpu7 before migration of Task2 completes. 4. Task2 migrates to cpu7. Thus we end up having Task1 and Task2 on cpu7. Change-Id: I7b1430ebb565a21358995849b33a30af32ac1e4b Signed-off-by: Atul Pant <quic_atulpant@quicinc.com> |
||
|---|---|---|
| .. | ||
| walt | ||
| android.h | ||
| autogroup.c | ||
| autogroup.h | ||
| build_policy.c | ||
| build_utility.c | ||
| clock.c | ||
| completion.c | ||
| core.c | ||
| core_sched.c | ||
| cpuacct.c | ||
| cpudeadline.c | ||
| cpudeadline.h | ||
| cpufreq.c | ||
| cpufreq_schedutil.c | ||
| cpupri.c | ||
| cpupri.h | ||
| cputime.c | ||
| deadline.c | ||
| debug.c | ||
| fair.c | ||
| features.h | ||
| idle.c | ||
| isolation.c | ||
| loadavg.c | ||
| Makefile | ||
| membarrier.c | ||
| pelt.c | ||
| pelt.h | ||
| psi.c | ||
| rt.c | ||
| sched-pelt.h | ||
| sched.h | ||
| smp.h | ||
| stats.c | ||
| stats.h | ||
| stop_task.c | ||
| swait.c | ||
| topology.c | ||
| vendor_hooks.c | ||
| wait.c | ||
| wait_bit.c | ||