Remove code duplication around buf_pool->flush_rbt
The purpose of buf_pool->flush_rbt is to ensure that buf_pool->flush_list is ordered by oldest_modification. This should speed up multi-pass redo log application (when the buffer pool is not large enough to accommodate all pages that were modified since the latest log checkpoint). The buf_pool->flush_rbt is not being used after redo log has been applied. It could be better to always flush pages in the ascending order of oldest_modification. Currently, whenever a page is first modified, it will be moved to the start of the buf_pool->flush_list, overtaking blocks whose oldest_modification could be much older. buf_flush_insert_sorted_into_flush_list(): Merge into buf_flush_insert_into_flush_list(). buf_flush_recv_note_modification(): Remove. The function buf_flush_note_modification() can be invoked instead.
Showing
Please register or sign in to comment