aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/time.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/time.c')
-rw-r--r--arch/powerpc/kernel/time.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index fe6f3a285455..a32823dcd9a4 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -244,7 +244,7 @@ static u64 scan_dispatch_log(u64 stop_tb)
244void accumulate_stolen_time(void) 244void accumulate_stolen_time(void)
245{ 245{
246 u64 sst, ust; 246 u64 sst, ust;
247 u8 save_soft_enabled = local_paca->soft_enabled; 247 unsigned long save_irq_soft_mask = irq_soft_mask_return();
248 struct cpu_accounting_data *acct = &local_paca->accounting; 248 struct cpu_accounting_data *acct = &local_paca->accounting;
249 249
250 /* We are called early in the exception entry, before 250 /* We are called early in the exception entry, before
@@ -253,7 +253,7 @@ void accumulate_stolen_time(void)
253 * needs to reflect that so various debug stuff doesn't 253 * needs to reflect that so various debug stuff doesn't
254 * complain 254 * complain
255 */ 255 */
256 local_paca->soft_enabled = 0; 256 irq_soft_mask_set(IRQS_DISABLED);
257 257
258 sst = scan_dispatch_log(acct->starttime_user); 258 sst = scan_dispatch_log(acct->starttime_user);
259 ust = scan_dispatch_log(acct->starttime); 259 ust = scan_dispatch_log(acct->starttime);
@@ -261,7 +261,7 @@ void accumulate_stolen_time(void)
261 acct->utime -= ust; 261 acct->utime -= ust;
262 acct->steal_time += ust + sst; 262 acct->steal_time += ust + sst;
263 263
264 local_paca->soft_enabled = save_soft_enabled; 264 irq_soft_mask_set(save_irq_soft_mask);
265} 265}
266 266
267static inline u64 calculate_stolen_time(u64 stop_tb) 267static inline u64 calculate_stolen_time(u64 stop_tb)