diff options
author | Vijay Kumar <[email protected]> | 2017-07-21 10:23:57 -0600 |
---|---|---|
committer | David S. Miller <[email protected]> | 2017-08-09 22:15:10 -0700 |
commit | 8536e02e912a46aa1c100bb1f5ccdca42e4e1ad2 (patch) | |
tree | 1a27965ab0da09dd07cfa6a7515aa21deee0984e /arch/sparc/kernel/process_64.c | |
parent | 28d43de741cc67a9d8748de7dcb6c5f54cfa669c (diff) |
sparc64: Use CPU_POKE to resume idle cpu
Use CPU_POKE hypervisor call to resume idle cpu if supported.
Signed-off-by: Vijay Kumar <[email protected]>
Reviewed-by: Anthony Yznaga <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'arch/sparc/kernel/process_64.c')
-rw-r--r-- | arch/sparc/kernel/process_64.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/sparc/kernel/process_64.c b/arch/sparc/kernel/process_64.c index b96104da5bd6..44e5da405f96 100644 --- a/arch/sparc/kernel/process_64.c +++ b/arch/sparc/kernel/process_64.c @@ -77,8 +77,13 @@ void arch_cpu_idle(void) : "=&r" (pstate) : "i" (PSTATE_IE)); - if (!need_resched() && !cpu_is_offline(smp_processor_id())) + if (!need_resched() && !cpu_is_offline(smp_processor_id())) { sun4v_cpu_yield(); + /* If resumed by cpu_poke then we need to explicitly + * call scheduler_ipi(). + */ + scheduler_poke(); + } /* Re-enable interrupts. */ __asm__ __volatile__( |