Re: [PATCH] base: power: domain: Replace mdelay with msleep
From: Ulf Hansson <hidden>
Date: 2018-02-09 13:58:21
Also in:
lkml
On 26 January 2018 at 09:38, Jia-Ju Bai [off-list ref] wrote:
quoted hunk ↗ jump to hunk
After checking all possible call chains to genpd_dev_pm_detach() and genpd_dev_pm_attach() here, my tool finds that these functions are never called in atomic context, namely never in an interrupt handler or holding a spinlock. Thus mdelay can be replaced with msleep to avoid busy wait. This is found by a static analysis tool named DCNS written by myself. Signed-off-by: Jia-Ju Bai <redacted> --- drivers/base/power/domain.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c index 0c80bea..f84ac72 100644 --- a/drivers/base/power/domain.c +++ b/drivers/base/power/domain.c@@ -2144,7 +2144,7 @@ static void genpd_dev_pm_detach(struct device *dev, bool power_off) if (ret != -EAGAIN) break; - mdelay(i); + msleep(i);
This looks like a nice improvement, however moving to msleep() makes the call to cond_resched() below a bit superfluous. Perhaps remove that as well.
quoted hunk ↗ jump to hunk
cond_resched(); }@@ -2231,7 +2231,7 @@ int genpd_dev_pm_attach(struct device *dev) if (ret != -EAGAIN) break; - mdelay(i); + msleep(i);
Ditto.
cond_resched();
}
mutex_unlock(&gpd_list_lock);
--
1.7.9.5Kind regards Uffe