From: Amaury Denoyelle Date: Fri, 15 Oct 2021 13:22:31 +0000 (+0200) Subject: BUG/MEDIUM: cpuset: fix cpuset size for FreeBSD X-Git-Tag: v2.5-dev10~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=697cfde34072ca145262ad9ed5608322946166dd;p=thirdparty%2Fhaproxy.git BUG/MEDIUM: cpuset: fix cpuset size for FreeBSD Fix the macro used to retrieve the max number of cpus on FreeBSD. The MAXCPU is not properly defined in userspace and always set to 1 despite the machine architecture. Replace it with CPU_SETSIZE. See https://freebsd-hackers.freebsd.narkive.com/gw4BeLum/smp-in-machine-params-h#post6 Without this, the following config file is rejected on FreeBSD even if the machine is SMP : global cpu-map 1-2 0-1 This must be backported up to 2.4. --- diff --git a/src/cpuset.c b/src/cpuset.c index 46e572dab7..c1632c5e46 100644 --- a/src/cpuset.c +++ b/src/cpuset.c @@ -110,12 +110,9 @@ void ha_cpuset_assign(struct hap_cpuset *dst, const struct hap_cpuset *src) int ha_cpuset_size() { -#if defined(CPUSET_USE_CPUSET) +#if defined(CPUSET_USE_CPUSET) || defined(CPUSET_USE_FREEBSD_CPUSET) return CPU_SETSIZE; -#elif defined(CPUSET_USE_FREEBSD_CPUSET) - return MAXCPU; - #elif defined(CPUSET_USE_ULONG) return LONGBITS;