mirror of
https://github.com/MariaDB/server.git
synced 2025-12-22 23:02:58 +03:00
Bug #61341 buf_LRU_insert_zip_clean can be O(N) on LRU length
The buf_pool->zip_clean list is only needed for debugging, or for recomputing buf_pool->page_hash when resizing the buffer pool. Buffer pool resizing was never fully implemented. Remove the resizing code, and define buf_pool->zip_clean only in debug builds. buf_pool->zip_clean, buf_LRU_insert_zip_clean(): Enclose in #if defined UNIV_DEBUG || UNIV_BUF_DEBUG. buf_chunk_free(), buf_chunk_all_free(), buf_pool_shrink(), buf_pool_page_hash_rebuild(), buf_pool_resize(): Remove (unreachable code). rb:671 approved by Inaam Rana
This commit is contained in:
@@ -141,12 +141,6 @@ buf_relocate(
|
||||
BUF_BLOCK_ZIP_DIRTY or BUF_BLOCK_ZIP_PAGE */
|
||||
buf_page_t* dpage) /*!< in/out: destination control block */
|
||||
__attribute__((nonnull));
|
||||
/********************************************************************//**
|
||||
Resizes the buffer pool. */
|
||||
UNIV_INTERN
|
||||
void
|
||||
buf_pool_resize(void);
|
||||
/*=================*/
|
||||
/*********************************************************************//**
|
||||
Gets the current size of buffer buf_pool in bytes.
|
||||
@return size in bytes */
|
||||
@@ -1446,8 +1440,10 @@ struct buf_pool_struct{
|
||||
frames and buf_page_t descriptors of blocks that exist
|
||||
in the buffer pool only in compressed form. */
|
||||
/* @{ */
|
||||
#if defined UNIV_DEBUG || defined UNIV_BUF_DEBUG
|
||||
UT_LIST_BASE_NODE_T(buf_page_t) zip_clean;
|
||||
/*!< unmodified compressed pages */
|
||||
#endif /* UNIV_DEBUG || UNIV_BUF_DEBUG */
|
||||
UT_LIST_BASE_NODE_T(buf_page_t) zip_free[BUF_BUDDY_SIZES];
|
||||
/*!< buddy free lists */
|
||||
#if BUF_BUDDY_HIGH != UNIV_PAGE_SIZE
|
||||
|
||||
Reference in New Issue
Block a user