Workload is pinned in just one CPU
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linaro Power Idlestat |
Fix Committed
|
High
|
Daniel Lezcano |
Bug Description
To properly identify the initial PState of each CPU, the idlestat_wake_all
function is used to force an idle state exit on all CPUs by pinning idlestat
on each CPUs.
However, this routine forgets to recover the original mask at the end of
the pinning process. Thus, the workload is being executed on just the
highest CPU.
Moreover, a CPU mask could be configured before idlestat is run, thus
it will be more safe to ensure a workload execution just on the CPUs
preconfigured by the original pinning.
The patch in attachment solves this issue by properly recovering the
original CPU affinity mask.
Moreover, as a little optimization, it avoids to wake up CPUs that will
not be used to run the workload.
Changed in linaro-power-idlestat: | |
status: | New → Confirmed |
importance: | Undecided → High |
assignee: | nobody → Daniel Lezcano (daniel-lezcano) |
Changed in linaro-power-idlestat: | |
status: | Confirmed → Fix Committed |