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.

Reply via email to