timer statistics: fix race
authorBjorn Steinbrink <B.Steinbrink@gmx.de>
Fri, 1 Jun 2007 07:47:15 +0000 (00:47 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Fri, 1 Jun 2007 15:18:30 +0000 (08:18 -0700)
commit9fcc15ec3c1c287a781a4620e52522b6186f26f6
tree86a0214fc404c0ca6e0ca283c83f22bd15aa2eb4
parentc79d9c9e9ace5eeae54f484f62fbd86bf27a344a
timer statistics: fix race

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 <B.Steinbrink@gmx.de>
Signed-off-by: Ian Kumlien <pomac@vapor.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Eric Dumazet <dada1@cosmosbay.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/time/timer_stats.c