linux/include
Jens Axboe 4ac845a2e9 block: cfq: make the io contect sharing lockless
The io context sharing introduced a per-ioc spinlock, that would protect
the cfq io context lookup. That is a regression from the original, since
we never needed any locking there because the ioc/cic were process private.

The cic lookup is changed from an rbtree construct to a radix tree, which
we can then use RCU to make the reader side lockless. That is the performance
critical path, modifying the radix tree is only done on process creation
(when that process first does IO, actually) and on process exit (if that
process has done IO).

As it so happens, radix trees are also much faster for this type of
lookup where the key is a pointer. It's a very sparse tree.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-01-28 10:50:33 +01:00
..
acpi kobject: convert /sys/firmware/acpi/ to use kobject_create 2008-01-24 20:40:23 -08:00
asm-alpha alpha: build fixes 2007-12-17 19:28:16 -08:00
asm-arm i2c-pxa: Add polling transfer 2008-01-27 18:14:50 +01:00
asm-avr32 [AVR32] NMI debugging 2008-01-25 08:31:43 +01:00
asm-blackfin [Blackfin] arch: Add the semtimedop syscall. Upstream uClibc doesn't compile without it. 2008-01-27 19:56:43 +08:00
asm-cris ide: remove stale ide.h "configuration options" 2008-01-25 22:17:08 +01:00
asm-frv ide: remove stale ide.h "configuration options" 2008-01-25 22:17:08 +01:00
asm-generic sched: SCHED_FIFO/SCHED_RR watchdog timer 2008-01-25 21:08:27 +01:00
asm-h8300 asm-h8300: parentheses around definition CLOCK_TICK_RATE 2007-12-10 19:43:54 -08:00
asm-ia64 [IA64] Update Altix BTE error return status patch 2008-01-03 13:18:58 -08:00
asm-m32r
asm-m68k
asm-m68knommu
asm-mips [MIPS] SMTC: Fix build error. 2008-01-22 00:35:23 +00:00
asm-parisc
asm-powerpc ide: remove stale ide.h "configuration options" 2008-01-25 22:17:08 +01:00
asm-ppc
asm-s390 [S390] do local_irq_restore while spinning in spin_lock_irqsave. 2008-01-26 14:11:31 +01:00
asm-sh sh: Force __access_ok() to obey address space limit. 2008-01-11 13:18:16 +09:00
asm-sh64
asm-sparc [SPARC32]: Silence sparc32 warnings on missing syscalls. 2007-12-14 10:59:50 -08:00
asm-sparc64 [SPARC64]: Implement pci_resource_to_user() 2007-12-26 19:33:46 -08:00
asm-um
asm-v850
asm-x86 sched: high-res preemption tick 2008-01-25 21:08:29 +01:00
asm-xtensa
crypto [CRYPTO] api: Include sched.h for cond_resched in scatterwalk.h 2008-01-11 08:16:59 +11:00
keys
linux block: cfq: make the io contect sharing lockless 2008-01-28 10:50:33 +01:00
math-emu
media i2c: Constify client address data 2008-01-27 18:14:46 +01:00
mtd
net IPoIB: improve IPv4/IPv6 to IB mcast mapping functions 2008-01-25 14:15:37 -08:00
pcmcia
rdma RDMA/cma: add support for rdma_migrate_id() 2008-01-25 14:15:32 -08:00
rxrpc
scsi [SCSI] libsas: abstract STP task status into a function 2008-01-25 11:47:23 -06:00
sound
video
xen
Kbuild