mbox series

[V2,0/3] Add CPU latency QoS support for ufs driver

Message ID 20231204143101.64163-1-quic_mnaresh@quicinc.com (mailing list archive)
Headers show
Series Add CPU latency QoS support for ufs driver | expand

Message

Maramaina Naresh Dec. 4, 2023, 2:30 p.m. UTC
Add CPU latency QoS support for ufs driver. This improves random io
performance by 15% for ufs.

tiotest benchmark tool io performance results on sm8550 platform:

1. Without PM QoS support
	Type (Speed in)    | Average of 18 iterations
	Random Read(IPOS)  | 37101.3
	Random Write(IPOS) | 41065.13

2. With PM QoS support
	Type (Speed in)    | Average of 18 iterations
	Random Read(IPOS)  | 42943.4
	Random Write(IPOS) | 46784.9
(Improvement % with PM QoS = ~15%).

This patch is based on below patch by Stanley Chu [1]. 
Moving the PM QoS code to ufshcd.c and making it generic.

[1] https://lore.kernel.org/r/20220623035052.18802-8-stanley.chu@mediatek.com

Changes from v1:
- Addressed bvanassche comments to have the code in core ufshcd
- Design is changed from per-device PM QoS to CPU latency QoS based support
- Reverted existing PM QoS feature from MEDIATEK UFS driver
- Added PM QoS capability for both QCOM and MEDIATEK SoCs

Maramaina Naresh (3):
  ufs: core: Add CPU latency QoS support for ufs driver
  ufs: ufs-mediatek: Enable CPU latency PM QoS support for MEDIATEK SoC
  ufs: ufs-qcom: Enable CPU latency QoS support for QCOM SoC

 drivers/ufs/core/ufshcd-priv.h  |  8 +++++
 drivers/ufs/core/ufshcd.c       | 62 +++++++++++++++++++++++++++++++++
 drivers/ufs/host/ufs-mediatek.c | 20 ++---------
 drivers/ufs/host/ufs-mediatek.h |  3 --
 drivers/ufs/host/ufs-qcom.c     |  1 +
 include/ufs/ufshcd.h            | 16 +++++++++
 6 files changed, 90 insertions(+), 20 deletions(-)