lkml.org 
[lkml]   [2020]   [Apr]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH v2 0/5] UFS Host Performance Booster (HPB v1.0) driver
    Date
    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

    \
     
     \ /
      Last update: 2020-04-16 22:32    [W:2.181 / U:0.288 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site