Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FB8-132: NUMA support #987

Closed
wants to merge 1 commit into from
Closed

FB8-132: NUMA support #987

wants to merge 1 commit into from

Conversation

dutow
Copy link
Contributor

@dutow dutow commented Mar 18, 2019

Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: e50c754
Reference commit: 286e975

-------- e50c754 --------

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:

  • flush-caches: Flush and purge buffers/caches
  • numa-interleave: Run mysqld with its memory interleaved on all CPUs

It also provides a config option:

  • innodb_buffer_pool_populate: pre-allocation of buffer pool
    memory at start up:
    -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
    -- Forced pre-allocation using memset

-------- 286e975 --------

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Copy link
Contributor

@percona-ysorokin percona-ysorokin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@dutow dutow changed the title WIP FB8-132: NUMA support FB8-132: NUMA support Mar 18, 2019
@dutow
Copy link
Contributor Author

dutow commented Mar 18, 2019

Note: I didn't do much testing - I have no numa capable hardware.

@@ -17,6 +17,9 @@ MYSQLD=
niceness=0
mysqld_ld_preload=
mysqld_ld_library_path=
flush_caches=0
numa_interleave=0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't mysqld_safe.sh numa_interleave option redundant due to 5.7 core server --innodb-numa-interleave?

PLUGIN_VAR_NOCMDARG | PLUGIN_VAR_READONLY,
"Preallocate (pre-fault) the page frames required for the mapping "
"established by the buffer pool memory region. Disabled by default.",
NULL, NULL, FALSE);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
NULL, NULL, FALSE);
nullptr, nullptr, false);

@@ -70,10 +83,25 @@ ulint os_proc_get_number(void) {
#endif
}

/****************************************************************/ /**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New style header comment please

@@ -70,10 +83,25 @@ ulint os_proc_get_number(void) {
#endif
}

/****************************************************************/ /**
Retrieve and compare operating system release.
@return TRUE if the OS release is equal to, or later than release. */
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
@return TRUE if the OS release is equal to, or later than release. */
@return true if the OS release is equal to, or later than release. */

struct utsname name;
return (uname(&name) == 0 && strverscmp(name.release, release) >= 0);
#else
return (FALSE);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
return (FALSE);
return (false);

populate = populate && !os_compare_release("2.6.23");

if (ptr && populate) {
fprintf(stderr,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ib::warn()

@hermanlee
Copy link
Contributor

Can this be rebased onto the latest 8.0.13? Thanks!

Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: e50c754
Reference commit: 286e975

-------- e50c754 --------

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-interleave: Run mysqld with its memory interleaved on all CPUs

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

-------- 286e975 --------

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.
Copy link

@facebook-github-bot facebook-github-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hermanlee has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

@@ -1816,7 +1816,8 @@ dberr_t srv_start(bool create_new_db, const std::string &scan_directories) {
ib::info(ER_IB_MSG_1130, size, unit, srv_buf_pool_instances, chunk_size,
chunk_unit);

err = buf_pool_init(srv_buf_pool_size, srv_buf_pool_instances);
err = buf_pool_init(srv_buf_pool_size, srv_buf_pool_populate,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll fix this, but populate and instances need to be swapped.

@hermanlee hermanlee closed this May 9, 2019
facebook-github-bot pushed a commit that referenced this pull request May 9, 2019
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: e50c754
Reference commit: 286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: #987

Reviewed By: lth

Differential Revision: D14652411

Pulled By: lth

fbshipit-source-id: c51a5a3
facebook-github-bot pushed a commit that referenced this pull request Nov 18, 2019
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: e50c754
Reference commit: 286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: #987

Reviewed By: lth

Differential Revision: D14652411

Pulled By: lth

fbshipit-source-id: 4d8d1f9
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 24, 2020
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lth

Differential Revision: D14652411

Pulled By: lth

fbshipit-source-id: 4d8d1f9
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 28, 2020
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lth

Differential Revision: D14652411

Pulled By: lth

fbshipit-source-id: 4d8d1f9
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 28, 2020
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lth

Differential Revision: D14652411

Pulled By: lth

fbshipit-source-id: 4d8d1f9
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 29, 2020
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lth

Differential Revision: D14652411

Pulled By: lth

fbshipit-source-id: 4d8d1f9
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Aug 10, 2020
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lth

Differential Revision: D14652411

Pulled By: lth

fbshipit-source-id: 4d8d1f9
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Aug 10, 2020
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lth

Differential Revision: D14652411

Pulled By: lth

fbshipit-source-id: 4d8d1f9
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Sep 7, 2020
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lth

Differential Revision: D14652411

Pulled By: lth

fbshipit-source-id: 4d8d1f9
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Sep 9, 2020
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lth

Differential Revision: D14652411

Pulled By: lth

fbshipit-source-id: 4d8d1f9
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Oct 5, 2020
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lth

Differential Revision: D14652411

Pulled By: lth

fbshipit-source-id: 4d8d1f9
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Mar 11, 2021
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411 (facebook@b5d4a67)

Pulled By: lth

fbshipit-source-id: 7b1dd922612
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 23, 2023
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee

fbshipit-source-id: 26b710e
hermanlee pushed a commit to hermanlee/mysql-5.6 that referenced this pull request Oct 3, 2023
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
hermanlee pushed a commit to hermanlee/mysql-5.6 that referenced this pull request Oct 18, 2023
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/percona-server that referenced this pull request Apr 17, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook/mysql-5.6@e50c754
Reference commit: facebook/mysql-5.6@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook/mysql-5.6#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (percona#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook/mysql-5.6#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Apr 23, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Apr 23, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Apr 25, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 7, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 8, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 9, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 10, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 13, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 15, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 16, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 17, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 17, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 21, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 21, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 30, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 14, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 19, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 20, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 21, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 25, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 2, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 19, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 19, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 31, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Aug 2, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Aug 6, 2024
Summary:
Jira ticket: https://jira.percona.com/browse/FB8-132

Reference commit: facebook@e50c754
Reference commit: facebook@286e975

WebScaleSQL Feature: NUMA Support

Credits for research and implementation: Jeremy Cole and Davi Arnaut

This patch provides startup options:
* flush-caches: Flush and purge buffers/caches
* numa-nodebind: Run mysqld with CPU affinity

Note, the original patch provided numa-interleave, but that is supported natively by 8.0 now.

It also provides a config option:
* innodb_buffer_pool_populate: pre-allocation of buffer pool
memory at start up:
  -- Use MAP_POPULATE if supported (Linux 2.6.23 and higher)
  -- Forced pre-allocation using memset

Automation will pass in the right value to this option if
it needs to bind mysqld to a particular socket. That will happen
via systemd scripts.

This is only adding the capability on the mysqld_safe side to be able to
pass in numactl to the server. The turning on of this feature will need more
testing and slow roll, and that will happen in different diffs on the ops repo.

Pull Request resolved: facebook#987

Reviewed By: lloyd

Differential Revision: D14652411

Pulled By: lth

-----------------------------------------------------------------------------

Fix InnoDB large_page_aligned_alloc function signature on macOS (facebook#1207)

Summary:
On Linux, it takes an extra bool parameter for populating mmap'ed memory. This
is not available on macOS, so just add an unnamed argument.

Pull Request resolved: facebook#1207

Reviewed By: luqun

Differential Revision: D38956552

Pulled By: hermanlee
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants