linux/include
Eric Dumazet 72a3effaf6 [NET]: Size listen hash tables using backlog hint
We currently allocate a fixed size (TCP_SYNQ_HSIZE=512) slots hash table for
each LISTEN socket, regardless of various parameters (listen backlog for
example)

On x86_64, this means order-1 allocations (might fail), even for 'small'
sockets, expecting few connections. On the contrary, a huge server wanting a
backlog of 50000 is slowed down a bit because of this fixed limit.

This patch makes the sizing of listen hash table a dynamic parameter,
depending of :
- net.core.somaxconn tunable (default is 128)
- net.ipv4.tcp_max_syn_backlog tunable (default : 256, 1024 or 128)
- backlog value given by user application  (2nd parameter of listen())

For large allocations (bigger than PAGE_SIZE), we use vmalloc() instead of
kmalloc().

We still limit memory allocation with the two existing tunables (somaxconn &
tcp_max_syn_backlog). So for standard setups, this patch actually reduce RAM
usage.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-12-02 21:21:44 -08:00
..
acpi ACPI: Change ACPI to use dev_archdata instead of firmware_data 2006-12-01 14:52:01 -08:00
asm-alpha Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
asm-arm Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
asm-arm26 Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
asm-avr32 Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
asm-cris Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
asm-frv Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
asm-generic Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
asm-h8300 Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
asm-i386 ACPI: Change ACPI to use dev_archdata instead of firmware_data 2006-12-01 14:52:01 -08:00
asm-ia64 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-12-01 16:41:27 -08:00
asm-m32r Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
asm-m68k Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
asm-m68knommu Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2006-12-01 16:41:07 -08:00
asm-mips Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus 2006-12-01 16:44:02 -08:00
asm-parisc Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2006-12-01 16:41:07 -08:00
asm-powerpc Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-12-01 16:41:27 -08:00
asm-ppc Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
asm-s390 Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
asm-sh Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
asm-sh64 Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
asm-sparc Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
asm-sparc64 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-12-01 16:41:27 -08:00
asm-um Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
asm-v850 Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
asm-x86_64 ACPI: Change ACPI to use dev_archdata instead of firmware_data 2006-12-01 14:52:01 -08:00
asm-xtensa Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
crypto
keys
linux [NET] rules: Add support to invert selectors 2006-12-02 21:21:42 -08:00
math-emu
media V4L/DVB (4666): Ensure the WM8775 driver is loaded generically for any board. 2006-10-03 15:13:48 -03:00
mtd Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-10-01 17:55:53 +01:00
net [NET]: Size listen hash tables using backlog hint 2006-12-02 21:21:44 -08:00
pcmcia
rdma IB/cm: Fix automatic path migration support 2006-11-29 15:33:10 -08:00
rxrpc
scsi [PATCH] add missing libsas include to fix s390 compilation. 2006-11-28 17:26:50 -08:00
sound Driver core: convert sound core to use struct device 2006-12-01 14:52:01 -08:00
video fix file specification in comments 2006-10-03 23:01:26 +02:00
Kbuild