mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
50324ce624
InnoDB crash recovery used a special type of mem_heap_t that allocates backing store from the buffer pool. That incurred a significant overhead, leading to underutilization of memory, and limiting the maximum contiguous allocated size of a log record. recv_sys_t::blocks: A linked list of buf_block_t that are allocated by buf_block_alloc() for redo log records. Replaces recv_sys_t::heap. We repurpose buf_block_t::unzip_LRU for linking the elements. recv_sys_t::max_log_blocks: Renamed from recv_n_pool_free_frames. recv_sys_t::max_blocks(): Accessor for max_log_blocks. recv_sys_t::alloc(): Allocate memory from the current recv_sys_t::blocks element, or allocate another block. In debug builds, various free() member functions must be invoked, because we repurpose buf_page_t::buf_fix_count for tracking allocations. recv_sys_t::free_corrupted_page(): Renamed from recv_recover_corrupt_page() recv_sys_t::is_memory_exhausted(): Renamed from recv_sys_heap_check() recv_sys_t::pages and its elements are allocated directly by the system memory allocator. recv_parse_log_recs(): Remove the parameter available_memory. We rename some variables 'store_to_hash' to 'store', because recv_sys.pages is not actually a hash table. This is joint work with Thirunarayanan Balathandayuthapani. |
||
---|---|---|
.. | ||
aws_sdk | ||
crc32-vpmsum | ||
crc32_armv8_neon | ||
mariabackup | ||
readline | ||
wolfssl | ||
charset2html.c | ||
CMakeLists.txt | ||
comp_err.c | ||
innochecksum.cc | ||
my_print_defaults.c | ||
mysql_waitpid.c | ||
mysqld_safe_helper.c | ||
perror.c | ||
replace.c | ||
resolve_stack_dump.c | ||
resolveip.c |