1
linux/kernel/time
Richard Cochran 1791f88143 posix clocks: Replace mutex with reader/writer semaphore
A dynamic posix clock is protected from asynchronous removal by a mutex.
However, using a mutex has the unwanted effect that a long running clock
operation in one process will unnecessarily block other processes.

For example, one process might call read() to get an external time stamp
coming in at one pulse per second. A second process calling clock_gettime
would have to wait for almost a whole second.

This patch fixes the issue by using a reader/writer semaphore instead of
a mutex.

Signed-off-by: Richard Cochran <richard.cochran@omicron.at>
Cc: John Stultz <john.stultz@linaro.org>
Link: http://lkml.kernel.org/r/%3C20110330132421.GA31771%40riccoc20.at.omicron.at%3E
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2011-04-18 10:39:38 +02:00
..
clockevents.c time: Make do_timer() and xtime_lock local to kernel/time/ 2011-01-31 19:26:50 +01:00
clocksource.c 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 2011-01-15 12:45:00 -08:00
jiffies.c Fix common misspellings 2011-03-31 11:26:23 -03:00
Kconfig
Makefile posix clocks: Introduce dynamic clocks 2011-02-02 15:28:20 +01:00
ntp.c ntp: fix non privileged system time shifting 2011-04-04 08:31:23 -07:00
posix-clock.c posix clocks: Replace mutex with reader/writer semaphore 2011-04-18 10:39:38 +02:00
tick-broadcast.c Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-03-15 18:53:35 -07:00
tick-common.c Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-03-15 18:53:35 -07:00
tick-internal.h Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-03-15 18:53:35 -07:00
tick-oneshot.c time: Make do_timer() and xtime_lock local to kernel/time/ 2011-01-31 19:26:50 +01:00
tick-sched.c time: Make do_timer() and xtime_lock local to kernel/time/ 2011-01-31 19:26:50 +01:00
timecompare.c
timeconv.c
timekeeping.c timekeeping: Use syscore_ops instead of sysdev class and sysdev 2011-03-23 22:16:04 +01:00
timer_list.c timer debug: Hide kernel addresses via %pK in /proc/timer_list 2011-02-12 14:11:56 +01:00
timer_stats.c Fix common misspellings 2011-03-31 11:26:23 -03:00