mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-25 02:32:08 +03:00
vblk: use interrupted wait API instead of normal wait
Currently vblk driver uses wait_for_completion() for the requests from block layer or responses from Storage Server. wait_for_completion() make the current waiter to be un-interrutable. But linux top utility loadavg metric includes the processes both in running state and uninterruptable sate. Replace wait_for_completion() with wait_for_completion_interruptible() in driver, so that vblk wait will not be included in loadavg. This changes is made as per customer request. It is for only cosmetic or for accounting purposes and no effect in functionality. Bug 4767390 Change-Id: I2b885a1623b7d2d3a7af00951c5421dacf9d3d26 Signed-off-by: Vikram Kanigiri <vkanigiri@nvidia.com> (cherry picked from commit ff34c49236bf57542eae09a7e7f7189ac8bddd13) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3219307 GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com> Reviewed-by: Sreenivas Velpula <svelpula@nvidia.com> Reviewed-by: Vipin Kumar <vipink@nvidia.com> (cherry picked from commit 2784d7b651cea6eb22195443d2cf43593084324b) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3262249 Reviewed-by: Sumeet Gupta <sumeetg@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: Manish Bhardwaj <mbhardwaj@nvidia.com> Tested-by: Manish Bhardwaj <mbhardwaj@nvidia.com> Reviewed-by: Gokul Vasan L J <gokull@nvidia.com>
This commit is contained in:
committed by
Jon Hunter
parent
e41e3efcb8
commit
873e573464
@@ -701,9 +701,13 @@ static int vblk_request_worker(void *data)
|
||||
{
|
||||
struct vblk_dev *vblkdev = (struct vblk_dev *)data;
|
||||
bool req_submitted, req_completed;
|
||||
int ret;
|
||||
|
||||
while (true) {
|
||||
wait_for_completion(&vblkdev->complete);
|
||||
ret = wait_for_completion_interruptible(&vblkdev->complete);
|
||||
if (ret < 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Taking ivc lock before performing IVC read/write */
|
||||
mutex_lock(&vblkdev->ivc_lock);
|
||||
|
||||
Reference in New Issue
Block a user