Messages in this thread | | | Date | Wed, 26 Nov 2008 14:32:45 +0900 | From | "Magnus Damm" <> | Subject | Re: [RFC] Reentrant clock sources |
| |
On Wed, Nov 26, 2008 at 6:22 AM, Thomas Gleixner <tglx@linutronix.de> wrote: > On Tue, 25 Nov 2008, Magnus Damm wrote: >> Hi everyone, >> >> Is there any special reason behind the non-reentrant clock source >> code? I'm writing some timer help code and getting the struct >> clocksource as argument to the callbacks would make the code much >> cleaner and better. > > Why do you want that ? And what has reentrancy to do with the > clocksource argument to read() ?
I should have picked my words more carefully, sorry about that. I simply want to get some context so my callbacks can access per-instance private data such as ioport address or irq number. Right now I have to get the context from somewhere else.
>> Extending the callbacks to be able to start and stop clock sources >> for improved power management would be good too in my opinion. >> Any thoughts? > > What have you in mind there ? Starting / stopping a clocksource when > what happens ? You can't stop them randomly except you want to screw > timekeeping.
Is changing clock source using sysfs known to screw up the time keeping?
# echo jiffies > /sys/devices/system/clocksource/clocksource0/current_clocksource
The line above seems to work well with dynamic ticks disabled, but the current code doesn't seem to handle the nohz -> periodic transition very well.
>> + cycle_t (*vread)(struct clocksource *cs); > > This is crap. vread can not access the clocksource.
Yeah, sorry about that. =)
Thanks for your comments.
/ magnus
| |