Re: [PATCH -mm] clocksource init adjustments (fix bug #7426)
From: Andrew Morton
Date: Fri Mar 02 2007 - 05:22:31 EST
On Thu, 22 Feb 2007 16:13:02 -0800 john stultz <johnstul@xxxxxxxxxx> wrote:
> This patch resolves the issue found here:
> http://bugme.osdl.org/show_bug.cgi?id=7426
>
> The basic summary is:
> Currently we register most of i386/x86_64 clocksources at module_init
> time. Then we enable clocksource selection at late_initcall time. This
> causes some problems for drivers that use gettimeofday for init
> calibration routines (specifically the es1968 driver in this case),
> where durring module_init, the only clocksource available is the low-res
> jiffies clocksource. This may cause slight calibration errors, due to
> the small sampling time used.
>
> It should be noted that drivers that require fine grained time may not
> function on architectures that do not have better then jiffies
> resolution timekeeping (there are a few). However, this does not
> discount the reasonable need for such fine-grained timekeeping at init
> time.
>
> Thus the solution here is to register clocksources earlier (ideally when
> the hardware is being initialized), and then we enable clocksource
> selection at fs_initcall (before device_initcall).
>
> This patch should probably get some testing time in -mm, since
> clocksource selection is one of the most important issues for correct
> timekeeping, and I've only been able to test this on a few of my own
> boxes.
This doornails my Nocona box early in boot:
http://userweb.kernel.org/~akpm/s5000431.jpg
Slab isn't ready yet - time_init()->hpet_arch_init() is called before
start_kernel() has run kmem_cache_init().
-
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/