diff options
Diffstat (limited to 'arch/ia64/kernel/time.c')
| -rw-r--r-- | arch/ia64/kernel/time.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c index aa94bdda9de8..ecc904b33c5f 100644 --- a/arch/ia64/kernel/time.c +++ b/arch/ia64/kernel/time.c | |||
| @@ -34,9 +34,7 @@ | |||
| 34 | 34 | ||
| 35 | static cycle_t itc_get_cycles(struct clocksource *cs); | 35 | static cycle_t itc_get_cycles(struct clocksource *cs); |
| 36 | 36 | ||
| 37 | struct fsyscall_gtod_data_t fsyscall_gtod_data = { | 37 | struct fsyscall_gtod_data_t fsyscall_gtod_data; |
| 38 | .lock = __SEQLOCK_UNLOCKED(fsyscall_gtod_data.lock), | ||
| 39 | }; | ||
| 40 | 38 | ||
| 41 | struct itc_jitter_data_t itc_jitter_data; | 39 | struct itc_jitter_data_t itc_jitter_data; |
| 42 | 40 | ||
| @@ -459,9 +457,7 @@ void update_vsyscall_tz(void) | |||
| 459 | void update_vsyscall(struct timespec *wall, struct timespec *wtm, | 457 | void update_vsyscall(struct timespec *wall, struct timespec *wtm, |
| 460 | struct clocksource *c, u32 mult) | 458 | struct clocksource *c, u32 mult) |
| 461 | { | 459 | { |
| 462 | unsigned long flags; | 460 | write_seqcount_begin(&fsyscall_gtod_data.seq); |
| 463 | |||
| 464 | write_seqlock_irqsave(&fsyscall_gtod_data.lock, flags); | ||
| 465 | 461 | ||
| 466 | /* copy fsyscall clock data */ | 462 | /* copy fsyscall clock data */ |
| 467 | fsyscall_gtod_data.clk_mask = c->mask; | 463 | fsyscall_gtod_data.clk_mask = c->mask; |
| @@ -484,6 +480,6 @@ void update_vsyscall(struct timespec *wall, struct timespec *wtm, | |||
| 484 | fsyscall_gtod_data.monotonic_time.tv_sec++; | 480 | fsyscall_gtod_data.monotonic_time.tv_sec++; |
| 485 | } | 481 | } |
| 486 | 482 | ||
| 487 | write_sequnlock_irqrestore(&fsyscall_gtod_data.lock, flags); | 483 | write_seqcount_end(&fsyscall_gtod_data.seq); |
| 488 | } | 484 | } |
| 489 | 485 | ||
