From 33676911d8402761469b84c960d008688d15dab5 Mon Sep 17 00:00:00 2001 From: Cyrill Gorcunov Date: Sun, 24 Aug 2008 02:01:45 -0700 Subject: [PATCH] --- yaml --- r: 116473 b: refs/heads/master c: 6460bc73aac970135104a0bc407c2c8b85394d59 h: refs/heads/master i: 116471: 3ad920f027bf977c0c6dcfc76c58dc59ea57d197 v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/apic_32.c | 3 +++ trunk/arch/x86/kernel/apic_64.c | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index f6d9c922208c..8432f0821236 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 457cc52d4670bcf1470606a108bbf35aac28eb7f +refs/heads/master: 6460bc73aac970135104a0bc407c2c8b85394d59 diff --git a/trunk/arch/x86/kernel/apic_32.c b/trunk/arch/x86/kernel/apic_32.c index 4ca3717b3026..913d9924b101 100644 --- a/trunk/arch/x86/kernel/apic_32.c +++ b/trunk/arch/x86/kernel/apic_32.c @@ -718,6 +718,9 @@ void smp_apic_timer_interrupt(struct pt_regs *regs) * Besides, if we don't timer interrupts ignore the global * interrupt lock, which is the WrongThing (tm) to do. */ +#ifdef CONFIG_X86_64 + exit_idle(); +#endif irq_enter(); local_apic_timer_interrupt(); irq_exit(); diff --git a/trunk/arch/x86/kernel/apic_64.c b/trunk/arch/x86/kernel/apic_64.c index 283968d4e024..2e109119f647 100644 --- a/trunk/arch/x86/kernel/apic_64.c +++ b/trunk/arch/x86/kernel/apic_64.c @@ -625,7 +625,9 @@ void smp_apic_timer_interrupt(struct pt_regs *regs) * Besides, if we don't timer interrupts ignore the global * interrupt lock, which is the WrongThing (tm) to do. */ +#ifdef CONFIG_X86_64 exit_idle(); +#endif irq_enter(); local_apic_timer_interrupt(); irq_exit();