haproxy/include/proto
Willy Tarreau 8d8747abe0 OPTIM: tasks: group all tree roots per cache line
Currently we have per-thread arrays of trees and counts, but these
ones unfortunately share cache lines and are accessed very often. This
patch moves the task-specific stuff into a structure taking a multiple
of a cache line, and has one such per thread. Just doing this has
reduced the cache miss ratio from 19.2% to 18.7% and increased the
12-thread test performance by 3%.

It starts to become visible that we really need a process-wide per-thread
storage area that would cover more than just these parts of the tasks.
The code was arranged so that it's easy to move the pieces elsewhere if
needed.
2018-10-15 19:06:13 +02:00
..
acl.h
action.h MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
applet.h MAJOR: applets: Use tasks, instead of rolling our own scheduler. 2018-05-26 20:03:30 +02:00
arg.h
auth.h
backend.h
channel.h MEDIUM: mux: Remove const on the buffer in mux->snd_buf() 2018-08-07 14:36:52 +02:00
checks.h BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix 2017-11-07 11:10:24 +01:00
cli.h MEDIUM: cli: Add payload support 2018-04-26 14:19:33 +02:00
compression.h
connection.h MEDIUM: connections: Change struct wait_list to wait_event. 2018-10-11 15:34:39 +02:00
dns.h
fd.h MEDIUM: fd/threads: only grab the fd's lock if the FD has more than one thread 2018-10-15 13:25:06 +02:00
filters.h MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
flt_http_comp.h
freq_ctr.h
frontend.h
h1.h CLEANUP: h1: Fix debug warnings for h1 headers 2018-10-09 15:09:29 +02:00
hdr_idx.h CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
hlua_fcn.h
hlua.h
http_fetch.h REORG: http: move the code to different files 2018-10-02 18:26:59 +02:00
http_rules.h REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
lb_chash.h
lb_fas.h
lb_fwlc.h
lb_fwrr.h
lb_map.h
listener.h BUG/MEDIUM: threads/unix: Fix a deadlock when a listener is temporarily disabled 2018-03-16 11:19:07 +01:00
log.h MINOR: log: One const should be enough. 2018-09-06 18:52:15 +02:00
map.h
mux_pt.h
obj_type.h
openssl-compat.h MINOR: ssl: generate-certificates for BoringSSL 2018-10-08 09:42:34 +02:00
pattern.h
payload.h
peers.h BUILD: peers: check allocation error during peers_init_sync() 2018-10-15 13:24:43 +02:00
pipe.h
port_range.h
proto_http.h MINOR: http: Export some functions and do cleanup to prepare HTTP refactoring 2018-10-12 16:00:45 +02:00
proto_sockpair.h MEDIUM: protocol: sockpair protocol 2018-09-12 07:20:17 +02:00
proto_tcp.h MINOR: connection: make conn_sock_drain() work for all socket families 2018-08-24 14:45:46 +02:00
proto_udp.h
protocol.h MEDIUM: protocol: use a custom AF_MAX to help protocol parser 2018-09-12 07:12:27 +02:00
proxy.h MINOR: proxy: add a new generic proxy_capture_error() 2018-09-07 18:36:04 +02:00
queue.h MEDIUM: add set-priority-class and set-priority-offset 2018-08-10 15:06:31 +02:00
raw_sock.h
sample.h MINOR: sample: remove impossible tests on negative smp->data.u.str.data 2018-08-22 05:28:33 +02:00
server.h CLEANUP: server: remove the update list and the update lock 2018-08-08 09:57:45 +02:00
session.h BUG/MEDIUM: peers: fix some track counter rules dont register entries for sync. 2017-11-29 19:16:22 +01:00
shctx.h
signal.h MEDIUM: startup: unify signal init between daemon and mworker mode 2018-09-11 10:21:58 +02:00
spoe.h MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
ssl_sock.h MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
stats.h MINOR: stats: Add missing include 2018-10-12 16:00:32 +02:00
stick_table.h MINOR: stktable: provide an unchecked version of stktable_data_ptr() 2018-09-20 11:42:15 +02:00
stream_interface.h BUG/MEDIUM: stream: Make sure to unsubscribe before si_release_endpoint. 2018-10-11 17:16:43 +02:00
stream.h REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
task.h OPTIM: tasks: group all tree roots per cache line 2018-10-15 19:06:13 +02:00
tcp_rules.h
template.h
vars.h