From: Pieter Baauw Date: Thu, 17 Sep 2015 19:26:40 +0000 (+0200) Subject: MINOR: support cpu-map feature through the compile option USE_CPU_AFFINITY on FreeBSD X-Git-Tag: v1.6-dev6~130 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=caa6a1bb46e1f87823c7faa25230933f97eb766e;p=thirdparty%2Fhaproxy.git MINOR: support cpu-map feature through the compile option USE_CPU_AFFINITY on FreeBSD --- diff --git a/src/haproxy.c b/src/haproxy.c index ae790c4cf5..681109dc5b 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -50,6 +50,10 @@ #define __USE_GNU #include #undef __USE_GNU +#ifdef __FreeBSD__ +#include +#include +#endif #endif #ifdef DEBUG_FULL @@ -1780,7 +1784,11 @@ int main(int argc, char **argv) if (proc < global.nbproc && /* child */ 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 */ +#ifdef __FreeBSD__ + cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1, sizeof(unsigned long), (void *)&global.cpu_map[proc]); +#else sched_setaffinity(0, sizeof(unsigned long), (void *)&global.cpu_map[proc]); +#endif #endif /* close the pidfile both in children and father */ if (pidfd >= 0) {