1
0
Fork 0
alistair23-linux/include
Jens Axboe abf137dd77 aio: make the lookup_ioctx() lockless
The mm->ioctx_list is currently protected by a reader-writer lock,
so we always grab that lock on the read side for doing ioctx
lookups. As the workload is extremely reader biased, turn this into
an rcu hlist so we can make lookup_ioctx() lockless. Get rid of
the rwlock and use a spinlock for providing update side exclusion.

There's usually only 1 entry on this list, so it doesn't make sense
to look into fancier data structures.

Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-12-29 08:29:50 +01:00
..
acpi ACPI: don't cond_resched() when irqs_disabled() 2008-12-19 04:38:33 -05:00
asm-arm
asm-frv ide: fix support for IDE PCI controllers using MMIO on frv 2008-10-17 18:09:14 +02:00
asm-generic Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2008-12-28 12:33:21 -08:00
asm-h8300 h8300: update timer handler - new files 2008-10-16 11:21:29 -07:00
asm-m32r sched: rename SCHED_NO_NO_OMIT_FRAME_POINTER => SCHED_OMIT_FRAME_POINTER 2008-11-11 08:59:20 +01:00
asm-m68k m68k: use the new byteorder headers 2008-12-28 20:00:07 +01:00
asm-mn10300 MN10300: Fix __put_user_asm8() 2008-12-10 13:34:33 -08:00
asm-xtensa Merge git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6 2008-10-23 09:16:56 -07:00
crypto crypto: aes - Precompute tables 2008-12-25 11:05:13 +11:00
drm drm: move drm vblank initialization/cleanup to driver load/unload 2008-11-25 09:49:03 +10:00
keys KEYS: Disperse linux/key_ui.h 2008-11-14 10:39:13 +11:00
linux aio: make the lookup_ioctx() lockless 2008-12-29 08:29:50 +01:00
math-emu math-emu: Fix thinko in _FP_DIV 2008-10-22 22:09:59 -07:00
media V4L/DVB (9335): videobuf: split unregister bus creating self-contained frontend de-allocator 2008-10-21 14:32:08 -02:00
mtd
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2008-12-28 12:49:40 -08:00
pcmcia
rdma
rxrpc
scsi [SCSI] fc_transport: fix old bug on bitflag definitions 2008-11-21 17:30:53 +09:00
sound Merge branch 'topic/udev-id-rename' into to-push 2008-12-25 11:40:34 +01:00
trace sched, trace: update trace_sched_wakeup() 2008-12-25 13:10:21 +01:00
video video: sh_mobile_lcdcfb deferred io support 2008-12-22 18:44:48 +09:00
xen xen: clean up asm/xen/hypervisor.h 2008-12-16 21:50:31 +01:00
Kbuild