History

Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull locking fixes from Ingo Molnar: "Two fixes from lockdep coverage of seqlocks, which fix deadlocks on lockdep-enabled ARM systems" * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched_clock: Disable seqlock lockdep usage in sched_clock() seqlock: Use raw_ prefix instead of _no_lockdep

Linus Torvalds committed 12 years ago

Commit 9b6c4ea2 parents 93a11c8 7a06c413 files · +26 −15Browse files

Showing the changes to arch (1 of 3 files). Show all

Unified · Split

arch/x86/vdso/vclock_gettime.c+4−4
@@ -178,7 +178,7 @@ notrace static int __always_inline do_realtime(struct timespec *ts) · 177 unmodified lines
178178
179179 ts->tv_nsec = 0;
180180 do {
181− seq = read_seqcount_begin_no_lockdep(&gtod->seq);
181+ seq = raw_read_seqcount_begin(&gtod->seq);
182182 mode = gtod->clock.vclock_mode;
183183 ts->tv_sec = gtod->wall_time_sec;
184184 ns = gtod->wall_time_snsec;
@@ -198,7 +198,7 @@ notrace static int do_monotonic(struct timespec *ts) · 13 unmodified lines
198198
199199 ts->tv_nsec = 0;
200200 do {
201− seq = read_seqcount_begin_no_lockdep(&gtod->seq);
201+ seq = raw_read_seqcount_begin(&gtod->seq);
202202 mode = gtod->clock.vclock_mode;
203203 ts->tv_sec = gtod->monotonic_time_sec;
204204 ns = gtod->monotonic_time_snsec;
@@ -214,7 +214,7 @@ notrace static int do_realtime_coarse(struct timespec *ts) · 9 unmodified lines
214214 {
215215 unsigned long seq;
216216 do {
217− seq = read_seqcount_begin_no_lockdep(&gtod->seq);
217+ seq = raw_read_seqcount_begin(&gtod->seq);
218218 ts->tv_sec = gtod->wall_time_coarse.tv_sec;
219219 ts->tv_nsec = gtod->wall_time_coarse.tv_nsec;
220220 } while (unlikely(read_seqcount_retry(&gtod->seq, seq)));
@@ -225,7 +225,7 @@ notrace static int do_monotonic_coarse(struct timespec *ts) · 4 unmodified lines
225225 {
226226 unsigned long seq;
227227 do {
228− seq = read_seqcount_begin_no_lockdep(&gtod->seq);
228+ seq = raw_read_seqcount_begin(&gtod->seq);
229229 ts->tv_sec = gtod->monotonic_time_coarse.tv_sec;
230230 ts->tv_nsec = gtod->monotonic_time_coarse.tv_nsec;
231231 } while (unlikely(read_seqcount_retry(&gtod->seq, seq)));