All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: John Stultz <john.stultz@linaro.org>,
	Adrian Hunter <adrian.hunter@nokia.com>
Cc: linux-mmc@vger.kernel.org, David Ding <david.j.ding@motorola.com>,
	Chris Ball <cjb@laptop.org>, Dima Zavin <dima@android.com>,
	Bentao Zou <bzou1@motorola.com>, San Mehat <san@google.com>
Subject: Re: [PATCH 1/6] mmc: block: Resume multi-block reads after transient read errors.
Date: Tue, 26 Apr 2011 15:19:26 +0200	[thread overview]
Message-ID: <201104261519.26622.arnd@arndb.de> (raw)
In-Reply-To: <1303520502-32171-2-git-send-email-john.stultz@linaro.org>

On Saturday 23 April 2011, John Stultz wrote:
> From: David Ding <david.j.ding@motorola.com>
> 
> CC: Chris Ball <cjb@laptop.org>
> CC: Arnd Bergmann <arnd@arndb.de>
> CC: Dima Zavin <dima@android.com>
> Signed-off-by: Bentao Zou <bzou1@motorola.com>
> Signed-off-by: David Ding <david.j.ding@motorola.com>
> Signed-off-by: San Mehat <san@google.com>
> Signed-off-by: John Stultz <john.stultz@linaro.org>

The disable_multi logic was introduced in 6a79e391 "mmc_block: ensure
all sectors that do not have errors are read" by Adrian Hunter. Maybe
he can comment on this.

My impression is that the code makes more sense without this
add-on patch, because the flag is set for exactly one request
and makes mmc_blk_issue_rw_rq issue all blocks in that request
one by one up to the first error, while after the patch,
we would read one sector, then read the remaining request at
once, fail, and read the next sector, and so on.

If the problem is transient read errors, a better solution might
be to retry the entire request before doing it one sector at a time.

>  drivers/mmc/card/block.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
> index 61d233a..edac9ac 100644
> --- a/drivers/mmc/card/block.c
> +++ b/drivers/mmc/card/block.c
> @@ -440,6 +440,8 @@ static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *req)
>  				continue;
>  			}
>  			status = get_card_status(card, req);
> +		} else if (disable_multi == 1) {
> +			disable_multi = 0;
>  		}
>  
>  		if (brq.cmd.error) {
> -- 
> 1.7.3.2.146.gca209
> 
> 


  reply	other threads:[~2011-04-26 13:19 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-23  1:01 [PATCH 0/6] Trivial MMC patches from Android John Stultz
2011-04-23  1:01 ` [PATCH 1/6] mmc: block: Resume multi-block reads after transient read errors John Stultz
2011-04-26 13:19   ` Arnd Bergmann [this message]
2011-04-27  8:16     ` Adrian Hunter
2011-04-27  8:42       ` Andrei Warkentin
2011-04-23  1:01 ` [PATCH 2/6] mmc_block: Allow more than 8 partitions per card John Stultz
2011-04-26 13:22   ` Arnd Bergmann
2011-04-26 16:10     ` Colin Cross
2011-04-26 16:13       ` Arnd Bergmann
2011-04-23  1:01 ` [PATCH 3/6] sdhci: Always pass clock request value zero to set_clock host op John Stultz
2011-04-23  1:01 ` [PATCH 4/6] mmc: sd: Add new CONFIG_MMC_PARANOID_SD_INIT for enabling retries during SD detection John Stultz
2011-04-26 13:35   ` Arnd Bergmann
2011-04-23  1:01 ` [PATCH 5/6] mmc: sd: When resuming, try a little harder to init the card John Stultz
2011-04-26 13:39   ` Arnd Bergmann
2011-04-23  1:01 ` [PATCH 6/6] mmc: sd: Add retries in re-detection John Stultz
2011-04-26 13:42   ` Arnd Bergmann

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=201104261519.26622.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=adrian.hunter@nokia.com \
    --cc=bzou1@motorola.com \
    --cc=cjb@laptop.org \
    --cc=david.j.ding@motorola.com \
    --cc=dima@android.com \
    --cc=john.stultz@linaro.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=san@google.com \
    /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.