linux/arch/x86/vdso
John Stultz 1ca7d67cf5 seqcount: Add lockdep functionality to seqcount/seqlock structures
Currently seqlocks and seqcounts don't support lockdep.

After running across a seqcount related deadlock in the timekeeping
code, I used a less-refined and more focused variant of this patch
to narrow down the cause of the issue.

This is a first-pass attempt to properly enable lockdep functionality
on seqlocks and seqcounts.

Since seqcounts are used in the vdso gettimeofday code, I've provided
non-lockdep accessors for those needs.

I've also handled one case where there were nested seqlock writers
and there may be more edge cases.

Comments and feedback would be appreciated!

Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Li Zefan <lizefan@huawei.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Link: http://lkml.kernel.org/r/1381186321-4906-3-git-send-email-john.stultz@linaro.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2013-11-06 12:40:26 +01:00
..
vdso32 x86-32, vdso: On system call restart after SYSENTER, use int $0x80 2011-08-23 16:20:10 -07:00
.gitignore x32: Add x32 VDSO support 2012-02-20 12:52:06 -08:00
checkundef.sh x86, vdso: Don't quote $nm in the script for checking vdso references 2010-07-27 23:52:29 -07:00
Makefile x32: Add x32 VDSO support 2012-02-20 12:52:06 -08:00
vclock_gettime.c seqcount: Add lockdep functionality to seqcount/seqlock structures 2013-11-06 12:40:26 +01:00
vdso32-setup.c x86/vdso: Convert use of typedef ctl_table to struct ctl_table 2013-06-19 15:06:09 +02:00
vdso32.S x86_64: further cleanup of 32-bit compat syscall mechanisms 2008-07-16 11:08:27 +02:00
vdso-layout.lds.S x86 vDSO: new layout 2008-01-30 13:30:41 +01:00
vdso-note.S
vdso.lds.S x86-64: Add time to vDSO 2011-05-24 14:51:29 +02:00
vdso.S x86-64: Pad vDSO to a page boundary 2011-08-04 16:13:34 -07:00
vdsox32.lds.S x32: Drop non-__vdso weak symbols from the x32 VDSO 2012-02-22 20:40:07 -08:00
vdsox32.S x32: Add x32 VDSO support 2012-02-20 12:52:06 -08:00
vgetcpu.c x86: vdso: pvclock gettime support 2012-11-27 23:29:11 -02:00
vma.c mm: use vm_unmapped_area() on x86_64 architecture 2012-12-11 17:22:25 -08:00