From: Asutosh Das <quic_asutoshd@quicinc.com>
To: Manivannan Sadhasivam <mani@kernel.org>
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 08:30:16 -0800 [thread overview]
Message-ID: <20221129163016.GG20677@asutoshd-linux1.qualcomm.com> (raw)
In-Reply-To: <20221129153931.GJ4931@workstation>
On Tue, Nov 29 2022 at 07:39 -0800, Manivannan Sadhasivam wrote:
>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. I will send an updated series with the tags added today.
-asd
>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
>>
prev parent reply other threads:[~2022-11-29 16:30 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 ` [PATCH v6 00/16] Add Multi Circular Queue Support Manivannan Sadhasivam
2022-11-29 16:30 ` Asutosh Das [this message]
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=20221129163016.GG20677@asutoshd-linux1.qualcomm.com \
--to=quic_asutoshd@quicinc.com \
--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=mani@kernel.org \
--cc=martin.petersen@oracle.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