Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Cannot Reproduce
-
10.5.8
-
Fresh alpine linux 3.13 container running on an arm v7 debian 10.7 host
Description
Issue has also been filed in alpine packages
The following issue appeared with mariadb 10.5.8 (there is no issue with alpine 3.12 and mariadb 10.4.x):
- On arm v7 (32 bits) mysqld consumes about 100% cpu when idle, but still works.
- On arm v8 (64 bits) or amd64, it consumes near 0% cpu when idle as expected.
I see only one difference in start logs (but that may be irrelevant):
- arm v7 : "Using generic crc32 instructions"
- arm v8 : "Using ARMv8 crc32 instructions"
Any idea why this happens and if there is an option in mysqld to circumvent the issue?
Steps to reproduce:
~ # apk --update --upgrade add mariadb sudo
|
~ # mkdir /run/mysqld
|
~ # chown mysql:mysql /run/mysqld
|
~ # sudo -su mysql
|
~ $ mysql_install_db
|
~ $ mysqld --datadir=./data
|
andre_r, in MariaDB 10.5.9 there was also a fix of
MDEV-24270where we replaced io_getevents() with a thinner wrapper of the system call to avoid 2 unnecessary wakeups per second. This basically works around a regression that was introduced by an ‘optimization’ in https://pagure.io/libaio/c/7cede5af5adf01ad26155061cc476aad0804d3fc several years ago. That ‘optimization’ would cause a race condition on shutdown in user space, leading to SIGSEGV or similar. But, I would find it hard to believe that the unnecessary wakeups would keep one CPU 100% busy.It would be interesting to try MariaDB 10.5.8 with the newer musl libc and 10.5.9 with the older libc, to narrow down the culprit.