Ilya Yanok said the following:
> Hi Wolfgang,
> 
> Wolfgang Denk wrote:
>>> here is a set of changes we made to improve U-Boot JFFS2 code
>>> performance. We still can't reach Linux's performance but improvements
>>> are significant.
>>>
>>> Any comments are welcome.
>>>     
>>
>> Are these patches independent of each  other,  or  are  all  of  them
>> needed,  and if so, is there any specific order in which they have to
>> be applied?
>>   
> Argh... I forgot to create patches with xxx/nnn notation...
> Here is the order of patches:
> 0001-jffs2-add-sector_size-field-to-part_info-structure.patch
> 0002-jffs2-rewrite-jffs2-scanning-code-based-on-Linux-on.patch
> 0003-jffs2-summary-support.patch
> 0004-jffs2-fix-searching-for-latest-version-in-jffs2_1pa.patch
> 0005-jffs2-add-buffer-to-cache-flash-accesses.patch
> 0006-jffs2-cache-data_crc-results.patch
> 
> It's the order of changes in my tree and thus it's the simplest way to
> apply this patches. But actual dependencies are as follows:
> 0001 and 0004 don't depend on anything
> 0002 depends on 0001
> 0003, 0005 and 0006 depend on 0002
> 
> Regards, Ilya.

I have put these patches to our board (MPC8548, NOR Flash, MTD partition
size 48MB).

a) performance has improved (execution time of 'ls' reduced from ~16s to
~1.5s)

b) there is a bug in the patch
0005-jffs2-add-buffer-to-cache-flash-accesses:
The passage

@@ -724,12 +731,14 @@ jffs2_1pass_read_inode(struct b_lists *pL, u32
inode, char *dest)
                                latestVersion = jNode->version;
                        }
                }
-               put_fl_mem(jNode);
+               if (pL->readbuf == NULL)
+                       put_fl_mem(jNode);
        }
 #endif

should be

@@ -724,12 +731,14 @@ jffs2_1pass_read_inode(struct b_lists *pL, u32
inode, char *dest)
                                latestVersion = jNode->version;
                        }
                }
-               put_fl_mem(jNode);
+               if (pL->readbuf == NULL)
+                       put_fl_mem(jNode, NULL);
        }
 #endif

c) I found no improvement with CFG_JFFS2_SORT_FRAGMENTS set (the way I
detected b) ;-)

d) output of 'ls' is corrupted: no date and access right output,
directories in / are shown multiple times.


-- 

Michael Lawnick
Software Design Engineer

Lise-Meitner-Str. 7/1
89081 Ulm
Tel: +49 731 9533 2066

[EMAIL PROTECTED]
http://www.nokiasiemensnetworks.com/global/

Think before you print

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to