Greetings,
I had a go at the clocksource code and tried to make it better. The
first 4 patches contain some code cleanup and improve the separation
between timekeeping.c and clocksource.[ch].
Patch #5 is the one with the real change: the switch to a new clock
source is now done with stop_machine instead of checking with every
wall time update. A clocksource change is an extremely rare thing,
to use stop_machine seems reasonable to me.
What I'd like to do is to make the content of struct clocksource
private to clocksource.c and clocksource.h. The biggest road-block
to get there is update_wall_time. I stared at it for hours and then
gave up. A bit of unfinished business ..
The clocksource patches have been created against todays upstream
tree plus the patches from the tip tree, if anyone wants to try them
you need to pull from:
git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.