powerpc/64s: Remove irq mask workaround in accumulate_stolen_time()
authorNicholas Piggin <npiggin@gmail.com>
Wed, 23 Jun 2021 02:29:24 +0000 (12:29 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 24 Jun 2021 14:07:09 +0000 (00:07 +1000)
The caller has been moved to C after irq soft-mask state has been
reconciled, and Linux IRQs have been marked as disabled, so this no
longer needs to play games with IRQ internals.

Fixes: 68b34588e202 ("powerpc/64/sycall: Implement syscall entry/exit logic in C")
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210623022924.704645-1-npiggin@gmail.com
arch/powerpc/kernel/time.c

index da995c5fb97d93b5fea0c7b5bfb20c5a3bd101cc..e45ce427bffb1f51ab52c801cf51184378a3e1ef 100644 (file)
@@ -231,24 +231,13 @@ static u64 scan_dispatch_log(u64 stop_tb)
 void notrace accumulate_stolen_time(void)
 {
        u64 sst, ust;
-       unsigned long save_irq_soft_mask = irq_soft_mask_return();
        struct cpu_accounting_data *acct = &local_paca->accounting;
 
-       /* We are called early in the exception entry, before
-        * soft/hard_enabled are sync'ed to the expected state
-        * for the exception. We are hard disabled but the PACA
-        * needs to reflect that so various debug stuff doesn't
-        * complain
-        */
-       irq_soft_mask_set(IRQS_DISABLED);
-
        sst = scan_dispatch_log(acct->starttime_user);
        ust = scan_dispatch_log(acct->starttime);
        acct->stime -= sst;
        acct->utime -= ust;
        acct->steal_time += ust + sst;
-
-       irq_soft_mask_set(save_irq_soft_mask);
 }
 
 static inline u64 calculate_stolen_time(u64 stop_tb)