From mboxrd@z Thu Jan 1 00:00:00 1970 From: HeLei Date: Tue, 3 Nov 2009 17:21:13 +0800 Subject: [U-Boot] Does uboot EBS(erase block summary) to reduce JFFS2 scaning time? In-Reply-To: References: Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Ok, thank you, jocke. Can you tell me how much time can be saved according to your idea, by your experience? > Subject: RE: [U-Boot] Does uboot EBS(erase block summary) to reduce JFFS2 scaning time? > To: leon.he at msn.com > CC: u-boot at lists.denx.de > From: joakim.tjernlund at transmode.se > Date: Tue, 3 Nov 2009 10:08:06 +0100 > > HeLei wrote on 03/11/2009 09:21:04: > > Thank you, Jocke > > > > > Subject: Re: [U-Boot] Does uboot EBS(erase block summary) to reduce JFFS2 > > scaning time? > > > To: leon.he at msn.com > > > CC: u-boot at lists.denx.de > > > From: joakim.tjernlund at transmode.se > > > Date: Tue, 3 Nov 2009 08:41:08 +0100 > > > > > > > > > > > > > > Hi, All > > > > > > > > > > > > > > > > Each time JFFS2 initialized, uboot need to scan the whole flash. This is > > > > fairly time consuming. > > > > > > > > > > > > > > > > So EBS(erase block summary) is used to JFFS2 to reduce mounting time. And I > > > > believe this can also be used to UBOOT to reduce booting time. > > > > > > > > > > > > > > > > Does UBOOT support this feature? or does any other solution in uboot to > > > > reduce JFFS2 scaning time? > > > > > > Don't think EBS is going to buy you much. The main problem is that the > > > > You mean even EBS is used in UBOOT, it will not give me much help. But it > > seems there is great efficiency in jffs2 mounting, from some artical in > > internet, such as:http://www.embedded-linux.co.uk/tutorial/jffs2-summary > > I tried summary long time ago and it wasn't such a big win. It has other > drawbacks too such as not beeing able to mark nodes on NOR flash obsolete. > > > > > > scanning of JFFS2 in u-boot is inefficient. u-boot could take a > > > hint from the kernel impl. of JFFS2 to reduce scanning. The biggest > > > ones are: > > > - do no scan the whole EB when it is empty. > > If we don't scan the block, how can we tell the EB is empty? > > This was the key for me. I added an optimization that had been forgotten: > just scan the first 512-1024 bytes, if these are empty, assume that > the rest of the EB is too. You can find this optimization in the kernel > also. > > Once this optimization was in place, summary didn't help me. > > > > > - impl. a better crc32(use the one from linux) > > > - Don't scan more than you have to, that is, ls/read /some/file > > > should only scan and keep records to do the ls/read of that > > > particular file. > > So we have to have an index, or something like that, to tell which file in > > which EBs. This index is always generated by the scan for the first time. > > The only workaround like this idea is to divide the flash into several > > paritions, the scan is performed on certain partition each time. > > > > > > > > There were some patches floating around quite some time ago to improve > > > scanning but I don't think they made it into the u-boot repo. > > > > > > > > > > As far as I know, YAFFS2 also has this problem however the code is ported > > from linux. It's also inefficient for YAFFS2 scanning? > > No idea, I am not using YAFFS2 > _________________________________________________________________ MSN????????????????25???????????2010????????? http://kaba.msn.com.cn/?k=1