• Song Liu's avatar
    md/r5cache: improve recovery with read ahead page pool · effe6ee7
    Song Liu authored
    In r5cache recovery, the journal device is scanned page by page.
    Currently, we use sync_page_io() to read journal device. This is
    not efficient when we have to recovery many stripes from the journal.
    
    To improve the speed of recovery, this patch introduces a read ahead
    page pool (ra_pool) to recovery_ctx. With ra_pool, multiple consecutive
    pages are read in one IO. Then the recovery code read the journal from
    ra_pool.
    
    With ra_pool, r5l_recovery_ctx has become much bigger. Therefore,
    r5l_recovery_log() is refactored so r5l_recovery_ctx is not using
    stack space.
    Signed-off-by: default avatarSong Liu <songliubraving@fb.com>
    Signed-off-by: default avatarShaohua Li <shli@fb.com>
    effe6ee7
raid5-cache.c 83.1 KB