[maemo-developers] [maemo-developers] Re: high speed (52/48Mhz) MMC mode added

From: Larry Battraw lbattraw at gmail.com
Date: Mon Nov 27 04:29:05 EET 2006
Ok, I tried various operations (tar and dd) with large files, up to
512M using the multiblock kernel, swap turned off.  I was unable to
see any kernel or application errors, writing or reading.  I got brave
and turned on swap and after playing with it a for a day I finally got
one system crash in minimo.  This was all running from internal flash.
 Once I switched over to my copy on the mmc I got an almost instant
crash, so I'm guessing something is being stressed differently,
running from there.

Larry

On 11/25/06, Frantisek Dufka <dufkaf at seznam.cz> wrote:
> Larry Battraw wrote:
> >  Thanks Frantisek!  As a data point, I've tried the multiblock write
> > kernel with a Kingston 1GB card and experienced consistent crashes
> > (probably due to swap file corruption) using it.  The high-speed mmc
> > version of the kernel you provided doesn't seem to have such issues.
> >
> > Larry
>
> Hmm, that's bad. It works for me with Kingston 2GB and I have whole
> system on MMC. Also tried to stress swap (evince is good for filling
> whole swap :-) and did not notice anything. Anyone else with Kingston
> 1GB can confirm this too?
>
> I think multiblock writes are enabled on omap in newer kernels but the
> mmc layer have some changes for this. Still following code in 2.6.16
> mmc_block.c led me to conclusion that it is safe even in older kernel.
>
>   cmd_err:
>          mmc_card_release_host(card);
>
>          /*
>           * This is a little draconian, but until we get proper
>           * error handling sorted out here, its the best we can
>           * do - especially as some hosts have no idea how much
>           * data was transferred before the error occurred.
>           */
>          spin_lock_irq(&md->lock);
>          do {
>                  ret = end_that_request_chunk(req, 0,
>                                  req->current_nr_sectors << 9);
>          } while (ret);
>
>
> I thought this pessimistic code means whole write operation fails (so
> there is no silent data corruption). Would be nice if you could test
> without swap and do some massive writes if you get i/o errors or not.
> True that I/O error while swapping may be fatal in any case.
>
> Frantisek
>
>

More information about the maemo-developers mailing list