Re: [GIT pull] timers fixes for 2.6.31

From: john stultz
Date: Thu Aug 06 2009 - 18:36:44 EST


On Fri, Jul 31, 2009 at 5:37 AM, Ingo Molnar<mingo@xxxxxxx> wrote:
> [ Markus, John: the fix looks right for .31 but i think there's two
>  small structural problems with this code, which might have
>  contributed to the bug to happen to begin with:
>
>  Firstly, ->mult_orig is a slight misnomer - if it was named
>  properly we wouldnt even need the comments to explain how to use
>  and update it. It's the unadjusted multiplicator while _orig
>  patterns in the kernel generally suggest some sort of save/restore
>  pattern (which this is not).
>
>  I'd suggest to rename it to ->mult_unadjusted, ->mult_raw or
>  ->mult_static instead. This field has not gotten into many
>  clocksource drivers yet so it's easy to do. For .32 obviously.
>
>  Secondly, the broader design question is: why are clocksource
>  drivers mucking around with NTP details? Whether NTP is running
>  should be a transparent detail to drivers and if such details are
>  visible in low level driver (which they are in
>  arch/arm/plat-omap/common.c et al) that's sign of uncleanliness.
>  Mind improving that? (for .32 too)

Well, the clocksources aren't really mucking with NTP details, but NTP
mucks with the clocksource. And so this was a way to try to preserve
the original mult value, and I'll admit was a bit stapled on. This
mostly comes from how the clocksource structure has swelled over time
to include quite a bit of timekeeping specific information.

Splitting this up has been on my list for awhile, but I've never
gotten to it. However, Martin Schwidefsky has been doing a great job
with his latest patches cleaning up some of uglier parts of the
timekeeping/clocksource interactions. There is still lots of changes
I'd like to see, but they will take time as we still haven't gotten
all the arches over to GENERIC_TIME, so some cruft has to stick
around. But Martin's patches are a great big step towards it and
hopefully his patches will be ready for .32.

thanks
-john
--
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/