From: huobean@gmail.com
To: alim.akhtar@samsung.com, avri.altman@wdc.com,
asutoshd@codeaurora.org, jejb@linux.ibm.com,
martin.petersen@oracle.com, stanley.chu@mediatek.com,
beanhuo@micron.com, bvanassche@acm.org, tomas.winkler@intel.com,
cang@codeaurora.org
Cc: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v2 0/5] UFS Host Performance Booster (HPB v1.0) driver
Date: Thu, 16 Apr 2020 22:31:21 +0200 [thread overview]
Message-ID: <20200416203126.1210-1-beanhuo@micron.com> (raw)
From: Bean Huo <beanhuo@micron.com>
Hi,
I disclose my development/changes on UFS HPB (UFS Host Performance Booster) to
the community, as this would enable more UFS developers to test and start an
iterative review and update process.
The HPB is defined in Jedec Standard Universal Flash (UFS) Host Performance
Booster (HPB) Extension Version 1.0, which is designed to improve read
performance by utilizing the host side memory. Based on our testing, the HPB
can increase the random read performance by up to about 46% in the random read.
The original HPB driver is from [1]. Based on it, I did optimizations,
simplifications, fixed reliability issues, implemented HPB host control mode
and make it much more readable. which's pushed to here [2] as V1.
To avoid touching the traditional SCSI core, the HPB driver in this series HPB
patch chooses to develop under SCSI sub-system layer, and sits the same layer
with UFSHCD. At the same time, to minimize changes to UFSHCD driver, the HPB
driver submits its HPB READ BUFFER and HPB WRITE BUFFER requests to the scsi
device->request_queueu to execute, rather than that directly go through
raw UPIU request path.
v1--v2:
1. Rebased the patch on the [3] branch 5.8/scsi-queue
1. Optimized and simplified several functions
2. Add parameter read_threshold in HPB sysfs, by which the user can change
read_threshold for the HPB host control mode
3. Add HPB memory limitation, let the user adjust its size according to the
system memory capacity
[1] https://github.com/OpenMPDK/HPBDriver
[2] https://www.spinics.net/lists/kernel/msg3449471.html
[3] https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
Bean Huo (5):
scsi; ufs: add device descriptor for Host Performance Booster
scsi: ufs: make ufshcd_read_unit_desc_param() non-static func
scsi: ufs: add ufs_features parameter in structure ufs_dev_info
scsi: ufs: add unit and geometry parameters for HPB
scsi: ufs: UFS Host Performance Booster(HPB) driver
drivers/scsi/ufs/Kconfig | 62 +
drivers/scsi/ufs/Makefile | 1 +
drivers/scsi/ufs/ufs.h | 15 +
drivers/scsi/ufs/ufshcd.c | 66 +-
drivers/scsi/ufs/ufshcd.h | 15 +-
drivers/scsi/ufs/ufshpb.c | 3279 +++++++++++++++++++++++++++++++++++++
drivers/scsi/ufs/ufshpb.h | 450 +++++
7 files changed, 3881 insertions(+), 7 deletions(-)
create mode 100644 drivers/scsi/ufs/ufshpb.c
create mode 100644 drivers/scsi/ufs/ufshpb.h
--
2.17.1
next reply other threads:[~2020-04-16 20:31 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-16 20:31 huobean [this message]
2020-04-16 20:31 ` [PATCH v2 1/5] scsi; ufs: add device descriptor for Host Performance Booster huobean
2020-04-22 23:11 ` Bart Van Assche
2020-04-23 11:01 ` [EXT] " Bean Huo (beanhuo)
2020-04-23 17:57 ` Bart Van Assche
2020-04-16 20:31 ` [PATCH v2 2/5] scsi: ufs: make ufshcd_read_unit_desc_param() non-static func huobean
2020-04-16 20:31 ` [PATCH v2 3/5] scsi: ufs: add ufs_features parameter in structure ufs_dev_info huobean
2020-04-22 23:13 ` Bart Van Assche
2020-04-16 20:31 ` [PATCH v2 4/5] scsi: ufs: add unit and geometry parameters for HPB huobean
2020-04-16 20:31 ` [PATCH v2 5/5] scsi: ufs: UFS Host Performance Booster(HPB) driver huobean
2020-04-16 21:35 ` Randy Dunlap
2020-04-23 0:00 ` Bart Van Assche
2020-04-24 9:51 ` [EXT] " Bean Huo (beanhuo)
2020-04-24 18:17 ` Avri Altman
2020-04-24 20:02 ` [EXT] " Bean Huo (beanhuo)
2020-04-25 8:59 ` Avri Altman
2020-04-25 17:51 ` Bart Van Assche
2020-04-27 6:13 ` Avri Altman
2020-04-28 3:36 ` Bart Van Assche
2020-04-28 8:14 ` Avri Altman
2020-04-28 11:59 ` Bean Huo
2020-04-30 7:23 ` Avri Altman
2020-04-30 12:45 ` Bean Huo
2020-05-02 16:19 ` Avri Altman
2020-04-28 9:12 ` Bean Huo
2020-04-25 18:07 ` Bart Van Assche
2020-04-26 22:03 ` Bean Huo
2020-04-22 6:43 ` [PATCH v2 0/5] UFS Host Performance Booster (HPB v1.0) driver Christoph Hellwig
2020-04-22 22:09 ` [EXT] " Bean Huo (beanhuo)
2020-04-23 8:26 ` Avri Altman
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=20200416203126.1210-1-beanhuo@micron.com \
--to=huobean@gmail.com \
--cc=alim.akhtar@samsung.com \
--cc=asutoshd@codeaurora.org \
--cc=avri.altman@wdc.com \
--cc=beanhuo@micron.com \
--cc=bvanassche@acm.org \
--cc=cang@codeaurora.org \
--cc=jejb@linux.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=stanley.chu@mediatek.com \
--cc=tomas.winkler@intel.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
all inboxes | Powered by JetHome®