kernel_optimize_test/include
Nick Piggin 949854d024 fs: Use rename lock and RCU for multi-step operations
The remaining usages for dcache_lock is to allow atomic, multi-step read-side
operations over the directory tree by excluding modifications to the tree.
Also, to walk in the leaf->root direction in the tree where we don't have
a natural d_lock ordering.

This could be accomplished by taking every d_lock, but this would mean a
huge number of locks and actually gets very tricky.

Solve this instead by using the rename seqlock for multi-step read-side
operations, retry in case of a rename so we don't walk up the wrong parent.
Concurrent dentry insertions are not serialised against.  Concurrent deletes
are tricky when walking up the directory: our parent might have been deleted
when dropping locks so also need to check and retry for that.

We can also use the rename lock in cases where livelock is a worry (and it
is introduced in subsequent patch).

Signed-off-by: Nick Piggin <npiggin@kernel.dk>
2011-01-07 17:50:22 +11:00
..
acpi ACPI: video: fix build for CONFIG_ACPI=n 2010-12-11 02:01:46 -05:00
asm-generic
crypto
drm drm/i915: announce to userspace that the bsd ring is coherent 2010-12-05 10:40:39 +00:00
keys
linux fs: Use rename lock and RCU for multi-step operations 2011-01-07 17:50:22 +11:00
math-emu
media [media] wm8775: Revert changeset fcb9757333 to avoid a regression 2011-01-03 09:09:56 -02:00
mtd
net Revert "ipv4: Allow configuring subnets as local addresses" 2010-12-23 12:03:57 -08:00
pcmcia
rdma
rxrpc
scsi SCSI host lock push-down 2010-11-16 13:33:23 -08:00
sound ARM: mach-shmobile: ap4evb: FSI clock use proper process for HDMI 2010-11-24 15:29:56 +09:00
trace
video fbdev: da8xx: punt duplicated FBIO_WAITFORVSYNC define 2010-11-16 10:14:22 +09:00
xen xen: Provide a variant of __RING_SIZE() that is an integer constant expression 2010-12-15 12:34:28 -08:00
Kbuild