Commit 6d6afa9d authored by Manish Pandey's avatar Manish Pandey Committed by Todd Kjos
Browse files

FROMGIT: scsi: ufs: core: Suspend clk scaling on no request



Currently UFS clk scaling is getting suspended only when the clks are
scaled down. When high load is generated, a huge amount of latency is
added due to scaling up the clk and completing the request post that.

Suspending the scaling in its existing state when high load is generated
improves the random performance KPI by 28%. So suspending the scaling when there are no requests. And the clk would be put in low scaled state when the actual request load is low.

Make this change optional by having the check enabled using vops since for some devices suspending without bringing the clk in low scaled state might have impact on power consumption of the SoC.

The change takes advantage of the hole in 'struct ufs_clk_scaling' before ANDROID_KABI_RESERVE and does not change the size of the struct.
Use __GENKSYMS__ marker to preserve the abi correctly.

Signed-off-by: default avatarRam Prakash Gupta <quic_rampraka@quicinc.com>
Link: https://lore.kernel.org/r/20240627083756.25340-2-quic_rampraka@quicinc.com


Reviewed-by: default avatarBart Van Assche <bvanassche@acm.org>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>

Bug: 351099319
(cherry picked from commit 50183ac2
https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git

 6.11/scsi-staging)
Change-Id: I6e11beab7bc56746e7e1ae1ea25f9ab205394ef7
Signed-off-by: default avatarManish Pandey <quic_mapa@quicinc.com>
(cherry picked from commit 78931ac6)
parent f858f0ff
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment