mariadb/storage
Daniel Black de51acd037 MDEV-18726: innodb buffer pool size not consistent with large pages
Rather than add a small extra amount on the size of chunks, keep it
of the specified size. The rest of the chunk initialization code
adapts to this small size reduction. This has been made in the general
case, not just large pages, to keep it simple.

The chunks size is controlled by innodb-buffer-pool-chunk-size. In the
code increasing this by a descriptor table size length makes it
difficult with large pages. With innodb-buffer-pool-chunk-size set to 2M
the code before this commit would of added a small amount extra to this
value when it tried to allocate this. While not normally a problem it is
with large pages, it now requires addition space, a whole extra large
page. With a number of pools, or with 1G or 16G large pages this is
quite significant.

By removing this additional amount, DBAs can set
innodb-buffer-pool-chunk size to the large page size, or a multiple of
it, and actually get that amount allocated. Previously they had to fudge
a value less.

The innodb.test results show how this is fudged over a number of tests. With
this change the values are just between 488 and 500 depending on architecture
and build options.

Tested with  --large-pages --innodb-buffer-pool-size=256M
--innodb-buffer-pool-chunk-size=2M on x86_64 with 2M default large page
size. Breaking before buf_pool init, one large page was allocated in
MyISAM, by the end of the function 128 huge pages where allocated as
expected. A further 16 pages where allocated for a 32M log buffer and
during startup 1 page was allocated briefly to the redo log.
2019-03-18 21:49:53 +02:00
..
archive MDEV-371 Unique Index for long columns 2019-02-22 00:35:40 +01:00
blackhole Added new MDL_BACKUP locks for all backup stages 2018-12-09 22:12:27 +02:00
cassandra remove obsolete checks for -fno-implicit-templates 2018-08-12 11:37:43 +02:00
connect MDEV-371 Unique Index for long columns 2019-02-22 00:35:40 +01:00
csv Optimize flush tables with read lock (FTWRL) to not wait for select's 2018-12-09 22:12:25 +02:00
example
federated Added new MDL_BACKUP locks for all backup stages 2018-12-09 22:12:27 +02:00
federatedx MDEV-17096 Pushdown of simple derived tables to storage engines 2019-02-13 08:55:38 -08:00
heap MDEV-371 Unique Index for long columns 2019-02-22 00:35:40 +01:00
innobase MDEV-18726: innodb buffer pool size not consistent with large pages 2019-03-18 21:49:53 +02:00
maria Removing warning from Aria recovery 2019-03-14 12:06:17 +02:00
mroonga Merge 10.3 into 10.4 2019-03-08 11:19:48 +02:00
myisam Merge 10.3 into 10.4 2019-03-12 16:14:31 +02:00
myisammrg Merge 10.2 into 10.3 2018-11-06 09:40:39 +02:00
oqgraph MDEV-371 Unique Index for long columns 2019-02-22 00:35:40 +01:00
perfschema MDEV-18400 - Move shutdown handling to main thread 2019-01-29 11:56:35 +04:00
rocksdb Make sure MyRocks tables do not have stats.records=0 as that confuses the optimizer. 2019-02-06 02:39:25 +03:00
sequence MDEV-16188 Post merge fixes: more for TokuDB 2019-02-08 12:32:31 -08:00
sphinx Merge 10.3 into 10.4 2018-08-16 10:08:30 +03:00
spider MDEV-371 Unique Index for long columns 2019-02-22 00:35:40 +01:00
test_sql_discovery
tokudb MDEV-371 Unique Index for long columns 2019-02-22 00:35:40 +01:00