On Thu, 22 Feb 2007 16:13:02 -0800 john stultz <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/