Re: [patch-mm 00/28] High resolution timer updates and x86_64support - V3

From: Andrew Morton
Date: Thu Jun 28 2007 - 05:43:46 EST


On Sat, 23 Jun 2007 13:32:25 -0000 Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:

> The following patch series contains:
>
> - dyntick bugfixes for -mm (caused by the cpuidle changes in ACPI)
>
> - updates and improvements to high resolution timer / dynticks
>
> - high resolution timer / dynticks support for x86_64

Blam. http://userweb.kernel.org/~akpm/hpet-crash.jpg

time_init() is called before slab is set up. We cannot do memory
allocations inside time_init().

> The patch set has been tested in the -hrt and -rt trees for quite a while
> and the initial problems have been sorted out. Thanks to the folks from the
> PowerTop project for testing and feedback.

hrm. Looks like none of your testers have HPET_ID_LEGSUP hardware. This:

--- a/arch/i386/kernel/hpet.c~a
+++ a/arch/i386/kernel/hpet.c
@@ -376,7 +376,7 @@ int __init hpet_enable(void)

clocksource_register(&clocksource_hpet);

- if (id & HPET_ID_LEGSUP) {
+ if (0 && (id & HPET_ID_LEGSUP)) {
hpet_enable_int();
hpet_reserve_platform_timers(id);
/*
_

gets it working. It basically nobbles the hpet and the kernel chose the
TSC clocksource instead.


btw, if you want to know why I go on and on about crappy commenting, try to
work out from the kernel source code what HPET_ID_LEGSUP is, and why it
gets special treatment. It is not possible. This is not maintainable
code.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/