haproxy/src
Willy Tarreau 0b25d5e99f MEDIUM: task: perform a single tree lookup per run queue batch
The run queue is designed to perform a single tree lookup and to
use multiple passes to eb32sc_next(). The scheduler rework took a
conservative approach first but this is not needed anymore and it
increases the processing cost of process_runnable_tasks() and even
the time during which the RQ lock is held if the global queue is
heavily loaded. Let's simply move the initial lookup to the entry
of the loop like the previous scheduler used to do. This has reduced
by a factor of 5.5 the number of calls to eb32sc_lookup_get() there.
2018-10-10 16:42:46 +02:00
..
51d.c REORG: http: move the code to different files 2018-10-02 18:26:59 +02:00
acl.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
action.c MINOR: action: Add function to check rules using an action ACT_ACTION_TRK_* 2017-10-31 11:36:12 +01:00
applet.c MAJOR: applets: Use tasks, instead of rolling our own scheduler. 2018-05-26 20:03:30 +02:00
arg.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
auth.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
backend.c BUG/MINOR: backend: check that the mux installed properly 2018-10-03 10:24:05 +02:00
base64.c [MINOR] add encode/decode function for 30-bit integers from/to base64 2010-10-30 19:04:33 +02:00
buffer.c MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
cache.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
cfgparse.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
channel.c BUG/MEDIUM: buffers: Make sure we don't wrap in ci_insert_line2/b_rep_blk. 2018-10-08 16:11:54 +02:00
checks.c BUILD: checks: silence a null-deref build warning at -Wextra 2018-09-20 11:42:15 +02:00
chunk.c MINOR: chunk: remove impossible tests on negative chunk->data 2018-08-22 05:28:32 +02:00
cli.c BUG/MINOR: cli: make sure the "getsock" command is only called on connections 2018-09-20 11:42:15 +02:00
compression.c REORG: http: move the HTTP semantics definitions to http.h/http.c 2018-09-11 10:30:25 +02:00
connection.c BUG/MINOR: connection: avoid null pointer dereference in send-proxy-v2 2018-10-02 04:07:43 +02:00
da.c CLEANUP: http: remove some leftovers from recent cleanups 2018-10-02 18:37:27 +02:00
dns.c BUILD: dns: fix null-deref build warning at -Wextra 2018-09-20 11:42:15 +02:00
ev_epoll.c MEDIUM: hathreads: implement a more flexible rendez-vous point 2018-08-02 17:51:45 +02:00
ev_kqueue.c BUG/MAJOR: kqueue: Don't reset the changes number by accident. 2018-09-11 14:53:00 +02:00
ev_poll.c MEDIUM: hathreads: implement a more flexible rendez-vous point 2018-08-02 17:51:45 +02:00
ev_select.c MEDIUM: hathreads: implement a more flexible rendez-vous point 2018-08-02 17:51:45 +02:00
fd.c MEDIUM: threads: close the thread-waker pipe during deinit 2018-09-11 10:23:24 +02:00
filters.c DOC: Fix typos in lua documentation 2018-09-14 09:31:34 +02:00
flt_http_comp.c REORG: http: move some header value processing functions to http.c 2018-09-11 10:30:25 +02:00
flt_spoe.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
flt_trace.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
freq_ctr.c BUG/MAJOR: threads/freq_ctr: use a memory barrier to detect changes 2017-10-31 18:01:18 +01:00
frontend.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
h1.c BUG/MEDIUM: h1: Really skip all updates when incomplete messages are parsed 2018-09-19 15:08:05 +02:00
h2.c BUG/MEDIUM: h2: implement missing support for chunked encoded uploads 2018-04-26 10:20:44 +02:00
haproxy.c CLEANUP: haproxy: Remove unused variable 2018-10-09 15:09:25 +02:00
hash.c MINOR: hash: add new function hash_crc32c 2018-03-21 05:04:01 +01:00
hathreads.c MINOR: threads: remove the previous synchronization point 2018-08-08 09:57:45 +02:00
hdr_idx.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
hlua.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
hlua_fcn.c MEDIUM: lua: Add stick table support for Lua. 2018-09-29 20:15:01 +02:00
hpack-dec.c BUG/CRITICAL: hpack: fix improper sign check on the header index value 2018-09-20 11:45:56 +02:00
hpack-enc.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
hpack-huff.c BUG/MINOR: hpack: must reject huffman literals padded with more than 7 bits 2017-12-03 21:08:39 +01:00
hpack-tbl.c BUG/CRITICAL: hpack: fix improper sign check on the header index value 2018-09-20 11:45:56 +02:00
http.c REORG: http: move some header value processing functions to http.c 2018-09-11 10:30:25 +02:00
http_acl.c REORG: http: move the code to different files 2018-10-02 18:26:59 +02:00
http_act.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
http_conv.c REORG: http: move the code to different files 2018-10-02 18:26:59 +02:00
http_fetch.c REORG: http: move the code to different files 2018-10-02 18:26:59 +02:00
http_rules.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
i386-linux-vsys.c MEDIUM: listener: add support for linux's accept4() syscall 2012-10-08 20:11:03 +02:00
lb_chash.c BUG/MEDIUM: lb/threads: always properly lock LB algorithms on maintenance operations 2018-08-21 19:44:53 +02:00
lb_fas.c BUG/MEDIUM: lb/threads: always properly lock LB algorithms on maintenance operations 2018-08-21 19:44:53 +02:00
lb_fwlc.c BUG/MEDIUM: lb/threads: always properly lock LB algorithms on maintenance operations 2018-08-21 19:44:53 +02:00
lb_fwrr.c BUG/MEDIUM: lb/threads: always properly lock LB algorithms on maintenance operations 2018-08-21 19:44:53 +02:00
lb_map.c REORG: http: move the HTTP semantics definitions to http.h/http.c 2018-09-11 10:30:25 +02:00
listener.c MEDIUM: protocol: sockpair protocol 2018-09-12 07:20:17 +02:00
log.c BUILD: log: silent build warnings due to unchecked __objt_{server,applet} 2018-09-20 11:42:15 +02:00
lru.c MINOR: lru: new function to delete <nb> least recently used keys 2016-01-11 07:31:35 +01:00
mailers.c MEDIUM: Add parsing of mailers section 2015-02-03 00:24:16 +01:00
map.c BUG/MEDIUM: map: don't store exp_replace() result in the trash's length 2018-08-22 05:16:33 +02:00
memory.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
mux_h2.c CLEANUP: h1: Fix debug warnings for h1 headers 2018-10-09 15:09:29 +02:00
mux_pt.c MINOR: connection: pass the proxy when creating a connection 2018-09-12 17:39:22 +02:00
namespace.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
pattern.c BUG/MEDIUM: patterns: fix possible double free when reloading a pattern list 2018-09-19 06:46:51 +02:00
payload.c MEDIUM: chunks: make the chunk struct's fields match the buffer struct 2018-07-19 16:23:43 +02:00
peers.c MINOR: connection: pass the proxy when creating a connection 2018-09-12 17:39:22 +02:00
pipe.c CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
proto_http.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
proto_sockpair.c BUILD: sockpair: silence a build warning at -Wextra 2018-09-20 11:42:15 +02:00
proto_tcp.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
proto_udp.c CLEANUP: fix inconsistency between fd->iocb, proto->accept and accept() 2016-04-14 11:18:22 +02:00
proto_uxst.c MINOR: connection: make conn_sock_drain() work for all socket families 2018-08-24 14:45:46 +02:00
protocol.c MEDIUM: protocol: use a custom AF_MAX to help protocol parser 2018-09-12 07:12:27 +02:00
proxy.c MEDIUM: snapshot: merge the captured data after the descriptor 2018-09-07 20:07:17 +02:00
queue.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
raw_sock.c MINOR: connections/mux: Add a new "subscribe" method. 2018-07-19 16:23:43 +02:00
regex.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
sample.c REORG: http: move the HTTP semantics definitions to http.h/http.c 2018-09-11 10:30:25 +02:00
server.c MEDIUM: ssl: add support for ciphersuites option for TLSv1.3 2018-10-08 19:20:13 +02:00
session.c REORG: http: move the HTTP semantics definitions to http.h/http.c 2018-09-11 10:30:25 +02:00
sha1.c IMPORT: sha1: import SHA1 functions 2017-10-25 04:45:48 +02:00
shctx.c BUILD: shctx: do not depend on openssl anymore 2017-11-08 14:33:36 +01:00
signal.c MEDIUM: startup: unify signal init between daemon and mworker mode 2018-09-11 10:21:58 +02:00
ssl_sock.c MEDIUM: ssl: add support for ciphersuites option for TLSv1.3 2018-10-08 19:20:13 +02:00
standard.c MEDIUM: protocol: sockpair protocol 2018-09-12 07:20:17 +02:00
stats.c BUILD: stats: remove build warnings on potential null-derefs 2018-09-20 11:42:15 +02:00
stick_table.c CLEANUP: stick-tables: Remove unneeded double (()) around conditional clause 2018-10-09 15:09:59 +02:00
stream.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
stream_interface.c MINOR: h2/stream_interface: Reintroduce te wake() method. 2018-09-26 14:21:54 +02:00
task.c MEDIUM: task: perform a single tree lookup per run queue batch 2018-10-10 16:42:46 +02:00
tcp_rules.c BUG/MINOR: build: Fix compilation with debug mode enabled 2018-07-20 10:45:20 +02:00
time.c BUG/MINOR: time/threads: ensure the adjusted time is always correct 2018-02-05 20:11:38 +01:00
trace.c CONTRIB: trace: try to display the function's return value on exit 2017-10-24 19:54:25 +02:00
uri_auth.c CLEANUP: log: Rename Alert/Warning in ha_alert/ha_warning 2017-11-24 17:19:12 +01:00
vars.c REORG: http: move HTTP rules parsing to http_rules.c 2018-10-02 18:28:05 +02:00
wurfl.c MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
xxhash.c CLEANUP: remove unneeded casts 2016-04-03 14:17:42 +02:00