--- zzzz-none-000/linux-2.6.19.2/arch/x86_64/kernel/process.c 2007-01-10 19:10:37.000000000 +0000 +++ davinci-8020-5505/linux-2.6.19.2/arch/x86_64/kernel/process.c 2007-01-19 15:11:30.000000000 +0000 @@ -88,8 +88,9 @@ static void __exit_idle(void) { - if (test_and_clear_bit_pda(0, isidle) == 0) + if (read_pda(isidle) == 0) return; + write_pda(isidle, 0); atomic_notifier_call_chain(&idle_notifier, IDLE_END, NULL); } @@ -148,7 +149,7 @@ void cpu_idle_wait(void) { unsigned int cpu, this_cpu = get_cpu(); - cpumask_t map, tmp = current->cpus_allowed; + cpumask_t map; set_cpus_allowed(current, cpumask_of_cpu(this_cpu)); put_cpu(); @@ -171,8 +172,6 @@ } cpus_and(map, map, cpu_online_map); } while (!cpus_empty(map)); - - set_cpus_allowed(current, tmp); } EXPORT_SYMBOL_GPL(cpu_idle_wait); @@ -875,10 +874,3 @@ return 1; } - -unsigned long arch_align_stack(unsigned long sp) -{ - if (!(current->personality & ADDR_NO_RANDOMIZE) && randomize_va_space) - sp -= get_random_int() % 8192; - return sp & ~0xf; -}