• Joe Thornber's avatar
    dm cache: age and write back cache entries even without active IO · fba10109
    Joe Thornber authored
    The policy tick() method is normally called from interrupt context.
    Both the mq and smq policies do some bottom half work for the tick
    method in their map functions.  However if no IO is going through the
    cache, then that bottom half work doesn't occur.  With these policies
    this means recently hit entries do not age and do not get written
    back as early as we'd like.
    
    Fix this by introducing a new 'can_block' parameter to the tick()
    method.  When this is set the bottom half work occurs immediately.
    'can_block' is set when the tick method is called every second by the
    core target (not in interrupt context).
    Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    fba10109
dm-cache-policy-mq.c 34 KB