• Marko Mäkelä's avatar
    MDEV-24537 innodb_max_dirty_pages_pct_lwm=0 lost its special meaning · a9933105
    Marko Mäkelä authored
    In commit 3a9a3be1 (MDEV-23855)
    some previous logic was replaced with the condition
    dirty_pct < srv_max_dirty_pages_pct_lwm, which caused
    the default value of the parameter innodb_max_dirty_pages_pct_lwm=0
    to lose its special meaning: 'refer to innodb_max_dirty_pages_pct instead'.
    
    This implicit special meaning was visible in the function
    af_get_pct_for_dirty(), which was removed in
    commit f0c295e2 (MDEV-24369).
    
    page_cleaner_flush_pages_recommendation(): Restore the special
    meaning that was removed in MDEV-24369.
    
    buf_flush_page_cleaner(): If srv_max_dirty_pages_pct_lwm==0.0,
    refer to srv_max_buf_pool_modified_pct. This fixes the observed
    performance regression due to excessive page flushing.
    
    buf_pool_t::page_cleaner_wakeup(): Revise the wakeup condition.
    
    innodb_init(): Do initialize srv_max_io_capacity in Mariabackup.
    It was previously constantly 0, which caused mariadb-backup --prepare
    to hang in buf_flush_sync(), making no progress.
    a9933105
buf0flu.cc 72.2 KB