Thread (22 messages) 22 messages, 6 authors, 2012-07-12

Re: [PATCH 1/6] hrtimer: Provide clock_was_set_delayed()

From: Prarit Bhargava <hidden>
Date: 2012-07-11 13:06:31
Also in: lkml

quoted
I wish there was a nicer way to do this ... but looking at the code I can't
figure out a better way.  (no offense John, it's just the way the code is ;) )
Yeah, I had the same discussion with Peter earlier today. There is
only a rather limited set of options.

1) Retrigger the timer interrupt vectors on all CPUs - except the one
   we are running on, but we have no interface for that at the moment

2) Do the nasty __smp_call_function_single() hack

   Preallocate call_single_data for all cpus and do a
   __smp_call_function_single() on all online cpus.

   This can be called from hard interrupt context or irq disabled
   regions.

   That would allow to get rid of the whole delay magic all
   together.

Thoughts?
Both of those options seem like a lot of work for something that happens once
every 3-4 years, and may not happen ever again[1].  Based on that statement, if
we're going to modify code I would prefer that it be as lightweight as possible.
 So, in terms of the kernel, option 2 is likely the best way to go rather than
introducing new code that will be used once every 3-4 years.

I keep asking the question of why the mechanism of inserting a leap second isn't
moved into userspace ntpd (or some other appropriate daemon).  I suppose there
is a risk of ntpd being starved out on heavily loaded systems...

P.

[1] http://en.wikipedia.org/wiki/Leap_second#Proposal_to_abolish_leap_seconds
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help