<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/kernel/time/clocksource.c, branch v3.2.2</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/kernel/time/clocksource.c?h=v3.2.2</id>
<link rel='self' href='https://git.amat.us/linux/atom/kernel/time/clocksource.c?h=v3.2.2'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-12-19T10:41:40Z</updated>
<entry>
<title>time/clocksource: Fix kernel-doc warnings</title>
<updated>2011-12-19T10:41:40Z</updated>
<author>
<name>Kusanagi Kouichi</name>
<email>slash@ac.auone-net.jp</email>
</author>
<published>2011-12-19T09:13:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b1b73d095084e754562961c443aa8f6587a55f8e'/>
<id>urn:sha1:b1b73d095084e754562961c443aa8f6587a55f8e</id>
<content type='text'>
Fix various KernelDoc build warnings.

Signed-off-by: Kusanagi Kouichi &lt;slash@ac.auone-net.jp&gt;
Cc: John Stultz &lt;johnstul@us.ibm.com&gt;
Link: http://lkml.kernel.org/r/20111219091320.0D5AF6FC03D@msa105.auone-net.jp
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>clocksource: Fix bug with max_deferment margin calculation</title>
<updated>2011-12-01T23:50:00Z</updated>
<author>
<name>Yang Honggang (Joseph)</name>
<email>eagle.rtlinux@gmail.com</email>
</author>
<published>2011-12-02T03:22:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b1f919664d04a8d0ba29cb76673c7ca3325a2006'/>
<id>urn:sha1:b1f919664d04a8d0ba29cb76673c7ca3325a2006</id>
<content type='text'>
In order to leave a margin of 12.5% we should &gt;&gt; 3 not &gt;&gt; 5.

CC: stable@kernel.org
Signed-off-by: Yang Honggang (Joseph) &lt;eagle.rtlinux@gmail.com&gt;
[jstultz: Modified commit subject]
Signed-off-by: John Stultz &lt;john.stultz@linaro.org&gt;
</content>
</entry>
<entry>
<title>clocksource: Avoid selecting mult values that might overflow when adjusted</title>
<updated>2011-11-10T19:27:08Z</updated>
<author>
<name>John Stultz</name>
<email>john.stultz@linaro.org</email>
</author>
<published>2011-10-31T21:06:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d65670a78cdbfae94f20a9e05ec705871d7cdf2b'/>
<id>urn:sha1:d65670a78cdbfae94f20a9e05ec705871d7cdf2b</id>
<content type='text'>
For some frequencies, the clocks_calc_mult_shift() function will
unfortunately select mult values very close to 0xffffffff.  This
has the potential to overflow when NTP adjusts the clock, adding
to the mult value.

This patch adds a clocksource.maxadj value, which provides
an approximation of an 11% adjustment(NTP limits adjustments to
500ppm and the tick adjustment is limited to 10%), which could
be made to the clocksource.mult value. This is then used to both
check that the current mult value won't overflow/underflow, as
well as warning us if the timekeeping_adjust() code pushes over
that 11% boundary.

v2: Fix max_adjustment calculation, and improve WARN_ONCE
messages.

v3: Don't warn before maxadj has actually been set

CC: Yong Zhang &lt;yong.zhang0@gmail.com&gt;
CC: David Daney &lt;ddaney.cavm@gmail.com&gt;
CC: Thomas Gleixner &lt;tglx@linutronix.de&gt;
CC: Chen Jie &lt;chenj@lemote.com&gt;
CC: zhangfx &lt;zhangfx@lemote.com&gt;
CC: stable@kernel.org
Reported-by: Chen Jie &lt;chenj@lemote.com&gt;
Reported-by: zhangfx &lt;zhangfx@lemote.com&gt;
Tested-by: Yong Zhang &lt;yong.zhang0@gmail.com&gt;
Signed-off-by: John Stultz &lt;john.stultz@linaro.org&gt;
</content>
</entry>
<entry>
<title>clocksource: Make watchdog reset lockless</title>
<updated>2011-09-13T07:58:29Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2011-09-12T11:32:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9fb60336253edf73dedc527b2aa2bf32eae0d6da'/>
<id>urn:sha1:9fb60336253edf73dedc527b2aa2bf32eae0d6da</id>
<content type='text'>
KGDB needs to trylock watchdog_lock when trying to reset the
clocksource watchdog after the system has been stopped to avoid a
potential deadlock. When the trylock fails TSC usually becomes
unstable.

We can be more clever by using an atomic counter and checking it in
the clocksource_watchdog callback. We restart the watchdog whenever
the counter is &gt; 0 and only decrement the counter when we ran through
a full update cycle.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: John Stultz &lt;johnstul@us.ibm.com&gt;
Acked-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Link: http://lkml.kernel.org/r/alpine.LFD.2.02.1109121326280.2723@ionos
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
</entry>
<entry>
<title>clocksource: Make watchdog robust vs. interruption</title>
<updated>2011-06-16T17:30:53Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2011-06-16T14:22:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b5199515c25cca622495eb9c6a8a1d275e775088'/>
<id>urn:sha1:b5199515c25cca622495eb9c6a8a1d275e775088</id>
<content type='text'>
The clocksource watchdog code is interruptible and it has been
observed that this can trigger false positives which disable the TSC.

The reason is that an interrupt storm or a long running interrupt
handler between the read of the watchdog source and the read of the
TSC brings the two far enough apart that the delta is larger than the
unstable treshold. Move both reads into a short interrupt disabled
region to avoid that.

Reported-and-tested-by: Vernon Mauery &lt;vernux@us.ibm.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: stable@kernel.org
</content>
</entry>
<entry>
<title>clockevents/source: Use u64 to make 32bit happy</title>
<updated>2011-05-20T08:50:52Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2011-05-20T08:50:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c0e299b1a91cbdb21ae08e382a4176200398bc36'/>
<id>urn:sha1:c0e299b1a91cbdb21ae08e382a4176200398bc36</id>
<content type='text'>
unsigned long is not 64bit on 32bit machine.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
</entry>
<entry>
<title>Merge branch 'timers-clockevents-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip</title>
<updated>2011-05-20T00:44:40Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-05-20T00:44:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7e6628e4bcb3b3546c625ec63ca724f28ab14f0c'/>
<id>urn:sha1:7e6628e4bcb3b3546c625ec63ca724f28ab14f0c</id>
<content type='text'>
* 'timers-clockevents-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: hpet: Cleanup the clockevents init and register code
  x86: Convert PIT to clockevents_config_and_register()
  clockevents: Provide interface to reconfigure an active clock event device
  clockevents: Provide combined configure and register function
  clockevents: Restructure clock_event_device members
  clocksource: Get rid of the hardcoded 5 seconds sleep time limit
  clocksource: Restructure clocksource struct members
</content>
</entry>
<entry>
<title>clocksource: Get rid of the hardcoded 5 seconds sleep time limit</title>
<updated>2011-05-19T12:24:15Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2011-05-18T21:33:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=724ed53e8ac2c5278af8955673049714c1073464'/>
<id>urn:sha1:724ed53e8ac2c5278af8955673049714c1073464</id>
<content type='text'>
Slow clocksources can have a way longer sleep time than 5 seconds and
even fast ones can easily cope with 600 seconds and still maintain
proper accuracy.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: John Stultz &lt;john.stultz@linaro.org&gt;
Reviewed-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Link: http://lkml.kernel.org/r/%3C20110518210136.109811585%40linutronix.de%3E
</content>
</entry>
<entry>
<title>clocksource: Install completely before selecting</title>
<updated>2011-05-05T13:23:26Z</updated>
<author>
<name>john stultz</name>
<email>johnstul@us.ibm.com</email>
</author>
<published>2011-05-05T01:16:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e05b2efb82596905ebfe88e8612ee81dec9b6592'/>
<id>urn:sha1:e05b2efb82596905ebfe88e8612ee81dec9b6592</id>
<content type='text'>
Christian Hoffmann reported that the command line clocksource override
with acpi_pm timer fails:

 Kernel command line: &lt;SNIP&gt; clocksource=acpi_pm
 hpet clockevent registered
 Switching to clocksource hpet
 Override clocksource acpi_pm is not HRT compatible.
 Cannot switch while in HRT/NOHZ mode.

The watchdog code is what enables CLOCK_SOURCE_VALID_FOR_HRES, but we
actually end up selecting the clocksource before we enqueue it into
the watchdog list, so that's why we see the warning and fail to switch
to acpi_pm timer as requested. That's particularly bad when we want to
debug timekeeping related problems in early boot.

Put the selection call last.

Reported-by: Christian Hoffmann &lt;email@christianhoffmann.info&gt;
Signed-off-by: John Stultz &lt;johnstul@us.ibm.com&gt;
Cc: stable@kernel.org # 32...
Link: http://lkml.kernel.org/r/%3C1304558210.2943.24.camel%40work-vm%3E
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
</entry>
<entry>
<title>Merge branches 'core-fixes-for-linus', 'x86-fixes-for-linus', 'timers-fixes-for-linus' and 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip</title>
<updated>2011-01-15T20:45:00Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-01-15T20:45:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f9ee7f60d6f37ae0184812b4c59b3869f875768b'/>
<id>urn:sha1:f9ee7f60d6f37ae0184812b4c59b3869f875768b</id>
<content type='text'>
* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  rcu: avoid pointless blocked-task warnings
  rcu: demote SRCU_SYNCHRONIZE_DELAY from kernel-parameter status
  rtmutex: Fix comment about why new_owner can be NULL in wake_futex_pi()

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, olpc: Add missing Kconfig dependencies
  x86, mrst: Set correct APB timer IRQ affinity for secondary cpu
  x86: tsc: Fix calibration refinement conditionals to avoid divide by zero
  x86, ia64, acpi: Clean up x86-ism in drivers/acpi/numa.c

* 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  timekeeping: Make local variables static
  time: Rename misnamed minsec argument of clocks_calc_mult_shift()

* 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  tracing: Remove syscall_exit_fields
  tracing: Only process module tracepoints once
  perf record: Add "nodelay" mode, disabled by default
  perf sched: Fix list of events, dropping unsupported ':r' modifier
  Revert "perf tools: Emit clearer message for sys_perf_event_open ENOENT return"
  perf top: Fix annotate segv
  perf evsel: Fix order of event list deletion
</content>
</entry>
</feed>
