MDEV-23410 buf_LRU_scan_and_free_block() fails to stop at first freed block
An unfortunate performance regression was introduced in commit b1ab211d (MDEV-15053) that affects workloads where the working set is larger than the buffer pool. We used to terminate the loop in buf_LRU_scan_and_free_block() when we succeeded to free a replaceable buffer pool block. Due to the regression, we would keep freeing all replaceable blocks until we reach the end of the list or encounter a block that had never been accessed because it had been brought in by read-ahead.
Showing
Please register or sign in to comment