kernel defconfig, CONFIG_MTD_NAND_VERIFY_WRITE

Gennady Kupava gb at bsdmn.com
Fri Jan 8 11:29:32 CET 2010


Hi, Cristoph.

something still (i mean from times Werner talking about) wrong with
hardware ecc, I can't read/write mtdblock on 2.6.29. 

                           mtd6-rd, mtd6-wt, mtdblock6-rd, mtdblock6-wt
original (from old test):  5.2,     4.8,     2.6,          900kb/s
with hw ecc + nonanddebug: 6.4,     4.9,     error    error

and got following errors while testing mtdblock (time dd
if=/dev/mtdblock6 of=/dev/zero bs=256k count=200)

[21474773.805000] end_request: I/O error, dev mtdblock6, sector 256
[21474773.805000] Buffer I/O error on device mtdblock6, logical block 32

i'll try to undertand how this happened, so wait with commit please.

gennady

В Чтв, 07/01/2010 в 03:58 +0100, Christoph Mair пишет:
> On Wednesday 06 January 2010 22:02:18 Nelson Castillo wrote:
> > On Wed, Oct 6, 2010 at 5:13 PM, Gennady Kupava <gb at bsdmn.com> wrote:
> > > В Срд, 06/01/2010 в 13:53 -0500, Nelson Castillo пишет:
> > >> On Wed, Oct 6, 2010 at 3:57 PM, Gennady Kupava <gb at bsdmn.com> wrote:
> > >> > Hi, patryk
> > >> >
> > >> > В Срд, 06/01/2010 в 16:16 +0100, Patryk Benderz пишет:
> > >> >> Well, if this test was repeated several times with similar results,
> > >> >> it might be worth to disable this option IMHO. Only one thing makes
> > >> >> me dither. Will this be safe?
> > >> >
> > >> > I am not 100% sure, as I am not mtd dev, but in other configs have
> > >> > this option sometimes disabled. also we have some kind of hw ecc.
> > >>
> > >> I don't know the details but HW ecc is disabled in the FR.
> > >>
> > >> static struct s3c2410_platform_nand gta02_nand_info = {
> > >>         .tacls          = 0,
> > >>         .twrph0         = 25,
> > >>         .twrph1         = 15,
> > >>         .nr_sets        = ARRAY_SIZE(gta02_nand_sets),
> > >>         .sets           = gta02_nand_sets,
> > >>         .software_ecc   = 1,
> > >> };
> > >>
> > >> Check drivers/mtd/nand/s3c2410.c if in doubt.
> > >
> > > First, Paul already committed patch,
> > >
> > > second,
> > >
> > > strange, but in config it is enabled:
> > > CONFIG_MTD_NAND_S3C2410_HWECC=y
> > 
> > Check s3c2410.c to see what this option does.
> > 
> > #ifdef CONFIG_MTD_NAND_S3C2410_HWECC
> > static int hardware_ecc = 1;
> > #else
> > static int hardware_ecc = 0;
> > #endif
> > 
> > 
> > AFAIK this is not doing anything in the more OM recent kernels
> > (>2.6.31) because the NAND configuration in mach-gta02.c overrides
> > this setting.
> > 
> > See s3c2410.c:
> > if (!info->platform->software_ecc && hardware_ecc) {
> >  ...
> > }
> In my 2.6.32 kernel I enabled CONFIG_MTD_NAND_S3C2410_HWECC, set 
> .software_ecc=0 and made some speed tests. The Results: 
> http://pastebin.ca/1740974
> Some operations are slightly faster. I did not observe I/O errors or wrong 
> checksums.
> 
> Best regards,
>   Christoph
> 





More information about the openmoko-kernel mailing list