tcp: Fit struct tcp_conn into a single 64-byte cacheline
...by: - storing the chained-hash next connection pointer as numeric reference rather than as pointer - storing the MSS as 14-bit value, and rounding it - using only the effective amount of bits needed to store the hash bucket number - explicitly limiting window scaling factors to 4-bit values (maximum factor is 14, from RFC 7323) - scaling SO_SNDBUF values, and using a 8-bit representation for the duplicate ACK sequence - keeping window values unscaled, as received and sent Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
5
tcp.h
5
tcp.h
@@ -6,11 +6,12 @@
|
||||
#ifndef TCP_H
|
||||
#define TCP_H
|
||||
|
||||
#define REFILL_INTERVAL 1000 /* ms */
|
||||
#define REFILL_INTERVAL 1000 /* ms */
|
||||
#define PORT_DETECT_INTERVAL 1000
|
||||
#define TCP_TIMER_INTERVAL MIN(REFILL_INTERVAL, PORT_DETECT_INTERVAL)
|
||||
|
||||
#define TCP_MAX_CONNS (128 * 1024)
|
||||
#define TCP_CONN_INDEX_BITS 17 /* 128k */
|
||||
#define TCP_MAX_CONNS (1 << TCP_CONN_INDEX_BITS)
|
||||
#define TCP_MAX_SOCKS (TCP_MAX_CONNS + USHRT_MAX * 2)
|
||||
|
||||
#define TCP_SOCK_POOL_SIZE 32
|
||||
|
Reference in New Issue
Block a user