linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Can Guo <quic_cang@quicinc.com>
To: Avri Altman <Avri.Altman@wdc.com>,
	"bvanassche@acm.org" <bvanassche@acm.org>,
	"stanley.chu@mediatek.com" <stanley.chu@mediatek.com>,
	"adrian.hunter@intel.com" <adrian.hunter@intel.com>,
	"alim.akhtar@samsung.com" <alim.akhtar@samsung.com>,
	"beanhuo@micron.com" <beanhuo@micron.com>,
	"quic_asutoshd@quicinc.com" <quic_asutoshd@quicinc.com>,
	"quic_nguyenb@quicinc.com" <quic_nguyenb@quicinc.com>,
	"quic_ziqichen@quicinc.com" <quic_ziqichen@quicinc.com>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"kernel-team@android.com" <kernel-team@android.com>
Cc: "James E.J. Bottomley" <jejb@linux.ibm.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Daejun Park <daejun7.park@samsung.com>,
	Jinyoung Choi <j-young.choi@samsung.com>,
	Kiwoong Kim <kwmad.kim@samsung.com>,
	open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/2] scsi: ufs: Add Multi-Circular Queue support
Date: Tue, 26 Jul 2022 14:21:42 +0800	[thread overview]
Message-ID: <b0a4ef07-afc8-51c7-c395-92ed798b914b@quicinc.com> (raw)
In-Reply-To: <DM6PR04MB657540D8D6584C15C8701767FC929@DM6PR04MB6575.namprd04.prod.outlook.com>

Hi Avri,

On 7/24/2022 12:32 PM, Avri Altman wrote:
>> +
>> +/**
>> + * @ucdl_base_addr: UFS Command Descriptor base address
>> + * @sqe_base_addr: submission queue entry base address
>> + * @sqe_shadow_addr: submission queue entry shadow address
> When you are editing your commit log, could you please also say something about the shadow queues concept?

Sure, we will add comments in next version.

> And why it is a good idea to maintain 2 sets of addresses, which basically points to the same place?

When block layer chooses one task tag for one command, that tag will be 
used to link these pre-allocated data structs -

ucdl[tag]<->lrpb[tag]<->utrd[tag], and the tag chosen by block layer is 
random (it does not increase from 0 to n and goes

back to 0 in a circular way). But, in MCQ mode, when we submit the 
command to UFSHCI, we need to make sure the SQTP

get increased one slot by one slot (we cannot skip slots). Hence by 
keeping shadow utrds (or shadow SQEs), the data struct

linkage ucdl[tag]<->lrpb[tag]<->shadow_sqe[tag] remains same, and we 
copy the shadow sqe to the sqe[sq_tp_slot] only

when we finally decide the very sq_tp_slot used to submit this command 
in SQTP.

The benefit is that we can 100% leverage the existing initialization 
logic of lrbp in ufshcd_queuecommand path without changing a line.

Otherwise, considerable changes would be required to implement the idea 
of dynamical SQE assignment (to lrbp).


Thanks,

Can Guo.

>
> Thanks,
> Avri

  reply	other threads:[~2022-07-26  6:26 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1658214120-22772-1-git-send-email-quic_cang@quicinc.com>
2022-07-19  7:01 ` [PATCH 1/2] scsi: ufs: Add Multi-Circular Queue support Can Guo
2022-07-19 23:01   ` Bart Van Assche
2022-07-19 23:07   ` Bart Van Assche
2022-07-20 17:34     ` Asutosh Das (asd)
2022-07-20  7:57   ` kernel test robot
2022-07-20 11:41   ` kernel test robot
2022-07-20 16:36   ` kernel test robot
2022-07-22  7:31   ` Avri Altman
2022-07-22 17:35     ` Asutosh Das (asd)
2022-07-22 19:37       ` Avri Altman
2022-07-22 20:14         ` Asutosh Das (asd)
2022-07-22 20:22           ` Avri Altman
2022-07-22 21:05             ` Asutosh Das (asd)
2022-07-22 17:58     ` Bart Van Assche
2022-07-26  6:48       ` Can Guo
2022-07-22 14:42   ` Avri Altman
2022-07-23 14:59   ` Avri Altman
2022-07-26  2:55     ` Can Guo
2022-07-23 15:26   ` Avri Altman
2022-07-24  3:14     ` Bart Van Assche
2022-07-25 16:24     ` Asutosh Das (asd)
2022-07-23 20:22   ` Avri Altman
2022-07-25 16:26     ` Asutosh Das (asd)
2022-07-25 19:50       ` Avri Altman
2022-07-25 20:24         ` Asutosh Das (asd)
2022-07-23 21:23   ` Avri Altman
2022-07-24  3:15     ` Bart Van Assche
2022-07-25 16:35     ` Asutosh Das (asd)
2022-07-26 22:47       ` Bart Van Assche
2022-07-24  4:07   ` Avri Altman
2022-07-25 16:38     ` Asutosh Das (asd)
2022-07-26  6:35     ` Can Guo
2022-07-26  9:46       ` Avri Altman
2022-07-24  4:32   ` Avri Altman
2022-07-26  6:21     ` Can Guo [this message]
2022-07-24  7:21   ` Avri Altman
2022-07-24 21:54   ` Bean Huo
2022-07-25 17:35     ` Asutosh Das (asd)
2022-07-25  9:16   ` Dan Carpenter
2022-07-28 19:10   ` John Garry
2022-07-28 19:15     ` Asutosh Das (asd)
2022-07-28 20:29       ` Bart Van Assche
2022-07-28 21:07         ` Asutosh Das (asd)
2022-07-29 16:43           ` Asutosh Das (asd)
2022-07-29 18:59             ` Bart Van Assche
2022-07-28 19:38   ` Bart Van Assche
2022-07-28 20:00     ` Asutosh Das (asd)
2022-07-19  7:01 ` [PATCH 2/2] scsi: ufs-qcom: Implement three CMQ related vops Can Guo

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=b0a4ef07-afc8-51c7-c395-92ed798b914b@quicinc.com \
    --to=quic_cang@quicinc.com \
    --cc=Avri.Altman@wdc.com \
    --cc=adrian.hunter@intel.com \
    --cc=alim.akhtar@samsung.com \
    --cc=beanhuo@micron.com \
    --cc=bvanassche@acm.org \
    --cc=daejun7.park@samsung.com \
    --cc=j-young.choi@samsung.com \
    --cc=jejb@linux.ibm.com \
    --cc=kernel-team@android.com \
    --cc=kwmad.kim@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=quic_asutoshd@quicinc.com \
    --cc=quic_nguyenb@quicinc.com \
    --cc=quic_ziqichen@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;
as well as URLs for NNTP newsgroup(s).