Writeback:
wb_writeback-> __writeback_inodes_wb-> writeback_sb_inodes-> __writeback_single_inode->generic_writepages->write_cache_pages
1:觸發時間
wb_wakeup_delayed()下的dirty_writeback_interval
unsigned int
dirty_writeback_interval = 5 * 100; /* centiseconds */
會執行一次wb_workfn()->wb_do_writeback()->wb_writeback() 剛好接續上面所提到的function.
2:alloc不到page
alloc_page_buffers()->free_more_memory()->wakeup_flusher_threads()->wb_start_writeback()在這個函數放入queue,並且透過mod_delayed_work()立即處理這個queue
沒有留言:
張貼留言