mirror of
https://github.com/haproxy/haproxy.git
synced 2026-06-08 16:23:24 -04:00
BUG/MINOR: threads: set at least grp_max when mtpg is too small
When starting, say, 128 threads with max-threads-per-group set to 2 and MAX_TGROUPS set to the default 32, instead of setting the resulting number of groups to 32 and threads to 64, they're set to 1 and 32 respectively because the condition to raise grp_min is not satisfied. Let's cut the condition in two parts to also permit to raise it at least to grp_max. This should be backported to 3.2.
This commit is contained in:
parent
40508247c6
commit
617df441d6
1 changed files with 6 additions and 3 deletions
|
|
@ -1713,9 +1713,12 @@ void thread_detect_count(void)
|
|||
thr_max > global.maxthrpertgroup * grp_max)
|
||||
thr_max = global.maxthrpertgroup * grp_max;
|
||||
|
||||
if (grp_min < (thr_min + global.maxthrpertgroup - 1) / global.maxthrpertgroup &&
|
||||
grp_max >= (thr_min + global.maxthrpertgroup - 1) / global.maxthrpertgroup)
|
||||
grp_min = (thr_min + global.maxthrpertgroup - 1) / global.maxthrpertgroup;
|
||||
if (grp_min < (thr_min + global.maxthrpertgroup - 1) / global.maxthrpertgroup) {
|
||||
if (grp_max >= (thr_min + global.maxthrpertgroup - 1) / global.maxthrpertgroup)
|
||||
grp_min = (thr_min + global.maxthrpertgroup - 1) / global.maxthrpertgroup;
|
||||
else
|
||||
grp_min = grp_max;
|
||||
}
|
||||
|
||||
if (grp_max > thr_max && grp_min <= thr_max)
|
||||
grp_max = thr_max;
|
||||
|
|
|
|||
Loading…
Reference in a new issue