• Javier González's avatar
    lightnvm: pblk: generalize erase path · d624f371
    Javier González authored
    Erase I/Os are scheduled with the following goals in mind: (i) minimize
    LUNs collisions with write I/Os, and (ii) even out the price of erasing
    on every write, instead of putting all the burden on when garbage
    collection runs. This works well on the current design, but is specific
    to the default mapping algorithm.
    
    This patch generalizes the erase path so that other mapping algorithms
    can select an arbitrary line to be erased instead. It also gets rid of
    the erase semaphore since it creates jittering for user writes.
    Signed-off-by: default avatarJavier González <javier@cnexlabs.com>
    Signed-off-by: default avatarMatias Bjørling <matias@cnexlabs.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    d624f371
pblk.h 31.5 KB