From: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-mmc@vger.kernel.org, Ulf Hansson <ulf.hansson@linaro.org>,
linux-block@vger.kernel.org, Jens Axboe <axboe@kernel.dk>,
Christoph Hellwig <hch@lst.de>, Arnd Bergmann <arnd@arndb.de>,
Paolo Valente <paolo.valente@linaro.org>,
Avri Altman <Avri.Altman@sandisk.com>,
Adrian Hunter <adrian.hunter@intel.com>
Subject: Re: [PATCH 00/12 v5] Multiqueue for MMC/SD
Date: Tue, 14 Nov 2017 13:17:34 +0100 [thread overview]
Message-ID: <44451616.XazKDfAUO2@amdc3058> (raw)
In-Reply-To: <20171110100143.12256-1-linus.walleij@linaro.org>
[-- Attachment #1: Type: text/plain, Size: 3059 bytes --]
Hi Linus,
On Friday, November 10, 2017 11:01:31 AM Linus Walleij wrote:
> This is the fifth iteration of this patch set.
>
> I *HOPE* that we can scrap this patch set and merge Adrian's
> patches instead, because they also bring CQE support which is
> nice. I had some review comments on his series, mainly that
> it needs to kill off the legacy block layer code path that
> noone likes anyway.
>
> So this is mainly an academic and inspirational exercise.
> Whatever remains of this refactoring, if anything, I can
> certainly do on top of Adrian's patches as well.
>
> What changed since v4 is the error path, since Adrian pointed
> out that the error handling seems to be fragile. It was indeed
> fragile... To make sure things work properly I have run long
> test rounds with fault injection, essentially:
>
> Enable FAULT_INJECTION, FAULT_INJECTION_DEBUG_FS,
> FAIL_MMC_REQUEST
> cd /debug/mmc3/fail_mmc_request/
> echo 1 > probability
> echo -1 > times
>
> Then running a dd to the card, also increased the error rate
> to 10% and completed tests successfully, but at this error
> rate the MMC stack sometimes exceeds the retry limit and the
> dd command fails (as is appropriate).
>
> Removing a card during I/O does not work well however :/
> So I guess I would need to work on that if this series should
> continue. (Hopefully unlikely.)
>
>
> Linus Walleij (12):
> mmc: core: move the asynchronous post-processing
> mmc: core: add a workqueue for completing requests
> mmc: core: replace waitqueue with worker
> mmc: core: do away with is_done_rcv
> mmc: core: do away with is_new_req
> mmc: core: kill off the context info
> mmc: queue: simplify queue logic
> mmc: block: shuffle retry and error handling
> mmc: queue: stop flushing the pipeline with NULL
> mmc: queue/block: pass around struct mmc_queue_req*s
> mmc: block: issue requests in massive parallel
> mmc: switch MMC/SD to use blk-mq multiqueueing v5
>
> drivers/mmc/core/block.c | 557 +++++++++++++++++++++++---------------------
> drivers/mmc/core/block.h | 5 +-
> drivers/mmc/core/bus.c | 1 -
> drivers/mmc/core/core.c | 217 ++++++++++-------
> drivers/mmc/core/core.h | 11 +-
> drivers/mmc/core/host.c | 1 -
> drivers/mmc/core/mmc_test.c | 31 +--
> drivers/mmc/core/queue.c | 252 ++++++++------------
> drivers/mmc/core/queue.h | 16 +-
> include/linux/mmc/core.h | 3 +-
> include/linux/mmc/host.h | 31 +--
> 11 files changed, 557 insertions(+), 568 deletions(-)
This works much better than initial version and a simple dd read
test shows more consistent results than with vanilla kernel.
However there are still some issues:
1. 30 seconds delay on "Waiting for /dev to be fully populated..."
during boot
2. reboot command no longer works (there is a livelock after
"The system is going down for reboot NOW!" message)
Full log (together with SysRq-l & SysRq-t outputs) attached.
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
[-- Attachment #2: log.txt.gz --]
[-- Type: application/gzip, Size: 53535 bytes --]
next prev parent reply other threads:[~2017-11-14 12:17 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20171110104657epcas1p278e62237982d200175480c28080cb708@epcas1p2.samsung.com>
2017-11-10 10:01 ` [PATCH 00/12 v5] Multiqueue for MMC/SD Linus Walleij
2017-11-10 10:01 ` [PATCH 01/12 v5] mmc: core: move the asynchronous post-processing Linus Walleij
2017-11-10 10:01 ` [PATCH 02/12 v5] mmc: core: add a workqueue for completing requests Linus Walleij
2017-11-10 10:01 ` [PATCH 03/12 v5] mmc: core: replace waitqueue with worker Linus Walleij
2017-11-10 10:01 ` [PATCH 04/12] mmc: core: do away with is_done_rcv Linus Walleij
2017-11-10 10:01 ` [PATCH 05/12] mmc: core: do away with is_new_req Linus Walleij
2017-11-10 10:01 ` [PATCH 06/12 v5] mmc: core: kill off the context info Linus Walleij
2017-11-10 10:01 ` [PATCH 07/12 v5] mmc: queue: simplify queue logic Linus Walleij
2017-11-10 10:01 ` [PATCH 08/12 v5] mmc: block: shuffle retry and error handling Linus Walleij
2017-11-10 10:01 ` [PATCH 09/12 v5] mmc: queue: stop flushing the pipeline with NULL Linus Walleij
2017-11-10 10:01 ` [PATCH 10/12 v5] mmc: queue/block: pass around struct mmc_queue_req*s Linus Walleij
2017-11-10 10:01 ` [PATCH 11/12 v5] mmc: block: issue requests in massive parallel Linus Walleij
2017-11-10 10:01 ` [PATCH 12/12 v5] mmc: switch MMC/SD to use blk-mq multiqueueing v5 Linus Walleij
2017-11-10 13:39 ` [PATCH 00/12 v5] Multiqueue for MMC/SD Linus Walleij
2017-11-10 15:24 ` Ulf Hansson
2017-11-14 21:17 ` Linus Walleij
2017-11-15 10:24 ` Ulf Hansson
2017-11-15 13:50 ` Adrian Hunter
2017-11-29 13:13 ` Linus Walleij
2017-11-14 12:17 ` Bartlomiej Zolnierkiewicz [this message]
2017-11-14 13:30 ` Bartlomiej Zolnierkiewicz
2017-11-14 21:19 ` Linus Walleij
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=44451616.XazKDfAUO2@amdc3058 \
--to=b.zolnierkie@samsung.com \
--cc=Avri.Altman@sandisk.com \
--cc=adrian.hunter@intel.com \
--cc=arnd@arndb.de \
--cc=axboe@kernel.dk \
--cc=hch@lst.de \
--cc=linus.walleij@linaro.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=paolo.valente@linaro.org \
--cc=ulf.hansson@linaro.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.