Bug 11427
Summary: | AMD systems with c1e enabled freeze without "nolapic_timer" option | ||
---|---|---|---|
Product: | Timers | Reporter: | Chuck Ebbert (cebbert) |
Component: | Other | Assignee: | john stultz (john.stultz) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | akpm, macro, mingo, tglx |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.26 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Attachments: |
pic/lapic/apic dump from system that stalls
boot messages with apic=verbose /proc/timer_list from 2.6.25 /proc/timer_list from 2.6.26 Proposed patch |
Description
Chuck Ebbert
2008-08-25 17:04:46 UTC
Marked as a regression. Ingo, Thomas, please take a peek? Chuck, a bisection might help here. Could be some acpi thing.. Created attachment 17448 [details]
pic/lapic/apic dump from system that stalls
System goes into nohz mode by default and stalls, but will make progress if keys are pressed. Adding 'nohz=off highres=off' makes it lock up completely after a while. Chuck, can you please provide a boot log of the failing kernel with apic=verbose on the kernel command line ? Thanks, tglx Created attachment 17481 [details] boot messages with apic=verbose (The attachment in comment #2 is the dump from using apic=debug together with Maciej's patch that re-enables that option.) You confuse me :) comment #1 Local APIC timer does not get disabled because it is set up and marked operational before c1e gets detected on the second CPU. Bootlog: AMD C1E detected late. Force timer broadcast. Here we disable the local APIC timer when we detect C1E on the second CPU. That code was not changed between .25 and .26 Can you please provide the output of /proc/timer_list for .25 and .26 ? > Bootlog:
> AMD C1E detected late. Force timer broadcast.
All that does is set local_apic_timer_disabled = 1. But the timer setup code has already checked that earlier (in .26; .25 set up the timers later) and decided to set up the local apic timer as a real timer instead of as a dummy one.
Created attachment 17490 [details]
/proc/timer_list from 2.6.25
Created attachment 17491 [details]
/proc/timer_list from 2.6.26
sigh, so we need the same logic as we have in the 64bit tree - to force the timer broadcast of the boot cpu. Will cook a patch tomorrow morning. Created attachment 17546 [details]
Proposed patch
Patch builds and doesn't break non-AMD machines.
Will test on the affected machine when I get a Fedora 8 kernel built.
The patch works on my system. Thomas, can you ack/signoff on it so I can send it to -stable? > ------- Comment #12 from cebbert@redhat.com 2008-08-31 07:11 ------- > The patch works on my system. Thomas, can you ack/signoff on it so I can send > it to -stable? Please add Acked-by: Thomas Gleixner <tglx@linutronix.de> Thanks for debugging this, tglx |