Messages in this thread | | | From | Bartlomiej Zolnierkiewicz <> | Subject | [PATCH PoCv2 0/2] mmc: add blk-mq support | Date | Tue, 03 Jan 2017 18:30:16 +0100 |
| |
Hi,
It prints a lot of scheduling while atomic warnings during boot, lacks error handling and is otherwise incomplete but boots successully on my Odroid-XU3 board. I hope that it is useful to somebody.
The differences between these patches and Linus' RFD patch: - request completion is handled from the IRQ handler (or tasklet context as happens in dw_mmc host driver) - adds blk-mq code while leaving old code still in place - based on top of on Adrian's queue handling cleanups - no support for qdepth == 2 at the moment
The patchset is based on top of commit "mmc: block: Introduce queue semantics" from swcmdq branch by Adrian Hunter:
http://git.infradead.org/users/ahunter/linux-sdhci.git (swcmdq branch commit 7a1cdc218dac843ebb4eac6d3fd24d54ba30a5b0)
The complete patchset can be found at:
https://github.com/bzolnier/linux.git mmc-blk-mq-pocv2
Changes since PoC version (http://www.spinics.net/lists/linux-mmc/msg39351.html): - removed most of the debugging code - reworked the blk-mq code to be an add-on instead of rewrite - ported over newer swcmdq branch version - reverted shared mmc queue changes from swcmdq as they break mmc-mq currently - dropped support for qdepth == 2 as it hasn't survived the forward porting (it was ugly & not optimal anyway, rewrite to try hwqueue == 2 idea is on TODO) - misc cleanups
Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics
Bartlomiej Zolnierkiewicz (2): Revert "mmc: queue: Share mmc request array between partitions" mmc-mq: initial blk-mq support
drivers/mmc/core/block.c | 115 ++++++++++----- drivers/mmc/core/block.h | 3 +- drivers/mmc/core/bus.c | 3 +- drivers/mmc/core/core.c | 120 +++++++++++++++- drivers/mmc/core/mmc_test.c | 16 ++- drivers/mmc/core/queue.c | 344 +++++++++++++++++++++++++------------------- drivers/mmc/core/queue.h | 7 +- include/linux/mmc/card.h | 5 - include/linux/mmc/core.h | 12 ++ 9 files changed, 421 insertions(+), 204 deletions(-)
-- 1.9.1
| |