diff options
Diffstat (limited to 'kernel/time/timekeeping.c')
-rw-r--r-- | kernel/time/timekeeping.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index e424970bb562..4c7de02eacdc 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c | |||
@@ -25,12 +25,6 @@ | |||
25 | 25 | ||
26 | static struct timekeeper timekeeper; | 26 | static struct timekeeper timekeeper; |
27 | 27 | ||
28 | /* | ||
29 | * This read-write spinlock protects us from races in SMP while | ||
30 | * playing with xtime. | ||
31 | */ | ||
32 | __cacheline_aligned_in_smp DEFINE_SEQLOCK(xtime_lock); | ||
33 | |||
34 | /* flag for if timekeeping is suspended */ | 28 | /* flag for if timekeeping is suspended */ |
35 | int __read_mostly timekeeping_suspended; | 29 | int __read_mostly timekeeping_suspended; |
36 | 30 | ||
@@ -1299,9 +1293,7 @@ struct timespec get_monotonic_coarse(void) | |||
1299 | } | 1293 | } |
1300 | 1294 | ||
1301 | /* | 1295 | /* |
1302 | * The 64-bit jiffies value is not atomic - you MUST NOT read it | 1296 | * Must hold jiffies_lock |
1303 | * without sampling the sequence number in xtime_lock. | ||
1304 | * jiffies is defined in the linker script... | ||
1305 | */ | 1297 | */ |
1306 | void do_timer(unsigned long ticks) | 1298 | void do_timer(unsigned long ticks) |
1307 | { | 1299 | { |
@@ -1389,7 +1381,7 @@ EXPORT_SYMBOL_GPL(ktime_get_monotonic_offset); | |||
1389 | */ | 1381 | */ |
1390 | void xtime_update(unsigned long ticks) | 1382 | void xtime_update(unsigned long ticks) |
1391 | { | 1383 | { |
1392 | write_seqlock(&xtime_lock); | 1384 | write_seqlock(&jiffies_lock); |
1393 | do_timer(ticks); | 1385 | do_timer(ticks); |
1394 | write_sequnlock(&xtime_lock); | 1386 | write_sequnlock(&jiffies_lock); |
1395 | } | 1387 | } |