summaryrefslogtreecommitdiff
path: root/drivers/lightnvm/pblk-core.c
diff options
context:
space:
mode:
authorIgor Konopko <igor.j.konopko@intel.com>2019-05-04 21:38:09 +0300
committerJens Axboe <axboe@kernel.dk>2019-05-06 19:19:19 +0300
commit843f2edbdde085b4d2764baf6fd8a1fccb1ab26a (patch)
treeed19a493affd72fbfafbc763cf3149f0d441aa7c /drivers/lightnvm/pblk-core.c
parente69397ea05ce0263e3ee72fa8f6f70d2d9a561a7 (diff)
downloadlinux-843f2edbdde085b4d2764baf6fd8a1fccb1ab26a.tar.xz
lightnvm: do not remove instance under global lock
Currently all the target instances are removed under global nvm_lock. This was needed to ensure that nvm_dev struct will not be freed by hot unplug event during target removal. However, current implementation has some drawbacks, since the same lock is used when new nvme subsystem is registered, so we can have a situation, that due to long process of target removal on drive A, registration (and listing in OS) of the drive B will take a lot of time, since it will wait for that lock. Now when we have kref which ensures that nvm_dev will not be freed in the meantime, we can easily get rid of this lock for a time when we are removing nvm targets. Signed-off-by: Igor Konopko <igor.j.konopko@intel.com> Reviewed-by: Javier González <javier@javigon.com> Signed-off-by: Matias Bjørling <mb@lightnvm.io> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/lightnvm/pblk-core.c')
0 files changed, 0 insertions, 0 deletions