Hi,
I was looking into steering HAProxy to some underutilized cores on a
multi processor system where both network interrupts as well as HAProxy
are supposed to run on a specific numa node; the initial idea was to
have interrupts handled on cores 0-21 and give HAProxy cores 44-65:
# cat /sys/class/net/em3/device/local_cpulist
0-21,44-65
which could result in a cpu-map setting like this:
cpu-map all 44-65
However, that won't work since this setting is restricted to be no
higher than LONGBITS which is defined as ((unsigned int)sizeof(long) *
8). Looking into clues to understand this better I found
https://marc.info/?l=haproxy&m=144252098801440&w=2 which states:
,--
Let's stay on this version for now. We've been facing a lot of issues in
the past due to over-engineering, so let's wait for users to complain
that 64 is not enough and only then we'll address that and we'll know
why we do it.
`--
This isn't really an issue and I'm not asking to change this; I'd just
like to understand better the reason why LONGBITS being 64 is the
maximum for cpu-map. Given that multi processor systems (with multi
threading enabled) nowadays easily have >64 cores I'd imagine others may
run into this as well and look for further clues.
Thanks,
J.