From: Can Guo <cang@codeaurora.org>
To: Jaegeuk Kim <jaegeuk@kernel.org>
Cc: linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
kernel-team@android.com, alim.akhtar@samsung.com,
avri.altman@wdc.com, bvanassche@acm.org,
Asutosh Das <asutoshd@codeaurora.org>
Subject: Re: [PATCH v4 5/5] scsi: ufs: fix clkgating on/off correctly
Date: Tue, 27 Oct 2020 10:20:50 +0800 [thread overview]
Message-ID: <bcc5dd8f6da818247b420a1559ef4b25@codeaurora.org> (raw)
In-Reply-To: <20201026195124.363096-6-jaegeuk@kernel.org>
On 2020-10-27 03:51, Jaegeuk Kim wrote:
> The below call stack prevents clk_gating at every IO completion.
> We can remove the condition, ufshcd_any_tag_in_use(), since
> clkgating_work
> will check it again.
>
> ufshcd_complete_requests(struct ufs_hba *hba)
> ufshcd_transfer_req_compl()
> __ufshcd_transfer_req_compl()
> __ufshcd_release(hba)
> if (ufshcd_any_tag_in_use() == 1)
> return;
> ufshcd_tmc_handler(hba);
> blk_mq_tagset_busy_iter();
>
> Note that, this still requires a work to deal with a potential racy
> condition
> when user sets clkgating.delay_ms to very small value. That can cause
> preventing
> clkgating by the check of ufshcd_any_tag_in_use() in gate_work.
>
> Fixes: 7252a3603015 ("scsi: ufs: Avoid busy-waiting by eliminating tag
> conflicts")
> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
> Reviewed-by: Asutosh Das <asutoshd@codeaurora.org>
Reviewed-by: Can Guo <cang@codeaurora.org>
> ---
> drivers/scsi/ufs/ufshcd.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index b8a54d09e750..86c8dee01ca9 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -1746,7 +1746,7 @@ static void __ufshcd_release(struct ufs_hba *hba)
>
> if (hba->clk_gating.active_reqs || hba->clk_gating.is_suspended ||
> hba->ufshcd_state != UFSHCD_STATE_OPERATIONAL ||
> - ufshcd_any_tag_in_use(hba) || hba->outstanding_tasks ||
> + hba->outstanding_tasks ||
> hba->active_uic_cmd || hba->uic_async_done ||
> hba->clk_gating.state == CLKS_OFF)
> return;
prev parent reply other threads:[~2020-10-27 2:22 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-26 19:51 Jaegeuk Kim
2020-10-26 19:51 ` [PATCH v4 1/5] scsi: ufs: atomic update for clkgating_enable Jaegeuk Kim
2020-10-27 2:17 ` Can Guo
2020-10-27 3:33 ` Jaegeuk Kim
2020-10-27 3:37 ` Can Guo
2020-10-28 19:43 ` Jaegeuk Kim
2020-11-03 5:28 ` Can Guo
2020-10-26 19:51 ` [PATCH v4 2/5] scsi: ufs: clear UAC for FFU and RPMB LUNs Jaegeuk Kim
2020-10-26 19:51 ` [PATCH v4 3/5] scsi: ufs: use WQ_HIGHPRI for gating work Jaegeuk Kim
2020-10-26 19:51 ` [PATCH v4 4/5] scsi: add more contexts in the ufs tracepoints Jaegeuk Kim
2020-10-26 19:51 ` [PATCH v4 5/5] scsi: ufs: fix clkgating on/off correctly Jaegeuk Kim
2020-10-27 2:20 ` Can Guo [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bcc5dd8f6da818247b420a1559ef4b25@codeaurora.org \
--to=cang@codeaurora.org \
--cc=alim.akhtar@samsung.com \
--cc=asutoshd@codeaurora.org \
--cc=avri.altman@wdc.com \
--cc=bvanassche@acm.org \
--cc=jaegeuk@kernel.org \
--cc=kernel-team@android.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.