linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bart Van Assche <bvanassche@acm.org>
To: "Asutosh Das (asd)" <quic_asutoshd@quicinc.com>,
	John Garry <john.garry@huawei.com>,
	Can Guo <quic_cang@quicinc.com>,
	stanley.chu@mediatek.com, adrian.hunter@intel.com,
	alim.akhtar@samsung.com, avri.altman@wdc.com, beanhuo@micron.com,
	quic_nguyenb@quicinc.com, quic_ziqichen@quicinc.com,
	linux-scsi@vger.kernel.org, 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: Fri, 29 Jul 2022 11:59:08 -0700	[thread overview]
Message-ID: <afefc312-4996-e5f2-b33a-6a987b20961b@acm.org> (raw)
In-Reply-To: <59e835e6-b694-07c5-16a1-5f7774fc4177@quicinc.com>

On 7/29/22 09:43, Asutosh Das (asd) wrote:
> I went through the change and fwiu of your proposal is to use 
> host_tagset = 1 if HC doesn't support EXT_IID capability.
> That way tags would be shared across 16 HWQs (4-bit IID encoding the 
> queue-ids).
> That would also mean that the hba->nutrs would have to be adjusted such 
> that the tags(8-bit) don't exceed 255.
> 
> Summarily,
> if EXT_IID is not supported:
> host_tagset = 1, maximum configurable hba->nutrs = 16, maximum 
> configurable nr_hw_queues = 16.
> maximum number of outstanding commands to host = 16 x 16 = 256.
> 
> if EXT_IID is supported:
> host_tagset = 0, maximum confiugrable hba-nutrs = 255, maximum 
> configurable nr_hw_queues = 255.
> 
> Please let me know if I'm missing something.

Hi Asutosh,

I recommend to always set host_tagset = 1. The performance overhead of 
host_tagset = 1 compared to host_tagset = 0 should be negligible for UFS 
devices. This will simplify the UFS host controller driver and will 
allow us to limit the total number of outstanding commands to the 
maximum number of outstanding commands supported by the UFS device. I 
expect that we will need to do this. If more commands are sent to the 
controller than what the UFS device can queue, the host controller will 
decide in which order commands are fetched and sent to the controller. 
We want the host to decide in which order commands are queued and not 
the host controller. As an example, adding support for HCTX_TYPE_READ 
queues will only work as expected if the number of outstanding commands 
is less than or equal to what the UFS device can queue.

For host_tagset = 1, we can combine the 4 EXT_IID bits with the 8 bit 
task tag and create a single space of 4096 (2**12) tags. The block layer 
sbitmap data structure has been designed to minimize contention even if 
a single sbitmap data structure is shared across multiple CPU cores.

Thanks,

Bart.

  reply	other threads:[~2022-07-29 18:59 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
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 [this message]
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=afefc312-4996-e5f2-b33a-6a987b20961b@acm.org \
    --to=bvanassche@acm.org \
    --cc=adrian.hunter@intel.com \
    --cc=alim.akhtar@samsung.com \
    --cc=avri.altman@wdc.com \
    --cc=beanhuo@micron.com \
    --cc=daejun7.park@samsung.com \
    --cc=j-young.choi@samsung.com \
    --cc=jejb@linux.ibm.com \
    --cc=john.garry@huawei.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_cang@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).