RFC mmc: Soft Command queue implementation for eMMC5.1 device
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest5 patches 7 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | mmc: replace sbc to precmd and add postcmddrivers/ drivers/ drivers/ +5 more | +60 | 0 replies | |
| 2/5 | mmc: host: add runtime PM for host class devdrivers/ drivers/ drivers/ | +14 | 0 replies | |
| 3/5 | mmc: queue: change mqrq_cur and mqrq_pre to mq qdepthdrivers/ drivers/ drivers/ | +128 | 0 replies | |
| 4/5 | mmc: core: add support for CMDQ feature in MMC Core stackdrivers/ drivers/ drivers/ +7 more | +610 | 0 replies | |
| 5/5 | mmc: sdhci: add SW CMDQ support for CHT SDHCI hostdrivers/ include/ | +108 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [RFC PATCH 0/5]mmc: Soft Command queue implementation for eMMC5.1 device
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(-)
Signature · 1 line
1.7.10.4