Re: [PATCH] mmc: Multi-sector writes

From: Andrew Morton
Date: Wed Aug 17 2005 - 17:54:48 EST


Pierre Ossman <drzeus-list@xxxxxxxxx> wrote:
>
> Adds support for writing multiple sectors at once. This allows
> back-to-back transfers of sectors giving roughly double write throughput.
>
> To be able to detect which sector is causing problems the system falls
> back to single sector writes if a failure is detected.
>
> ...
> --- linux-wbsd/drivers/mmc/mmc_block.c (revision 77)
> +++ linux-wbsd/drivers/mmc/mmc_block.c (working copy)
> @@ -166,9 +166,25 @@
> struct mmc_blk_data *md = mq->data;
> struct mmc_card *card = md->queue.card;
> int ret;
> +
> +#ifdef CONFIG_MMC_BULKTRANSFER
> + int failsafe;
> +#endif
>
> if (mmc_card_claim_host(card))
> goto cmd_err;
> +
> +#ifdef CONFIG_MMC_BULKTRANSFER
> + /*
> + * We first try transfering multiple blocks. If this fails
> + * we fall back to single block transfers.
> + *
> + * This gives us good performance when all is well and the
> + * possibility to determine which sector fails when all
> + * is not well.
> + */
> + failsafe = 0;
> +#endif
>

The fact that this is enabled under the experimental
CONFIG_MMC_BULKTRANSFER seems unfortunate. I mean, if the code works OK
then we should just enable it unconditionally, no?

I'm thinking that it would be better to not have the config option there
and then re-add it late in the 2.6.14 cycle if someone reports problems
which cannot be fixed. Or at least make it default to 'y' so we get more
testing coverage, then remove the config option later. Or something.

Thoughts?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/