Re: [PATCH] Option to disable AMD C1E (allows dynticks to work)

Richard Harman
2007-12-29T10:01:16Z

Eduard-Gabriel Munteanu wrote:

> On Fri, 28 Dec 2007 13:57:57 -0500
> Richard Harman <richard@richardharman.com> wrote:
>
>> I just saw this thread online from someone else who was having
>> problems with an HP laptop -- I believe my laptop falls into this
>> category.
>>
>> The laptop is currently running Fedora Core 8, but I couldn't figure
>> out what kernel that diff was against. I'm not experienced with
>> git. Can you give me a few pointers on how to get that patch applied
>> to a kernel tarball? I'll be more than willing to be your test
>> subject to see how well this patch and whatever future revision of it
>> may work.
>>
>> Richard
>
> Hi,
>
> I'll assume you didn't read the thread careful enough, so I have to
> emphasize the fact that this patch won't improve power savings (even
> more, it may actually consume an additional 1-2 Watts). Try it only if
> you need dynticks for another purpose than just saving power (in which
> case, you should wait until a better solution comes up, namely
> LAPIC-less dynticks).

Oh, at the moment I couldn't care less about power savings, I'm more
interested in simply getting the kernel properly -booting- on this hardware.

Right now, with your patch and the 'noirqdebug' option or disabling nohz
the system appears to be stable. This laptop otherwise locks up trying
to configure apic/lapic, or locks up solid later with NO oops/bug and
nothing will bring it out of it (eg, sysrq has no effect). NMI watchdog
was also inoperable, which I believe was due to the apic/lapic being
disabled.

With your patch, the lapic is used:

ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)

These kernel dmesg logs are hand-transcribed, and are from 2.6.22.5, but
this shows where the kernel would lock up good and solid:

http://www.richardharman.com/pavilion/2.6.22.5/dmesg.txt

> IIRC, the diff was made against 2.6.24-rc4, but it applies okay on the
> latest -rc (2.6.24-rc6 as of now) as far as I can see. Copy starting
> with the line below "---" all the way to the end and save it to a file
> (make sure tabs don't get messed up), then apply with "patch -p1" as
> you would apply any other patch. Run "make xconfig" (or whatever
> interface to Kconfig you use), make sure "Processor type and
> features -> Disable C1E on AMD systems to make dynticks work" is set,
> along with all other relevant options, then build and the kernel as
> usual.

Yeah, I actually found a how-to on how to pull down Linus's git tree,
and managed to patch -p1 against that. Kudos to the folks who set up
faqs on using git.

Anyway, I'm extremely open to getting to the bottom of working around
the quirks on this hardware. If I havn't mentioned it previously, this
laptop is an HP dv6408nr, with an amd turion tl-56 cpu and nVidia MCP51
chipset.

What can I do to help? It has been pulling teeth trying to get to the
bottom of this.