Changes since version 2.3.6 : Amaury Denoyelle (1): BUG/MINOR: backend: fix condition for reuse on mode HTTP Christopher Faulet (6): BUG/MINOR: hlua: Don't strip last non-LWS char in hlua_pushstrippedstring() BUG/MEDIUM: filters: Set CF_FL_ANALYZE on channels when filters are attached BUG/MINOR: tcpcheck: Update .health threshold of agent inside an agent-check BUG/MINOR: proxy/session: Be sure to have a listener to increment its counters BUG/MINOR: session: Add some forgotten tests on session's listener BUG/MINOR: tcpcheck: Fix double free on error path when parsing tcp/http-check Emeric Brun (1): BUG/MEDIUM: stick-tables: fix ref counter in table entry using multiple http tracksc. Ubuntu (2): MINOR: atomic: implement a more efficient arm64 __ha_cas_dw() using pairs MEDIUM: backend: use a trylock when trying to grab an idle connection William Lallemand (1): BUG/MEDIUM: session: NULL dereference possible when accessing the listener Willy Tarreau (32): BUG/MINOR: ssl: don't truncate the file descriptor to 16 bits in debug mode REORG: atomic: reimplement pl_cpu_relax() from atomic-ops.h BUG/MINOR: mt-list: always perform a cpu_relax call on failure MINOR: atomic: add armv8.1-a atomics variant for cas-dw MINOR: tasks: refine the default run queue depth MINOR: listener: refine the default MAX_ACCEPT from 64 to 4 OPTIM: server: switch the actconn list to an mt-list MINOR: server: move actconns to the per-thread structure MINOR: lb/api: let callers of take_conn/drop_conn tell if they have the lock OPTIM: lb-first: do not take the server lock on take_conn/drop_conn OPTIM: lb-leastconn: do not take the server lock on take_conn/drop_conn OPTIM: lb-leastconn: do not unlink the server if it did not change MINOR: dynbuf: make the buffer wait queue per thread MINOR: dynbuf: use regular lists instead of mt_lists for buffer_wait MINOR: dynbuf: pass offer_buffers() the number of buffers instead of a threshold MINOR: stream: add an "epoch" to figure which streams appeared when MINOR: cli/streams: make "show sess" dump all streams till the new epoch MINOR: streams: use one list per stream instead of a global one MEDIUM: streams: do not use the streams lock anymore MEDIUM: pools: add CONFIG_HAP_NO_GLOBAL_POOLS and CONFIG_HAP_GLOBAL_POOLS MINOR: pools: double the local pool cache size to 1 MB MINOR: task: limit the number of subsequent heavy tasks with flag TASK_HEAVY MINOR: ssl: mark the SSL handshake tasklet as heavy BUG/MEDIUM: ssl: properly remove the TASK_HEAVY flag at end of handshake MINOR: task: add an application specific flag to the state: TASK_F_USR1 MEDIUM: muxes: mark idle conns tasklets with TASK_F_USR1 MINOR: xprt: add new xprt_set_idle and xprt_set_used methods MEDIUM: ssl: implement xprt_set_used and xprt_set_idle to relax context checks MEDIUM: task: remove the tasks_run_queue counter and have one per thread MINOR: task: give the scheduler a bit more flexibility in the runqueue size OPTIM: task: automatically adjust the default runqueue-depth to the threads BUILD: atomic/arm64: force the register pairs to use in __ha_cas_dw()