[MDEV-10829] Enable Innodb NUMA interleave - (and only use available nodes) Created: 2016-09-19 Updated: 2021-01-19 Resolved: 2016-10-27 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB, Storage Engine - XtraDB |
| Fix Version/s: | 10.2.3 |
| Type: | Task | Priority: | Major |
| Reporter: | Daniel Black | Assignee: | Jan Lindström (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | contribution, foundation, patch | ||
| Issue Links: |
|
||||||||||||||||||||
| Description |
|
innodb_numa_interleave is dormant because of missing cmake tests to enable it. If enabled innodb_numa_interleave=1 by default tries to interleave over all nodes. Due to user defined constraints in systemd, containers or otherwise mysqld could of been limited to a smaller set of cpus. By doing the function call numa_get_mems_allowed rather than assuming all nodes are available the allowed number nodes can be allocated from. See linked github pull requests. |
| Comments |
| Comment by Daniel Black [ 2016-09-19 ] |
|
Seems the cmake components needed to detect numa and enable the innodb_numa_interleave variable/feature are missing. I'll get these prepared. |
| Comment by Daniel Black [ 2016-09-20 ] |
|
github pr 238 enables the dormant innodb_numa_interleave that is already in xtradb/innodb github pr 236 alters the existing xtradb/innodb implementation of the innodb_numa_interleave to use all available nodes rather than all nodes. |
| Comment by Daniel Black [ 2016-10-11 ] |
|
too invasive to do static libnuma against 10.1 - just 10.2 is fine. |