haproxy/include/common
Willy Tarreau 14acc7072e [OPTIM] stream_sock: don't use splice on too small payloads
It's more expensive to call splice() on short payloads than to use
recv()+send(). One of the reasons is that doing a splice() involves
allocating a pipe. One other reason is that the kernel will have to
copy itself if we try to splice less than a page. So let's fix a
short offset of 4kB below which we don't splice.

A quick test shows that on chunked encoded data, with splice we had
6826 syscalls (1715 splice, 3461 recv, 1650 send) while with this
patch, the same transfer resulted in 5793 syscalls (3896 recv, 1897
send).
2011-05-30 18:42:41 +02:00
..
appsession.h [MEDIUM] minor update to the task api: let the scheduler queue itself 2009-03-08 09:38:41 +01:00
base64.h [MINOR] add encode/decode function for 30-bit integers from/to base64 2010-10-30 19:04:33 +02:00
cfgparse.h [MEDIUM] Manage peers section parsing and stick table registration on peers. 2010-11-11 09:29:08 +01:00
compat.h [MINOR] move MAXPATHLEN definition to compat.h 2010-11-11 09:21:53 +01:00
compiler.h [BUG] definitely fix regparm issues between haproxy core and ebtree 2009-10-27 21:53:58 +01:00
config.h [BUG] definitely fix regparm issues between haproxy core and ebtree 2009-10-27 21:53:58 +01:00
debug.h [MINOR] term_trace: add better instrumentations to trace the code 2008-08-16 14:55:08 +02:00
defaults.h [OPTIM] stream_sock: don't use splice on too small payloads 2011-05-30 18:42:41 +02:00
epoll.h [BUILD] declare epoll_* as static when using our own functions 2007-04-15 23:57:41 +02:00
errors.h [MINOR] errors: provide new status codes for config parsing functions 2010-08-10 14:01:15 +02:00
memory.h [BUILD] memory: add a few missing parenthesis to the pool management macros 2010-06-14 15:10:23 +02:00
mini-clist.h [MINOR] prepare req_*/rsp_* to receive a condition 2010-01-28 18:10:50 +01:00
rbtree.h [MINOR] imported the rbtree function from Linux kernel 2007-01-07 02:12:57 +01:00
regex.h [MINOR] prepare req_*/rsp_* to receive a condition 2010-01-28 18:10:50 +01:00
sessionhash.h [MAJOR] remove files distributed under an obscure license 2007-09-09 21:56:53 +02:00
standard.h [BUG] stream_sock: use get_addr_len() instead of sizeof() on sockaddr_storage 2011-04-05 16:56:50 +02:00
template.h [CLEANUP] included common/version.h everywhere 2006-06-29 18:54:54 +02:00
ticks.h [MEDIUM] scheduler: get rid of the 4 trees thanks and use ebtree v4.1 2009-03-21 10:25:14 +01:00
time.h [MINOR] add curr_sec_ms and curr_sec_ms_scaled for current second. 2009-03-05 16:56:16 +01:00
tools.h [MINOR] tools: add two macros MID_RANGE and MAX_RANGE 2011-03-28 15:55:43 +02:00
uri_auth.h [REORG] http: move the http-request rules to proto_http 2011-03-13 22:00:24 +01:00
version.h [CLEANUP] reference product branch 1.5 2010-08-27 11:09:17 +02:00