summaryrefslogtreecommitdiff
path: root/arch/s390/kernel/idle.c
diff options
context:
space:
mode:
authorHeiko Carstens <hca@linux.ibm.com>2020-12-15 00:36:03 +0300
committerHeiko Carstens <hca@linux.ibm.com>2020-12-16 16:55:49 +0300
commit7494755a9ad62be7e389b535c77e85ed9c66bece (patch)
tree3600442d8cede16d2b26b05e3e14018aee993d43 /arch/s390/kernel/idle.c
parent44292c868473ed6389a78cfa366895b341845579 (diff)
downloadlinux-7494755a9ad62be7e389b535c77e85ed9c66bece.tar.xz
s390/idle: remove raw_local_irq_save()/restore() from arch_cpu_idle()
arch_cpu_idle() gets called with interrupts disabled, and psw_idle() returns with interrupts disabled. No reason to use raw_local_irq_save() / restore(). Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390/kernel/idle.c')
-rw-r--r--arch/s390/kernel/idle.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/arch/s390/kernel/idle.c b/arch/s390/kernel/idle.c
index bbf6b7d959c2..ae27e9fb5d94 100644
--- a/arch/s390/kernel/idle.c
+++ b/arch/s390/kernel/idle.c
@@ -25,18 +25,15 @@ void arch_cpu_idle(void)
{
struct s390_idle_data *idle = this_cpu_ptr(&s390_idle);
unsigned long long idle_time;
- unsigned long psw_mask, flags;
-
+ unsigned long psw_mask;
/* Wait for external, I/O or machine check interrupt. */
psw_mask = PSW_KERNEL_BITS | PSW_MASK_WAIT | PSW_MASK_DAT |
PSW_MASK_IO | PSW_MASK_EXT | PSW_MASK_MCHECK;
clear_cpu_flag(CIF_NOHZ_DELAY);
- raw_local_irq_save(flags);
- /* Call the assembler magic in entry.S */
+ /* psw_idle() returns with interrupts disabled. */
psw_idle(idle, psw_mask);
- raw_local_irq_restore(flags);
/* Account time spent with enabled wait psw loaded as idle time. */
raw_write_seqcount_begin(&idle->seqcount);