diff options
Diffstat (limited to 'arch/ia64/kernel/process.c')
-rw-r--r-- | arch/ia64/kernel/process.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c index dd6fc1449741..ee31fe9b310e 100644 --- a/arch/ia64/kernel/process.c +++ b/arch/ia64/kernel/process.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include <linux/kdebug.h> | 29 | #include <linux/kdebug.h> |
30 | #include <linux/utsname.h> | 30 | #include <linux/utsname.h> |
31 | #include <linux/tracehook.h> | 31 | #include <linux/tracehook.h> |
32 | #include <linux/rcupdate.h> | ||
32 | 33 | ||
33 | #include <asm/cpu.h> | 34 | #include <asm/cpu.h> |
34 | #include <asm/delay.h> | 35 | #include <asm/delay.h> |
@@ -196,8 +197,8 @@ do_notify_resume_user(sigset_t *unused, struct sigscratch *scr, long in_syscall) | |||
196 | ia64_do_signal(scr, in_syscall); | 197 | ia64_do_signal(scr, in_syscall); |
197 | } | 198 | } |
198 | 199 | ||
199 | if (test_thread_flag(TIF_NOTIFY_RESUME)) { | 200 | if (test_and_clear_thread_flag(TIF_NOTIFY_RESUME)) { |
200 | clear_thread_flag(TIF_NOTIFY_RESUME); | 201 | local_irq_enable(); /* force interrupt enable */ |
201 | tracehook_notify_resume(&scr->pt); | 202 | tracehook_notify_resume(&scr->pt); |
202 | } | 203 | } |
203 | 204 | ||
@@ -279,6 +280,7 @@ cpu_idle (void) | |||
279 | 280 | ||
280 | /* endless idle loop with no priority at all */ | 281 | /* endless idle loop with no priority at all */ |
281 | while (1) { | 282 | while (1) { |
283 | rcu_idle_enter(); | ||
282 | if (can_do_pal_halt) { | 284 | if (can_do_pal_halt) { |
283 | current_thread_info()->status &= ~TS_POLLING; | 285 | current_thread_info()->status &= ~TS_POLLING; |
284 | /* | 286 | /* |
@@ -309,6 +311,7 @@ cpu_idle (void) | |||
309 | normal_xtp(); | 311 | normal_xtp(); |
310 | #endif | 312 | #endif |
311 | } | 313 | } |
314 | rcu_idle_exit(); | ||
312 | schedule_preempt_disabled(); | 315 | schedule_preempt_disabled(); |
313 | check_pgt_cache(); | 316 | check_pgt_cache(); |
314 | if (cpu_is_offline(cpu)) | 317 | if (cpu_is_offline(cpu)) |