<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/kernel/time, branch v2.6.22.19</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/kernel/time?h=v2.6.22.19</id>
<link rel='self' href='https://git.amat.us/linux/atom/kernel/time?h=v2.6.22.19'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2007-10-10T17:50:16Z</updated>
<entry>
<title>Fix timer_stats printout of events/sec</title>
<updated>2007-10-10T17:50:16Z</updated>
<author>
<name>Anton Blanchard</name>
<email>anton@samba.org</email>
</author>
<published>2007-10-07T07:24:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ceda57cf82ec93444e7d86755e6d43ab11c1b50d'/>
<id>urn:sha1:ceda57cf82ec93444e7d86755e6d43ab11c1b50d</id>
<content type='text'>
commit 74922be1485818ed368c4cf4f0b100f70bf01e08 upstream.

When using /proc/timer_stats on ppc64 I noticed the events/sec field wasnt
accurate.  Sometimes the integer part was incorrect due to rounding (we
werent taking the fractional seconds into consideration).

The fraction part is also wrong, we need to pad the printf statement and
take the bottom three digits of 1000 times the value.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Fix leaks on /proc/{*/sched, sched_debug, timer_list, timer_stats}</title>
<updated>2007-08-09T21:27:36Z</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@sw.ru</email>
</author>
<published>2007-07-31T07:38:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6c264a326f471cad27ee7e275f1b425a307c55f0'/>
<id>urn:sha1:6c264a326f471cad27ee7e275f1b425a307c55f0</id>
<content type='text'>
On every open/close one struct seq_operations leaks.
Kudos to /proc/slab_allocators.

Signed-off-by: Alexey Dobriyan &lt;adobriyan@sw.ru&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>NTP: remove clock_was_set() call to prevent deadlock</title>
<updated>2007-07-03T20:54:27Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2007-07-03T18:05:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=746976a301ac9c9aa10d7d42454f8d6cdad8ff2b'/>
<id>urn:sha1:746976a301ac9c9aa10d7d42454f8d6cdad8ff2b</id>
<content type='text'>
The clock_was_set() call in seconds_overflow() which happens only when
leap seconds are inserted / deleted is wrong in two aspects:

1. it results in a call to on_each_cpu() with interrupts disabled
2. it is potential deadlock source vs. call_lock in smp_call_function()

The only possible side effect of the removal might be, that an absolute
CLOCK_REALTIME timer fires 1 second too late, in the rare case of leap
second deletion and an absolute CLOCK_REALTIME timer which expires in
the affected time frame. It will never fire too early.

This was probably observed by the reporter of a June 30th -&gt; July 1st
hang: http://lkml.org/lkml/2007/7/3/103

A similar problem was observed by Dave Jones, who provided a screen shot
with a lockdep back trace, which allowed to analyse the problem.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>timer stats: speedups</title>
<updated>2007-06-01T15:18:30Z</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@elte.hu</email>
</author>
<published>2007-06-01T07:47:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c1a834dc704763673df10282995257f2de93cbe9'/>
<id>urn:sha1:c1a834dc704763673df10282995257f2de93cbe9</id>
<content type='text'>
Make timer-stats have almost zero overhead when enabled in the config but
not used.  (this way distros can enable it more easily)

Also update the documentation about overhead of timer_stats - it was
written for the first version which had a global lock and a linear list
walk based lookup ;-)

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>timer statistics: fix race</title>
<updated>2007-06-01T15:18:30Z</updated>
<author>
<name>Bjorn Steinbrink</name>
<email>B.Steinbrink@gmx.de</email>
</author>
<published>2007-06-01T07:47:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9fcc15ec3c1c287a781a4620e52522b6186f26f6'/>
<id>urn:sha1:9fcc15ec3c1c287a781a4620e52522b6186f26f6</id>
<content type='text'>
Fix two races in the timer stats lookup code.  One by ensuring that the
initialization of a new entry is finished upon insertion of that entry.
The other by cleaning up the hash table when the entries array is cleared,
so that we don't have any "pre-inserted" entries.

Thanks to Eric Dumazet for reminding me of the memory barriers.

Signed-off-by: Bjorn Steinbrink &lt;B.Steinbrink@gmx.de&gt;
Signed-off-by: Ian Kumlien &lt;pomac@vapor.com&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Eric Dumazet &lt;dada1@cosmosbay.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>NOHZ: prevent multiplication overflow - stop timer for huge timeouts</title>
<updated>2007-05-30T01:11:10Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2007-05-29T21:47:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=eaad084bb0f3a6259e56400cd45d061dbf040600'/>
<id>urn:sha1:eaad084bb0f3a6259e56400cd45d061dbf040600</id>
<content type='text'>
get_next_timer_interrupt() returns a delta of (LONG_MAX &gt; 1) in case
there is no timer pending. On 64 bit machines this results in a
multiplication overflow in tick_nohz_stop_sched_tick().

Reported by: Dave Miller &lt;davem@davemloft.net&gt;

Make the return value a constant and limit the return value to a 32 bit
value.

When the max timeout value is returned, we can safely stop the tick
timer device. The max jiffies delta results in a 12 days timeout for
HZ=1000.

In the long term the get_next_timer_interrupt() code needs to be
reworked to return ktime instead of jiffies, but we have to wait until
the last users of the original NO_IDLE_HZ code are converted.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>NOHZ: Rate limit the local softirq pending warning output</title>
<updated>2007-05-24T03:14:11Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2007-05-23T20:57:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=352823160613b65fdaa558be486720a71f75ed86'/>
<id>urn:sha1:352823160613b65fdaa558be486720a71f75ed86</id>
<content type='text'>
The warning in the NOHZ code, which triggers when a CPU goes idle with
softirqs pending can fill up the logs quite quickly.  Rate limit the output
until we found the root cause of that problem.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Ignore bogus ACPI info for offline CPUs</title>
<updated>2007-05-24T03:14:11Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2007-05-23T20:57:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=72fcde966252abd17d70e4e216a0411a34523a8f'/>
<id>urn:sha1:72fcde966252abd17d70e4e216a0411a34523a8f</id>
<content type='text'>
Booting a SMP kernel with maxcpus=1 on a SMP system leads to a hard hang,
because ACPI ignores the maxcpus setting and sends timer broadcast info for
the offline CPUs.  This results in a stuck for ever call to
smp_call_function_single() on an offline CPU.

Ignore the bogus information and print a kernel error to remind ACPI
folks to fix it.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Detach sched.h from mm.h</title>
<updated>2007-05-21T16:18:19Z</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@gmail.com</email>
</author>
<published>2007-05-20T21:22:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e8edc6e03a5c8562dc70a6d969f732bdb355a7e7'/>
<id>urn:sha1:e8edc6e03a5c8562dc70a6d969f732bdb355a7e7</id>
<content type='text'>
First thing mm.h does is including sched.h solely for can_do_mlock() inline
function which has "current" dereference inside. By dealing with can_do_mlock()
mm.h can be detached from sched.h which is good. See below, why.

This patch
a) removes unconditional inclusion of sched.h from mm.h
b) makes can_do_mlock() normal function in mm/mlock.c
c) exports can_do_mlock() to not break compilation
d) adds sched.h inclusions back to files that were getting it indirectly.
e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
   getting them indirectly

Net result is:
a) mm.h users would get less code to open, read, preprocess, parse, ... if
   they don't need sched.h
b) sched.h stops being dependency for significant number of files:
   on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
   after patch it's only 3744 (-8.3%).

Cross-compile tested on

	all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
	alpha alpha-up
	arm
	i386 i386-up i386-defconfig i386-allnoconfig
	ia64 ia64-up
	m68k
	mips
	parisc parisc-up
	powerpc powerpc-up
	s390 s390-up
	sparc sparc-up
	sparc64 sparc64-up
	um-x86_64
	x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig

as well as my two usual configs.

Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>clocksource: fix lock order in the resume path</title>
<updated>2007-05-15T15:54:00Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2007-05-15T08:41:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8f89441b37536fea92b1ed7004e5e2dda011473d'/>
<id>urn:sha1:8f89441b37536fea92b1ed7004e5e2dda011473d</id>
<content type='text'>
lockdep complains about the lock nesting of clocksource and watchdog lock
in the resume path.

Change the resume marker to a bit operation and remove the lock from this
path.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: john stultz &lt;johnstul@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
