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

_______________________________________________
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers

Reply via email to