Skip to contentSkip to conversation

x86_64: enable irq in default_idle

PATCH In review Hiroshi Shimamoto 2 participants 4 messages Jan 7, 2008 – Jan 8, 2008 x86

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 x86_64: enable irq in default_idle

Hi Ingo,

I think local_irq_enable() is missing in default_idle() on x86_64. It's for recent x86 tree.

From: Hiroshi Shimamoto <[email protected]>
Subject: [PATCH] x86_64: enable irq in default_idle

local_irq_enable() is missing after sched_clock_idle_wakeup_event().

---
 arch/x86/kernel/process_64.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
arch/x86/kernel/process_64.c +2 -2
index c6ad1a0..93ce4f3 100644
@@ -119,8 +119,8 @@ void default_idle(void)
 		t1 = ktime_get();
 		t1n = ktime_to_ns(t1);
 		sched_clock_idle_wakeup_event(t1n - t0n);
-	} else
-		local_irq_enable();
+	}
+	local_irq_enable();
 	current_thread_info()->status |= TS_POLLING;
 }
 
Signature · 1 line
1.5.3.6
#1 lore raw
Quoted 9 lines · Hiroshi Shimamoto

Hi Ingo,

I think local_irq_enable() is missing in default_idle() on x86_64. It's for recent x86 tree.

From: Hiroshi Shimamoto <[email protected]>
Subject: [PATCH] x86_64: enable irq in default_idle

local_irq_enable() is missing after sched_clock_idle_wakeup_event().

thanks Hiroshi, applied.

The effects of this bug should be increased latencies on 64-bit. Did you notice these latencies, or did you find the bug in some other way (code review)?

Ingo

#2 lore raw
Quoted 10 lines · Ingo Molnar
Quoted 8 lines · Hiroshi Shimamoto

Hi Ingo,

I think local_irq_enable() is missing in default_idle() on x86_64. It's for recent x86 tree.

From: Hiroshi Shimamoto <[email protected]>
Subject: [PATCH] x86_64: enable irq in default_idle

Quoted 7 lines
Quoted 1 line

local_irq_enable() is missing after sched_clock_idle_wakeup_event().

thanks Hiroshi, applied.

The effects of this bug should be increased latencies on 64-bit. Did you notice these latencies, or did you find the bug in some other way (code review)?

I found this when I was comparing 32-bit and 64-bit source code for x86 unification.

Thanks,
Hiroshi Shimamoto

#3 lore raw
Quoted 11 lines · Hiroshi Shimamoto
Quoted 8 lines
Quoted 2 lines

local_irq_enable() is missing after
sched_clock_idle_wakeup_event().

thanks Hiroshi, applied.

The effects of this bug should be increased latencies on 64-bit. Did you notice these latencies, or did you find the bug in some other way (code review)?

I found this when I was comparing 32-bit and 64-bit source code for x86 unification.

cool :) Indeed even for other code, a number of times we got bugfixes when unifying 32-bit and 64-bit files.

Ingo