MINOR: global: add option to disable numa detection

Render numa detection optional with a global configuration statement
'no numa-cpu-mapping'. This can be used if the applied affinity of the
algorithm is not optimal. Also complete the documentation with this new
keyword.
This commit is contained in:
Amaury Denoyelle
2021-03-26 18:50:33 +01:00
parent b56a7c89a8
commit 0f50cb9c73
5 changed files with 24 additions and 4 deletions

View File

@@ -919,6 +919,7 @@ The following keywords are supported in the "global" section :
- nbproc
- nbthread
- node
- numa-cpu-mapping
- pidfile
- pp2-never-send-local
- presetenv
@@ -1540,6 +1541,17 @@ nbthread <number>
like "taskset" or "cpuset". Otherwise, this value defaults to 1. The default
value is reported in the output of "haproxy -vv". See also "nbproc".
numa-cpu-mapping
By default, if running on Linux, haproxy inspects on startup the CPU topology
of the machine. If a multi-socket machine is detected, the affinity is
automatically calculated to run on the CPUs of a single node. This is done in
order to not suffer from the performance penalties caused by the inter-socket
bus latency. However, if the applied binding is non optimal on a particular
architecture, it can be disabled with the statement 'no numa-cpu-mapping'.
This automatic binding is also not applied if a nbthread statement is present
in the configuration, or the affinity of the process is already specified,
for example via the 'cpu-map' directive or the taskset utility.
pidfile <pidfile>
Writes PIDs of all daemons into file <pidfile> when daemon mode or writes PID
of master process into file <pidfile> when master-worker mode. This option is