From: Manivannan Sadhasivam <mani@kernel.org>
To: Asutosh Das <quic_asutoshd@quicinc.com>
Cc: quic_cang@quicinc.com, martin.petersen@oracle.com,
linux-scsi@vger.kernel.org, quic_nguyenb@quicinc.com,
quic_xiaosenh@quicinc.com, stanley.chu@mediatek.com,
eddie.huang@mediatek.com, daejun7.park@samsung.com,
bvanassche@acm.org, avri.altman@wdc.com, beanhuo@micron.com,
linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH v6 00/16] Add Multi Circular Queue Support
Date: Tue, 29 Nov 2022 21:09:31 +0530 [thread overview]
Message-ID: <20221129153931.GJ4931@workstation> (raw)
In-Reply-To: <cover.1669684648.git.quic_asutoshd@quicinc.com>
Hi Asutosh,
On Mon, Nov 28, 2022 at 05:20:41PM -0800, Asutosh Das wrote:
> UFS Multi-Circular Queue (MCQ) has been added in UFSHCI v4.0 to improve storage performance.
> The implementation uses the shared tagging mechanism so that tags are shared
> among the hardware queues. The number of hardware queues is configurable.
> This series doesn't include the ESI implementation for completion handling.
> This implementation has been verified by on a Qualcomm platform.
>
> Please take a look and let us know your thoughts.
>
> v5 -> v6:
> - Addressed Mani's comments
> - Addressed Bart's comments
>
Thanks for the continuous update of the series. In this version, you
seem to have missed some review tags from myself and Bart. Please
make sure to collect all tags in the next version if you happen to
send one.
Thanks,
Mani
> v4 -> v5:
> - Fixed failure to fallback to SDB during initialization
> - Fixed failure when rpm-lvl=5 in the ufshcd_host_reset_and_restore() path
> - Improved ufshcd_mcq_config_nr_queues() to handle different configurations
> - Addressed Bart's comments
> - Verified read/write using FIO, clock gating, runtime-pm[lvl=3, lvl=5]
>
> v3 -> v4:
> - Added a kernel module parameter to disable MCQ mode
> - Added Bart's reviewed-by tag for some patches
> - Addressed Bart's comments
>
> v2 -> v3:
> - Split ufshcd_config_mcq() into ufshcd_alloc_mcq() and ufshcd_config_mcq()
> - Use devm_kzalloc() in ufshcd_mcq_init()
> - Free memory and resource allocation on error paths
> - Corrected typos in code comments
>
> v1 -> v2:
> - Added a non MCQ related change to use a function to extrace ufs extended
> feature
> - Addressed Mani's comments
> - Addressed Bart's comments
>
> v1:
> - Split the changes
> - Addressed Bart's comments
> - Addressed Bean's comments
>
> * RFC versions:
> v2 -> v3:
> - Split the changes based on functionality
> - Addressed queue configuration issues
> - Faster SQE tail pointer increments
> - Addressed comments from Bart and Manivannan
>
> v1 -> v2:
> - Enabled host_tagset
> - Added queue num configuration support
> - Added one more vops to allow vendor provide the wanted MAC
> - Determine nutrs and can_queue by considering both MAC, bqueuedepth and EXT_IID support
> - Postponed MCQ initialization and scsi_add_host() to async probe
> - Used (EXT_IID, Task Tag) tuple to support up to 4096 tasks (theoretically)
>
>
> Asutosh Das (16):
> ufs: core: Optimize duplicate code to read extended feature
> ufs: core: Probe for ext_iid support
> ufs: core: Introduce Multi-circular queue capability
> ufs: core: Defer adding host to scsi if mcq is supported
> ufs: core: mcq: Add support to allocate multiple queues
> ufs: core: mcq: Configure resource regions
> ufs: core: mcq: Calculate queue depth
> ufs: core: mcq: Allocate memory for mcq mode
> ufs: core: mcq: Configure operation and runtime interface
> ufs: core: mcq: Use shared tags for MCQ mode
> ufs: core: Prepare ufshcd_send_command for mcq
> ufs: core: mcq: Find hardware queue to queue request
> ufs: core: Prepare for completion in mcq
> ufs: mcq: Add completion support of a cqe
> ufs: core: mcq: Add completion support in poll
> ufs: core: mcq: Enable Multi Circular Queue
>
> drivers/ufs/core/Makefile | 2 +-
> drivers/ufs/core/ufs-mcq.c | 416 +++++++++++++++++++++++++++++++++++++++++
> drivers/ufs/core/ufshcd-priv.h | 92 ++++++++-
> drivers/ufs/core/ufshcd.c | 395 +++++++++++++++++++++++++++++++-------
> drivers/ufs/host/ufs-qcom.c | 148 +++++++++++++++
> drivers/ufs/host/ufs-qcom.h | 5 +
> include/ufs/ufs.h | 6 +
> include/ufs/ufshcd.h | 128 +++++++++++++
> include/ufs/ufshci.h | 64 +++++++
> 9 files changed, 1189 insertions(+), 67 deletions(-)
> create mode 100644 drivers/ufs/core/ufs-mcq.c
>
> --
> 2.7.4
>
next prev parent reply other threads:[~2022-11-29 15:39 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-29 1:20 [PATCH v6 00/16] Add Multi Circular Queue Support Asutosh Das
2022-11-29 1:20 ` [PATCH v6 01/16] ufs: core: Optimize duplicate code to read extended feature Asutosh Das
2022-11-29 15:24 ` Manivannan Sadhasivam
2022-11-29 1:20 ` [PATCH v6 02/16] ufs: core: Probe for ext_iid support Asutosh Das
2022-11-29 15:25 ` Manivannan Sadhasivam
2022-11-29 1:20 ` [PATCH v6 03/16] ufs: core: Introduce Multi-circular queue capability Asutosh Das
2022-11-29 1:20 ` [PATCH v6 04/16] ufs: core: Defer adding host to scsi if mcq is supported Asutosh Das
2022-11-29 15:26 ` Manivannan Sadhasivam
2022-11-29 1:20 ` [PATCH v6 05/16] ufs: core: mcq: Add support to allocate multiple queues Asutosh Das
2022-11-29 15:28 ` Manivannan Sadhasivam
2022-11-29 1:20 ` [PATCH v6 06/16] ufs: core: mcq: Configure resource regions Asutosh Das
2022-11-29 15:32 ` Manivannan Sadhasivam
2022-11-29 1:20 ` [PATCH v6 07/16] ufs: core: mcq: Calculate queue depth Asutosh Das
2022-11-29 15:33 ` Manivannan Sadhasivam
2022-11-29 1:20 ` [PATCH v6 08/16] ufs: core: mcq: Allocate memory for mcq mode Asutosh Das
2022-11-29 15:35 ` Manivannan Sadhasivam
2022-11-29 1:20 ` [PATCH v6 09/16] ufs: core: mcq: Configure operation and runtime interface Asutosh Das
2022-11-29 1:20 ` [PATCH v6 10/16] ufs: core: mcq: Use shared tags for MCQ mode Asutosh Das
2022-11-29 1:20 ` [PATCH v6 11/16] ufs: core: Prepare ufshcd_send_command for mcq Asutosh Das
2022-11-29 1:20 ` [PATCH v6 12/16] ufs: core: mcq: Find hardware queue to queue request Asutosh Das
2022-11-29 1:20 ` [PATCH v6 13/16] ufs: core: Prepare for completion in mcq Asutosh Das
2022-11-29 1:20 ` [PATCH v6 14/16] ufs: mcq: Add completion support of a cqe Asutosh Das
2022-11-29 15:37 ` Manivannan Sadhasivam
2022-11-29 1:20 ` [PATCH v6 15/16] ufs: core: mcq: Add completion support in poll Asutosh Das
2022-11-29 1:20 ` [PATCH v6 16/16] ufs: core: mcq: Enable Multi Circular Queue Asutosh Das
2022-11-29 15:39 ` Manivannan Sadhasivam [this message]
2022-11-29 16:30 ` [PATCH v6 00/16] Add Multi Circular Queue Support Asutosh Das
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=20221129153931.GJ4931@workstation \
--to=mani@kernel.org \
--cc=avri.altman@wdc.com \
--cc=beanhuo@micron.com \
--cc=bvanassche@acm.org \
--cc=daejun7.park@samsung.com \
--cc=eddie.huang@mediatek.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=quic_asutoshd@quicinc.com \
--cc=quic_cang@quicinc.com \
--cc=quic_nguyenb@quicinc.com \
--cc=quic_xiaosenh@quicinc.com \
--cc=stanley.chu@mediatek.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox