All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Andrei Warkentin <andreiw@motorola.com>
Cc: linux-mmc@vger.kernel.org
Subject: Re: [comments] MMC: Reliable write support.
Date: Fri, 25 Mar 2011 16:14:29 +0100	[thread overview]
Message-ID: <201103251614.29893.arnd@arndb.de> (raw)
In-Reply-To: <1301001751-30785-2-git-send-email-andreiw@motorola.com>

On Thursday 24 March 2011, Andrei Warkentin wrote:
> This is a request-for-comments patch. Please provide your feedback.
> 
> Allows reliable writes to be used for MMC writes. Reliable writes are used
> to service write REQ_FUA/REQ_META requests. Handles both the legacy and the enhanced
> reliable write support in MMC cards.
> 
> Beyond REQ_FUA/REQ_META, this was meant to be used by a following patch that aimed
> to reduce write amplification issues in cards employing a small (usually flash page-sized)
> buffer and a large (usually erase-block sized) buffer, at the expense of performance.

Looks good to me, but I don't really understand some of the block layer
specifics here. One question:

> +static int mmc_blk_issue_flush(struct mmc_queue *mq, struct request *req)
> +{
> +	struct mmc_blk_data *md = mq->data;
> +
> +	/*
> +	   No-op, only service this because we need REQ_FUA
> +	   for reliable writes.
> +	*/
> +	spin_lock_irq(&md->lock);
> +	__blk_end_request_all(req, 0);
> +	spin_unlock_irq(&md->lock);
> +
> +	return 1;
> +}

How does this work when you have a flush that does not directly follow
a REQ_FUA or REQ_META request? I would assume that we still need to
flush in some way, which you don't seem to do here.

	Arnd

  reply	other threads:[~2011-03-25 15:14 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-24 21:22 Reliable write support Andrei Warkentin
2011-03-24 21:22 ` [comments] MMC: " Andrei Warkentin
2011-03-25 15:14   ` Arnd Bergmann [this message]
2011-03-26  7:17     ` Andrei Warkentin
2011-03-26  7:22       ` Andrei Warkentin
2011-03-29  0:50     ` Andrei Warkentin
2011-03-29  7:01       ` Arnd Bergmann
2011-03-29 22:44         ` Andrei Warkentin
2011-03-30 12:05           ` Arnd Bergmann
2011-03-30 22:38             ` Chris Ball
2011-03-31 20:39               ` Andrei Warkentin
2011-03-31 20:58                 ` Chris Ball
2011-03-31 23:40               ` [PATCH] " Andrei Warkentin
2011-04-01  0:47                 ` Chris Ball

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=201103251614.29893.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=andreiw@motorola.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.