[PATCH] scan.c
Joakim Tjernlund
joakim.tjernlund at lumentis.se
Mon Jun 17 12:51:24 EDT 2002
>
> joakim.tjernlund at lumentis.se said:
> > Yes shit happens, but removing this scan here lowers my mount time
> > alot(don't have the figures anymore) and shit has yet to happen :-)
>
> Yeah - I've been doing profiling too and although it's not that close to
> the top of the list, I suspect that's because my flash is mostly full, so
> there aren't many empty blocks to be scanned.
>
> I'm happy to remove it from the mount path -- but I'd like to do it later,
> before actually trying to use those blocks, rather than simply refraining
> from doing it at all.
>
> > Yes, this is what I did too(removing the check of the data CRC) and
> > that reduces my mount time alot. It's the biggest part of my mount
> > time.
>
> Yep, mine too -- after jffs2_get_ino_cache() was fixed, anyway.
>
> c0083ff0 jffs2_scan_empty 10 0.0225
> c0081d30 jffs2_add_full_dnode_to_fraglist 12 0.0181
> c0140e90 huft_build 13 0.0093
> c00bb6c8 cfi_intelext_read 17 0.0127
> c0140014 zlib_inflate_fast 31 0.0356
> c00838ec jffs2_scan_eraseblock 79 0.0440
> c0084258 jffs2_scan_inode_node 99 0.0709
> c013ad60 memmove 214 0.1911
hmm, I just save the jiffies from the beginning of jffs2_scan_medium()
and printk the difference just before I leave that function.
>
> But we do need to check data CRC at some point before starting to each node,
> or deciding that other nodes are obsolete due to the existence of the node.
>
> > I am not that familiar with flash HW, but I thought that once data
> > was correctly written to flash, it's more or less "safe". A nearby
> > flipping bit can by checked for once the flag has been cleared.
>
> Nah, it's never safe -- you can always manage to corrupt it somehow :)
:-), but seriously once it's on the flash, what's the probability for a random
flipping bit?
>
> > I don't see how this would increase the probability for random data
> > being interpreted as a real node, it's only the data CRC check that is
> > omitted, not the whole node CRC.
>
> OK, that wouldn't increase the chances of error by too much, and could
> perhaps be acceptable. I'd be interested in seeing how much that gives us
> over the once-per-mount approach. P'raps we could make it an option,
> although I'd prefer it to be disabled by default.
At mount time it will save us the trouble to CRC all the data in the inode's, won't it?
Jocke
More information about the linux-mtd
mailing list