Details
-
Task
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
Description
The InnoDB buffer pool had been allocated in multiple chunks, because SET GLOBAL innodb_buffer_pool_size would extend the buffer pool in chunks. This would lead to many limitations, such as the inability to shrink the buffer pool below innodb_buffer_pool_chunk_size.
It would be cleaner to:
- allocate a contiguous virtual address range for a maximum supported size of buffer pool (a new parameter innodb_buffer_pool_size_max, which defaults to the initially specified innodb_buffer_pool_size)
- allow the innodb_buffer_pool_size to be changed in increments of 1 megabyte
- define a fixed mapping between the virtual memory addresses of buffer page descriptors page frames, to fix bugs like
MDEV-34677andMDEV-35485 - refactor the shrinking of the buffer pool to provide more meaningful progress output and to avoid hangs
The complicated logic of having multiple buffer pool chunks can be removed, and the parameter innodb_buffer_pool_chunk_size will be deprecated and ignored.
Attachments
Issue Links
- blocks
-
MDEV-21203 Bad value for the variable "Buffer pool size"
-
- Closed
-
-
MDEV-28805 SET GLOBAL innodb_buffer_pool_size=12*1024*1024 has different outcomes depending on version
-
- Closed
-
-
MDEV-34677 Server crashes when resizing default innodb buffer pool after setting innodb-buffer-pool-chunk-size to 1M
-
- Closed
-
-
MDEV-36197 Implement Buffer Pool Auto-Scaling Based on RAM Availability
-
- Open
-
- includes
-
MDEV-34863 RAM Usage Changed Significantly Between 10.11 Releases
-
- Closed
-
- is blocked by
-
MDEV-33559 matched_rec::block should be allocated from the buffer pool
-
- Closed
-
- relates to
-
MDEV-29432 innodb huge pages reclaim
-
- Needs Feedback
-
-
MDEV-31976 buf_pool.unzip_LRU wastes memory and CPU
-
- Stalled
-
-
MDEV-32175 page_align() or page_offset() may cost some performance
-
- Closed
-
-
MDEV-32544 Setting innodb_buffer_pool_size to the maximum value can cause drastic performance degradation
-
- Open
-
-
MDEV-33588 buf::Block_hint is a performance hog
-
- Closed
-
-
MDEV-36061 Incorrect error handling on DDL with FULLTEXT INDEX
-
- Closed
-
-
MDEV-9236 Dramatically overallocation of InnoDB buffer pool leads to crash
-
- Open
-
-
MDEV-25341 innodb buffer pool soft decommit of memory
-
- Closed
-
-
MDEV-32339 decreasing innodb_buffer_pool_size at runtime does not release memory
-
- Closed
-
-
MDEV-34863 RAM Usage Changed Significantly Between 10.11 Releases
-
- Closed
-
-
MDEV-35485 The test innodb.innodb_buffer_pool_resize occasionally crashes
-
- Closed
-
marko I just think you can't reserve "large pages" on Linux, and that MAP_NORESERVE does not work for them. So, the large pages are not resizable, and one should not attempt to reserve that.