]> git.baikalelectronics.ru Git - kernel.git/commit
lightnvm: update closed list outside of intr context
authorJavier González <javier@cnexlabs.com>
Sat, 20 Feb 2016 07:52:40 +0000 (08:52 +0100)
committerJens Axboe <axboe@fb.com>
Thu, 3 Mar 2016 21:46:35 +0000 (14:46 -0700)
commit720c8901e852ddd71f3ee2153c3ec49622718e1e
tree154b268390df5fd4d2a4da747ebedb272b4f4f8b
parent4cc1b8392f422070d435b8510ef2de9df8d91a7f
lightnvm: update closed list outside of intr context

When an I/O finishes, full blocks are moved from the open to the closed
list - a lock is taken to protect the list. This happens at the moment
in the interrupt context, which is not correct.

This patch moves this logic to the block workqueue instead, avoiding
holding a spinlock without interrupt save in an interrupt context.

Signed-off-by: Javier González <javier@cnexlabs.com>
Fixes: aeb92d734033 ("lightnvm: manage open and closed blocks sepa...")
Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/lightnvm/rrpc.c