[PATCH] loop: devirtualise ki_complete call

From: Pavel Begunkov
Date: Sat Jan 09 2021 - 10:56:17 EST


lo_rw_aio() knows what iocb.ki_complete it set, so instead of an
expensive indirect call it can call lo_rw_aio_complete() directly.

Signed-off-by: Pavel Begunkov <asml.silence@xxxxxxxxx>
---
drivers/block/loop.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index e5ff328f0917..113d87f3b194 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -588,7 +588,7 @@ static int lo_rw_aio(struct loop_device *lo, struct loop_cmd *cmd,
kthread_associate_blkcg(NULL);

if (ret != -EIOCBQUEUED)
- cmd->iocb.ki_complete(&cmd->iocb, ret, 0);
+ lo_rw_aio_complete(&cmd->iocb, ret, 0);
return 0;
}

--
2.24.0