Bug #58771 Allow the innodb_buffer_pool address space to be non-contiguous on Windows
Submitted: 6 Dec 2010 23:53
Reporter: Roel Van de Paar Email Updates:
Status: Verified Impact on me:
Category:MySQL Server: InnoDB storage engine Severity:S4 (Feature request)
Version: OS:Any
Assigned to: CPU Architecture:Any

[6 Dec 2010 23:53] Roel Van de Paar
If the manual is correct, the "The [innodb_buffer_pool] address space must be contiguous, which can be an issue on Windows systems with DLLs that load at specific addresses." (http://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_buffer_pool_si...)

This is a feature request to allow the innodb_buffer_pool address space to be non-contiguous on Windows.

How to repeat:
Checking the code may be one option.
[15 Aug 2014 19:07] James Day
MySQL 5.5 added the innodb_buffer_pool_instances setting to allow more than one buffer pool to be used. Each pool is allocated with a different memory allocation request. This can be used to create many smaller buffer pool memory allocations, up to the maximum of 64 pools. 1 is the default.

MySQL 5.6 by default uses more buffer pools on 32 bit Windows to circumvent the memory address space limitation in that version, creating one pool for each 128 megabytes of allocation when innodb_buffer_pool_size is greater than 1.3 gigabytes, the empirically determined practical limit on many systems for one allocation. This was done specifically to circumvent the DLL load address issue and make it automatic in most cases. In addition the default for innodb_buffer_pool_instances was changed to 8 in other cases.

James Day, MySQL Senior Principal Support Engineer, Oracle