• Krunal Bauskar's avatar
    MDEV-24949: Enabling idle flushing (possible regression from MDEV-23855) · f11b6087
    Krunal Bauskar authored
    - Currently page cleaner thread will stop flushing if
      dirty_pct < innodb_max_dirty_pages_pct_lwm.
    
    - If the server is not performing any activity then said resources/time
      could be used to flush the pending dirty pages and keep buffer pool
      clean for the next burst of the cycle. This flushing is called idle flushing.
    
    - flushing logic underwent a complete revamp in 10.5.7/8
      and as part of the revamp idle flushing logic got removed.
    
    - New proposed logic of idle flushing is based on updated logic of the
      page cleaner that will enable idle flushing if
      - buf page cleaner is idle
      - there are dirty pages (< innodb_max_dirty_pages_pct_lwm)
      - server is not performing any activity
    
      Logic will kickstart the idle flushing bounded by innodb_io_capacity.
    
    (Thanks to Marko Makela for reviewing the patch and idea
     right from the its inception).
    f11b6087
buf0flu.cc 74.7 KB