aboutsummaryrefslogtreecommitdiffstats
path: root/fs/proc/array.c
diff options
context:
space:
mode:
authorStafford Horne <[email protected]>2017-06-23 22:09:59 +0000
committerStafford Horne <[email protected]>2017-11-03 05:01:14 +0000
commitc056718464512da06d7f65a27d5e4f1707b24c80 (patch)
tree3b3b3076d876428ae8b81826f7171f22e84009a5 /fs/proc/array.c
parentopenrisc: fix initial preempt state for secondary cpu tasks (diff)
downloadkernel-c056718464512da06d7f65a27d5e4f1707b24c80.tar.gz
kernel-c056718464512da06d7f65a27d5e4f1707b24c80.zip
openrisc: sleep instead of spin on secondary wait
Currently we do a spin on secondary cpus when waiting to boot. This theoretically causes issues with power consumption and does cause issues with qemu cycle burning (it starves cpu 0 from actually being able to boot.) This change puts each secondary cpu to sleep if they have a power management unit, then signals them to wake via IPI when its time to boot. If the cpus have no power management unit they will loop as before. Note: The wakeup IPI requires a special interrupt handler as on secondary cpu's the interrupt infrastructure is not yet established. This interrupt handler is set and reset by updating SPR_EVBAR. Signed-off-by: Stafford Horne <[email protected]>
Diffstat (limited to 'fs/proc/array.c')
0 files changed, 0 insertions, 0 deletions