1
0
Fork 0
alistair23-linux/include
Eric Dumazet 230140cffa [INET]: Remove per bucket rwlock in tcp/dccp ehash table.
As done two years ago on IP route cache table (commit
22c047ccbc) , we can avoid using one
lock per hash bucket for the huge TCP/DCCP hash tables.

On a typical x86_64 platform, this saves about 2MB or 4MB of ram, for
litle performance differences. (we hit a different cache line for the
rwlock, but then the bucket cache line have a better sharing factor
among cpus, since we dirty it less often). For netstat or ss commands
that want a full scan of hash table, we perform fewer memory accesses.

Using a 'small' table of hashed rwlocks should be more than enough to
provide correct SMP concurrency between different buckets, without
using too much memory. Sizing of this table depends on
num_possible_cpus() and various CONFIG settings.

This patch provides some locking abstraction that may ease a future
work using a different model for TCP/DCCP table.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-11-07 04:15:11 -08:00
..
acpi ACPI: Fan: Drop force_power_state acpi_device option 2007-10-25 16:31:31 -04:00
asm-alpha Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-arm [ARM] 4634/1: DaVinci GPIO header build fix 2007-10-31 15:21:52 +00:00
asm-avr32 AVR32: Fix sg_page breakage 2007-10-24 10:16:02 +02:00
asm-blackfin Blackfin arch: use a less common define name in BF549 2007-10-30 12:04:53 +08:00
asm-cris Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-frv SG: Change sg_set_page() to take length and offset argument 2007-10-24 11:20:47 +02:00
asm-generic Linux Kernel Markers 2007-10-19 11:53:54 -07:00
asm-h8300 Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-ia64 [IA64] fix typo in per_cpu_offset 2007-10-29 11:21:45 -07:00
asm-m32r Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-m68k Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-m68knommu m68knommu: fix pread/pwrite defines 2007-11-05 15:12:33 -08:00
asm-mips Use i8253.c lock for PC speaker on MIPS, too. 2007-11-02 19:39:18 -07:00
asm-parisc parisc: fix sg_page() fallout 2007-10-23 09:49:31 +02:00
asm-powerpc cpm_load_patch() - declartion conflict 2007-11-05 11:38:29 -08:00
asm-ppc ppc: fix AT_VECTOR_SIZE on arch/ppc 2007-10-22 19:18:54 -07:00
asm-s390 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2007-10-22 19:23:34 -07:00
asm-sh sh: Decouple 4k and soft/hardirq stacks. 2007-11-02 12:16:51 +09:00
asm-sh64 sh64: fix dma_cache_sync() compilation 2007-10-30 13:09:01 +09:00
asm-sparc [SPARC32]: __inline__ --> inline 2007-10-27 00:17:01 -07:00
asm-sparc64 [SPARC64]: Fix linkage of enormous kernels. 2007-10-31 15:30:56 -07:00
asm-um x86 merge fallout: uml 2007-10-29 07:41:32 -07:00
asm-v850 Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-x86 lguest: make async_hcall() static 2007-11-05 21:53:29 +11:00
asm-xtensa xtensa: dma-mapping.h is using linux/scatterlist.h functions, so include it 2007-10-24 13:28:40 +02:00
crypto [CRYPTO] sha: Add header file for SHA definitions 2007-10-10 16:55:50 -07:00
keys KEYS: Make request_key() and co fundamentally asynchronous 2007-10-17 08:42:57 -07:00
linux [TTY]: Fix network driver interactions with TCGET/SET calls. 2007-11-07 04:14:19 -08:00
math-emu
media [PATCH] Fix breakage after SG cleanups 2007-10-23 12:02:39 -07:00
mtd
net [INET]: Remove per bucket rwlock in tcp/dccp ehash table. 2007-11-07 04:15:11 -08:00
pcmcia pcmcia: use DMA_MASK_NONE for the default for all pcmcia devices 2007-10-16 09:42:50 -07:00
rdma cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
rxrpc
scsi SCSI: add asynchronous event notification API 2007-11-03 22:23:02 -04:00
sound [ALSA] version 1.0.15 2007-10-23 08:09:20 +02:00
video Make asm-x86/bootparam.h includable from userspace. 2007-10-23 15:49:47 +10:00
xen xen: fix incorrect vcpu_register_vcpu_info hypercall argument 2007-10-16 11:51:31 -07:00
Kbuild do not export /usr/include/scsi in make headers_install 2007-10-17 08:42:52 -07:00