From: Willy Tarreau Date: Mon, 20 Apr 2015 09:36:57 +0000 (+0200) Subject: BUG/MEDIUM: init: don't limit cpu-map to the first 32 processes only X-Git-Tag: v1.6-dev2~209 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e759749b50417895632c4e4481434f947176f28c;p=thirdparty%2Fhaproxy.git BUG/MEDIUM: init: don't limit cpu-map to the first 32 processes only We have to allow 32 or 64 processes depending on the machine's word size, and on 64-bit machines only the first 32 processes were properly bound. This fix should be backported to 1.5. --- diff --git a/src/haproxy.c b/src/haproxy.c index 752c4a2d02..1a913e37a9 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -1762,7 +1762,7 @@ int main(int argc, char **argv) #ifdef USE_CPU_AFFINITY if (proc < global.nbproc && /* child */ - proc < 32 && /* only the first 32 processes may be pinned */ + proc < LONGBITS && /* only the first 32/64 processes may be pinned */ global.cpu_map[proc]) /* only do this if the process has a CPU map */ sched_setaffinity(0, sizeof(unsigned long), (void *)&global.cpu_map[proc]); #endif