Re: [PATCH v1 2/2] scsi: ufs: disable interrupt during clock-gating

From: Asutosh Das (asd)
Date: Wed Dec 18 2019 - 18:37:34 EST


On 12/17/2019 7:52 PM, Stanley Chu wrote:
Hi Asutosh,

On Tue, 2019-12-17 at 15:25 -0800, Asutosh Das (asd) wrote:


Hi,
Does this save significant power? I see that gate/ungate of clocks
happen far too frequently than suspend/resume.

Have you considered how much latency this would add to the
gating/ungating path?

-asd


Yes, we have measured 200 times clk-gating/clk-ungating and latency data
is showed as below,

For clk-gating with interrupt disabling toggled,

Average latency of each clk-gating: 55.117 us
Average latency of irq-disabling during clk-gating: 4.2 us

For clk-ungating with interrupt enabling toggled,
Average latency of each clk-ungating: 118.324 us
Average latency of irq-enabling during clk-ungating: 2.9 us

The evaluation here is based on below Can's patch therefore the
interrupt control (enable_irq/disable_irq) latency is much shorter than
before (request_irq/free_irq).

scsi: ufs: Do not free irq in suspend
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/scsi/ufs/ufshcd.c?id=8709c1f68536e256668812788af5b2bb027f49c3

BTW, the main purpose of this patch is aimed to protect ufshcd register
from accessing while host clocks are disabled to fix potential system
hang issue. The possible scenario is mentioned in commit message of
patch "scsi: ufs: disable irq before disabling clocks" in the same
series.

Thanks
Stanley


Reviewed-by: Asutosh Das <asutoshd@xxxxxxxxxxxxxx>

Thanks for the data.
It'd be interesting to know more on the - misrouted interrupt recovery feature though.

-
Thanks
Asutosh

--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
Linux Foundation Collaborative Project