Changes since version 3.2-dev7 : Aurelien DARRAGON (11): CLEANUP: log-forward: remove useless options2 init CLEANUP: log: add syslog_process_message() helper MINOR: proxy: add proxy->options3 MINOR: log: migrate log-forward options from proxy->options2 to options3 MINOR: log: provide source address information in syslog_process_message() MINOR: tools: only print address in sa2str() when port == -1 MINOR: log: add "option host" log-forward option MINOR: log: handle log-forward "option host" MEDIUM: log: change default "host" strategy for log-forward section DOC: management: rename some last occurences from domain "dns" to "resolvers" BUG/MINOR: stats: fix capabilities and hide settings for some generic metrics William Lallemand (3): MINOR: jws: implement JWS signing TESTS: jws: implement a test for JWS signing CI: github: add "jose" to apt dependencies Willy Tarreau (69): BUG/MEDIUM: thread: use pthread_self() not ha_pthread[tid] in set_affinity MINOR: compiler: add a simple macro to concatenate resolved strings MINOR: compiler: add a new __decl_thread_var() macro to declare local variables BUILD: tools: silence a build warning when USE_THREAD=0 BUILD: backend: silence a build warning when threads are disabled MINOR: cli: export cli_io_handler() to ease symbol resolution MINOR: tools: improve symbol resolution without dl_addr MINOR: tools: ease the declaration of known symbols in resolve_sym_name() MINOR: tools: teach resolve_sym_name() a few more common symbols BUILD: tools: avoid a build warning on gcc-4.8 in resolve_sym_name() DEV: ncpu: also emulate sysconf() for _SC_NPROCESSORS_* DOC: design-thoughts: commit numa-auto.txt MINOR: cpuset: make the API support negative CPU IDs MINOR: thread: rely on the cpuset functions to count bound CPUs MINOR: cpu-topo: add ha_cpu_topo definition MINOR: cpu-topo: allocate and initialize the ha_cpu_topo array. MINOR: cpu-topo: rely on _SC_NPROCESSORS_CONF to trim maxcpus MINOR: cpu-topo: add a function to dump CPU topology MINOR: cpu-topo: update CPU topology from excluded CPUs at boot REORG: cpu-topo: move bound cpu detection from cpuset to cpu-topo MINOR: cpu-topo: add detection of online CPUs on Linux MINOR: cpu-topo: add detection of online CPUs on FreeBSD MINOR: cpu-topo: try to detect offline cpus at boot MINOR: cpu-topo: add CPU topology detection for linux MINOR: cpu-topo: also store the sibling ID with SMT MINOR: cpu-topo: add NUMA node identification to CPUs on Linux MINOR: cpu-topo: add NUMA node identification to CPUs on FreeBSD MINOR: thread: turn thread_cpu_mask_forced() into an init-time variable MINOR: cfgparse: move the binding detection into numa_detect_topology() MINOR: cfgparse: use already known offline CPU information MINOR: global: add a command-line option to enable CPU binding debugging MINOR: cpu-topo: add a new "cpu-set" global directive to choose cpus MINOR: cpu-topo: add "drop-cpu" and "only-cpu" to cpu-set MEDIUM: thread: start to detect thread groups and threads min/max MEDIUM: cpu-topo: make sure to properly assign CPUs to threads as a fallback MEDIUM: thread: reimplement first numa node detection MEDIUM: cfgparse: remove now unused numa & thread-count detection MINOR: cpu-topo: refine cpu dump output to better show kept/dropped CPUs MINOR: cpu-topo: fall back to nominal_perf and scaling_max_freq for the capacity MINOR: cpu-topo: use cpufreq before acpi cppc MINOR: cpu-topo: boost the capacity of performance cores with cpufreq MINOR: cpu-topo: skip CPU detection when /sys/.../cpu does not exist MINOR: cpu-topo: skip identification of non-existing CPUs MINOR: cpu-topo: skip CPU properties that we've verified do not exist MINOR: cpu-topo: implement a sorting mechanism for CPU index MINOR: cpu-topo: implement a sorting mechanism by CPU locality MINOR: cpu-topo: implement a CPU sorting mechanism by cluster ID MINOR: cpu-topo: ignore single-core clusters MINOR: cpu-topo: assign clusters to cores without and renumber them MINOR: cpu-topo: make sure we don't leave unassigned IDs in the cpu_topo MINOR: cpu-topo: assign an L3 cache if more than 2 L2 instances MINOR: cpu-topo: renumber cores to avoid holes and make them contiguous MINOR: cpu-topo: add a function to sort by cluster+capacity MINOR: cpu-topo: consider capacity when forming clusters MINOR: cpu-topo: create an array of the clusters MINOR: cpu-topo: ignore excess of too small clusters MINOR: cpu-topo: add "only-node" and "drop-node" to cpu-set MINOR: cpu-topo: add "only-thread" and "drop-thread" to cpu-set MINOR: cpu-topo: add "only-core" and "drop-core" to cpu-set MINOR: cpu-topo: add "only-cluster" and "drop-cluster" to cpu-set MINOR: cpu-topo: add a CPU policy setting to the global section MINOR: cpu-topo: add a 'first-usable-node' cpu policy MEDIUM: cpu-topo: use the "first-usable-node" cpu-policy by default CLEANUP: thread: now remove the temporary CPU node binding code MINOR: cpu-topo: add cpu-policy "group-by-cluster" MEDIUM: cpu-topo: let the "group-by-cluster" split groups MINOR: cpu-topo: add a new "performance" cpu-policy MINOR: cpu-topo: add a new "efficiency" cpu-policy MINOR: cpu-topo: add a new "resource" cpu-policy