Hi Martin,
This patch series add CPU latency QoS support for UFS driver. This
improves random io
performance by ~15% for UFS. Can you please consider this patch series
for the next merge window.
Thank you,
Nitin
On 12/19/2023 6:07 PM, Maramaina Naresh wrote:
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@xxxxxxxxxxxx
Changes from v5:
- Addressed bvanassche comment to use kstrtobool instead kstrtou32
- Addressed bvanassche comment to add sys attribute into an existing group
Changes from v4:
- Addressed angelogioacchino's comment to update commit text
- Addressed angelogioacchino's comment to code alignment
Changes from v3:
- Removed UFSHCD_CAP_PM_QOS capability flag from patch#2
Changes from v2:
- Addressed bvanassche and mani comments
- Provided sysfs interface to enable/disable PM QoS feature
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 (2):
ufs: core: Add CPU latency QoS support for ufs driver
ufs: ufs-mediatek: Migrate to UFSHCD generic CPU latency PM QoS
support
drivers/ufs/core/ufs-sysfs.c | 49 ++++++++++++++++++++++++++++++++
drivers/ufs/core/ufshcd.c | 50 +++++++++++++++++++++++++++++++++
drivers/ufs/host/ufs-mediatek.c | 17 -----------
drivers/ufs/host/ufs-mediatek.h | 3 --
include/ufs/ufshcd.h | 6 ++++
5 files changed, 105 insertions(+), 20 deletions(-)