All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chuanxiao Dong <chuanxiao.dong@intel.com>
To: linux-mmc@vger.kernel.org
Subject: [RFC PATCH 0/5]mmc: Soft Command queue implementation for eMMC5.1 device
Date: Fri, 19 Dec 2014 16:04:42 +0800	[thread overview]
Message-ID: <20141219080442.GA3775@intel.com> (raw)

Hello,

Seems community already have some implementation for the eMMC5.1 device command
queue feature, but that require the eMMC host controller to support CMDQ. In my
platform, I don't have this kind of eMMC host controller but I have a
Samsung eMMC5.1 device which can support the Command queue.

With this limitation, I have to let eMMC host controller to manually send the
CMD44/45/13/46/47. So in this way, more commands are needed for an I/O request,
more interrupts/schedule are needed in driver.

Even this way have some more software overhead, but it can still use the eMMC5.1
device Command queue feature. After test with the iozone command:
"iozone -zec -t 4 -i0 -i2 -F iozonefile1 iozonefile2 iozonefile3 iozonefile4 -+n
-I -r 4k -s 500m -O -R -+r -+D" to test random performance, I saw a performance
improvment for random read on my eMMC5.1 device:

		Random read
SW CMDQ:	5544.6
Normal Read:	3993.05

So I want to send this serial patches as RFC patch for reviewing


Chuanxiao Dong (5):
  mmc: replace sbc to precmd and add postcmd
  mmc: host: add runtime PM for host class dev
  mmc: queue: change mqrq_cur and mqrq_pre to mq qdepth
  mmc: core: add support for CMDQ feature in MMC Core stack
  mmc: sdhci: add SW CMDQ support for CHT SDHCI host

 drivers/mmc/card/block.c      |  538 ++++++++++++++++++++++++++++++++++++++---
 drivers/mmc/card/queue.c      |  213 ++++++++--------
 drivers/mmc/card/queue.h      |   14 +-
 drivers/mmc/core/core.c       |   78 +++++-
 drivers/mmc/core/host.c       |   14 ++
 drivers/mmc/core/mmc.c        |   43 +++-
 drivers/mmc/host/dw_mmc.c     |    8 +-
 drivers/mmc/host/mmci.c       |   14 +-
 drivers/mmc/host/omap_hsmmc.c |   18 +-
 drivers/mmc/host/sdhci-acpi.c |    1 -
 drivers/mmc/host/sdhci-pci.c  |    1 -
 drivers/mmc/host/sdhci.c      |  137 +++++++++--
 include/linux/mmc/card.h      |    3 +
 include/linux/mmc/core.h      |    5 +-
 include/linux/mmc/host.h      |    5 +
 include/linux/mmc/mmc.h       |   21 ++
 include/linux/mmc/pm.h        |    1 +
 include/linux/mmc/sdhci.h     |    1 +
 18 files changed, 909 insertions(+), 206 deletions(-)

-- 
1.7.10.4

             reply	other threads:[~2014-12-19  8:05 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-19  8:04 Chuanxiao Dong [this message]
2014-12-19  9:02 ` [RFC PATCH 0/5]mmc: Soft Command queue implementation for eMMC5.1 device Ulf Hansson
2014-12-19  9:08   ` Dong, Chuanxiao
2014-12-22  4:55 ` Jaehoon Chung
2014-12-23  2:30   ` Dong, Chuanxiao
2014-12-23  2:39     ` Jaehoon Chung
2015-02-11 14:00 ` Alex Lemberg
2015-02-13  0:33   ` Dong, Chuanxiao
  -- strict thread matches above, loose matches on Subject: below --
2015-02-16  8:55 Alex Lemberg
2015-02-16  9:04 ` Dong, Chuanxiao
2015-02-16 12:04   ` Alex Lemberg

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=20141219080442.GA3775@intel.com \
    --to=chuanxiao.dong@intel.com \
    --cc=linux-mmc@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.