Nick Piggin
612d6c19db
[PATCH] radix-tree: direct data
...
The ability to have height 0 radix trees (a direct pointer to the data item
rather than going through a full node->slot) quietly disappeared with
old-2.6-bkcvs commit ffee171812d51652f9ba284302d9e5c5cc14bdfd. On 64-bit
machines this causes nearly 600 bytes to be used for every <= 4K file in
pagecache.
Re-introduce this feature, root tags stored in spare ->gfp_mask bits.
Simplify radix_tree_delete's complex tag clearing arrangement (which would
become even more complex) by just falling back to tag clearing functions
(the pagecache radix-tree never uses this path anyway, so the icache
savings will mean it's actually a speedup).
On my 4GB G5, this saves 8MB RAM per kernel kernel source+object tree in
pagecache.
Pagecache lookup, insertion, and removal speed for small files will also be
improved.
This makes RCU radix tree harder, but it's worth it.
Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-23 07:42:49 -07:00
..
acpi
[PATCH] Unify pxm_to_node() and node_to_pxm()
2006-06-23 07:42:48 -07:00
asm-alpha
[PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use
2006-06-22 15:05:58 -07:00
asm-arm
Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
2006-06-22 22:46:28 -07:00
asm-arm26
Remove unneeded _syscallX macros from user view in asm-*/unistd.h
2006-04-29 01:51:47 +01:00
asm-cris
Remove unneeded _syscallX macros from user view in asm-*/unistd.h
2006-04-29 01:51:47 +01:00
asm-frv
Remove unneeded _syscallX macros from user view in asm-*/unistd.h
2006-04-29 01:51:47 +01:00
asm-generic
[PATCH] squash duplicate page_to_pfn and pfn_to_page
2006-06-23 07:42:47 -07:00
asm-h8300
Remove unneeded _syscallX macros from user view in asm-*/unistd.h
2006-04-29 01:51:47 +01:00
asm-i386
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6
2006-06-22 15:07:59 -07:00
asm-ia64
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6
2006-06-22 15:07:59 -07:00
asm-m32r
[PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use
2006-06-22 15:05:58 -07:00
asm-m68k
Remove unneeded _syscallX macros from user view in asm-*/unistd.h
2006-04-29 01:51:47 +01:00
asm-m68knommu
Remove unneeded _syscallX macros from user view in asm-*/unistd.h
2006-04-29 01:51:47 +01:00
asm-mips
[PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use
2006-06-22 15:05:58 -07:00
asm-parisc
Remove unneeded _syscallX macros from user view in asm-*/unistd.h
2006-04-29 01:51:47 +01:00
asm-powerpc
Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
2006-06-22 22:11:30 -07:00
asm-ppc
Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
2006-06-22 22:11:30 -07:00
asm-s390
[PATCH] s390: add __raw_writeq required by __iowrite64_copy
2006-06-20 19:55:53 -07:00
asm-sh
Remove unneeded _syscallX macros from user view in asm-*/unistd.h
2006-04-29 01:51:47 +01:00
asm-sh64
Remove unneeded _syscallX macros from user view in asm-*/unistd.h
2006-04-29 01:51:47 +01:00
asm-sparc
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
2006-06-20 17:39:28 -07:00
asm-sparc64
[PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use
2006-06-22 15:05:58 -07:00
asm-um
Merge git://git.infradead.org/hdrcleanup-2.6
2006-06-20 15:10:08 -07:00
asm-v850
Remove unneeded _syscallX macros from user view in asm-*/unistd.h
2006-04-29 01:51:47 +01:00
asm-x86_64
[PATCH] Unify pxm_to_node() and node_to_pxm()
2006-06-23 07:42:48 -07:00
asm-xtensa
[PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use
2006-06-22 15:05:58 -07:00
keys
linux
[PATCH] radix-tree: direct data
2006-06-23 07:42:49 -07:00
math-emu
media
Revert include/media changes: Mauro says those ioctls are only used in-kernel(!)
2006-05-06 19:47:57 +01:00
mtd
Merge git://git.infradead.org/hdrcleanup-2.6
2006-06-20 15:10:08 -07:00
net
Merge branch 'master' into upstream
2006-06-22 22:51:46 -04:00
pcmcia
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
rdma
IB/uverbs: Don't serialize with ib_uverbs_idr_mutex
2006-06-17 20:44:49 -07:00
rxrpc
scsi
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
2006-06-21 11:18:25 -07:00
sound
[ALSA] version 1.0.12rc1
2006-06-22 21:35:11 +02:00
video
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00