From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x226BWQ4Yvbqvzjs2kBjNUN3hBtNq3tRTwF+8b/1OY5soVLk8fK1Knh3CA9E5dEThqbI8+1xA ARC-Seal: i=1; a=rsa-sha256; t=1516962365; cv=none; d=google.com; s=arc-20160816; b=DdZTeMmn0A7aHBN7ghygXO8pyqCgyXiSAFeJB2gBGd1n/ApX4xjNUsfAPANZURyS85 0iUP/vCVu+S9SGitv12Z0OZhF9sm8DRwHgWs4pq+jyAN2p3GOSWK9wWEopSsQY5nbBiS nfqzs3HnsVKl5GYhtgRzZtxuiVvIJlmBSBg8PTmnKoYEKGR0LLH8QAPAzfuNh6cpQNTA E+Wyvp5Ww+GfsCYxNOb2REeGxjaIyLiS7cvALO5KjzzDEIqfDeP9KWgA8NIyLqlr0W4w KpXhz05ixUKU4D9kOIKOvtnP2yiVVaTMXhfJuvEfKKaMTPYisyj1xGcbjbNqUC0FR4cq 0oew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:arc-authentication-results; bh=dBwSJQBreRTYUEsbGs5IwMzPH4h6mLVKNjFrpa4mi5Y=; b=KiOVPITeXyE5C114yhmeQPrlBsJiDK72G5rOW8jwWHJotmE0cwODtH0rSfmuRtCzE2 2lpcHIhaF/aWbctiK86hUYCBtFCl+beDX4OrNL3+n4D5vWchHYAc5lis46WfB+XlIXRJ lPeuUN3a5B5UwhfiAwPNclf12AsRC3juop3c7RjIPC0b+xy6G1IyL+G9LxURZixOuLMA V9nJc05GTuSPY1JYpbR+wNlDvFdAxzzaChrf2OqHWEiz/FgRxHSGQCHo3Mxc0xBlGFXl J5cLQZWpb4iKnY1Zw0q/ZKpRTNsx+DkkOd/xQE+YkLczZ7Z3Ups7gVE5hGcN6gFjfPoW yycw== ARC-Authentication-Results: i=1; mx.google.com; spf=neutral (google.com: 195.113.26.193 is neither permitted nor denied by best guess record for domain of pavel@ucw.cz) smtp.mailfrom=pavel@ucw.cz Authentication-Results: mx.google.com; spf=neutral (google.com: 195.113.26.193 is neither permitted nor denied by best guess record for domain of pavel@ucw.cz) smtp.mailfrom=pavel@ucw.cz Date: Fri, 26 Jan 2018 11:26:04 +0100 From: Pavel Machek To: Jia-Ju Bai Cc: rjw@rjwysocki.net, khilman@kernel.org, ulf.hansson@linaro.org, len.brown@intel.com, gregkh@linuxfoundation.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] base: power: domain: Replace mdelay with msleep Message-ID: <20180126102604.GB13775@amd> References: <1516955899-31810-1-git-send-email-baijiaju1990@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="GRPZ8SYKNexpdSJ7" Content-Disposition: inline In-Reply-To: <1516955899-31810-1-git-send-email-baijiaju1990@gmail.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1590643262439305991?= X-GMAIL-MSGID: =?utf-8?q?1590650329839089632?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: --GRPZ8SYKNexpdSJ7 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri 2018-01-26 16:38:19, Jia-Ju Bai wrote: > 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. >=20 > This is found by a static analysis tool named DCNS written by myself. Well, cond_resched() just after msleep certainly looks like that. Did the patch receive any testing? > Signed-off-by: Jia-Ju Bai > --- > drivers/base/power/domain.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) >=20 > 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 !=3D -EAGAIN) > break; > =20 > - mdelay(i); > + msleep(i); > cond_resched(); > } > =20 > @@ -2231,7 +2231,7 @@ int genpd_dev_pm_attach(struct device *dev) > if (ret !=3D -EAGAIN) > break; > =20 > - mdelay(i); > + msleep(i); > cond_resched(); > } > mutex_unlock(&gpd_list_lock); --=20 (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blo= g.html --GRPZ8SYKNexpdSJ7 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlprAjwACgkQMOfwapXb+vJlYACcCZMDA5fnbjAcpcs14r+abqYK 05oAnA+nCUBwmKUNZqAD1OtDU9otgPVV =1yYv -----END PGP SIGNATURE----- --GRPZ8SYKNexpdSJ7--