Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
5.5.33a
-
None
-
None
-
IBM systemx with 8 cpus with 10 cores with 2 threads = 160 available cpu's
Description
MAX_THREAD_GROUPS 128 setting prevents MariaDB from starting. No configuration is read at the time this check is made. Solution: make allocating the structure dynamic, make default to be always less than MAX_THREAD_GROUPS, or make MAX_THREAD_GROUPS bigger.
./sql/threadpool_unix.cc:static thread_group_t all_groups[MAX_THREAD_GROUPS];
./sql/threadpool.h:#define MAX_THREAD_GROUPS 128
./sql/sys_vars.cc: VALID_RANGE(1, MAX_THREAD_GROUPS), DEFAULT(my_getncpus()), BLOCK_SIZE(1),
Server does not start if my_getncpus() > MAX_THREAD_GROUPS and there is no configuration option around that.
Attachments
Issue Links
- causes
-
MDEV-22578 thread_pool_info crashes with clang6, using SSE instructions on unaligned memory
-
- Closed
-
Sergei, please review fix for this bug. It makes all_groups dynamic, though I can't judge if there is much sense setting it to high values even on computers with huge amount of cores.