From e759749b50417895632c4e4481434f947176f28c Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Mon, 20 Apr 2015 11:36:57 +0200 Subject: [PATCH] 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. --- src/haproxy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/haproxy.c b/src/haproxy.c index 752c4a2d0..1a913e37a 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