X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fia64%2Fkernel%2Fprocess.c;fp=arch%2Fia64%2Fkernel%2Fprocess.c;h=309d59658e5ff9344bbd122c8d364fed8b8a1c09;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=ea914cc6812a0a327cd73802f4b0e2b6beacd42b;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c index ea914cc68..309d59658 100644 --- a/arch/ia64/kernel/process.c +++ b/arch/ia64/kernel/process.c @@ -9,6 +9,7 @@ * Add notify_die() hooks. */ #define __KERNEL_SYSCALLS__ /* see */ +#include #include #include @@ -29,6 +30,7 @@ #include #include #include +#include #include #include @@ -271,9 +273,9 @@ cpu_idle (void) /* endless idle loop with no priority at all */ while (1) { if (can_do_pal_halt) - current_thread_info()->status &= ~TS_POLLING; + clear_thread_flag(TIF_POLLING_NRFLAG); else - current_thread_info()->status |= TS_POLLING; + set_thread_flag(TIF_POLLING_NRFLAG); if (!need_resched()) { void (*idle)(void); @@ -736,6 +738,13 @@ void exit_thread (void) { + /* + * Remove function-return probe instances associated with this task + * and put them back on the free list. Do not insert an exit probe for + * this function, it will be disabled by kprobe_flush_task if you do. + */ + kprobe_flush_task(current); + ia64_drop_fpu(current); #ifdef CONFIG_PERFMON /* if needed, stop monitoring and flush state to perfmon context */