From: Michael Lawnick <nospam_lawnick@gmx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH/RFC] Some speed improvements to U-Boot JFFS2 code
Date: Thu, 16 Oct 2008 14:36:16 +0200 [thread overview]
Message-ID: <48F73540.3020504@gmx.de> (raw)
In-Reply-To: <48F5E5CB.3070303@emcraft.com>
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
Michael.Lawnick.ext at nsn.com
http://www.nokiasiemensnetworks.com/global/
Think before you print
next prev parent reply other threads:[~2008-10-16 12:36 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-13 5:53 [U-Boot] [PATCH/RFC] Some speed improvements to U-Boot JFFS2 code Ilya Yanok
2008-10-13 5:53 ` [U-Boot] [PATCH] jffs2: add sector_size field to part_info structure Ilya Yanok
2008-10-13 8:17 ` Wolfgang Denk
2008-10-15 12:35 ` Ilya Yanok
2008-10-13 5:53 ` [U-Boot] [PATCH] jffs2: rewrite jffs2 scanning code based on Linux one Ilya Yanok
2008-10-13 5:53 ` [U-Boot] [PATCH] jffs2: summary support Ilya Yanok
2008-10-13 5:53 ` [U-Boot] [PATCH] jffs2: fix searching for latest version in jffs2_1pass_list_inodes() Ilya Yanok
2008-10-13 5:53 ` [U-Boot] [PATCH] jffs2: add buffer to cache flash accesses Ilya Yanok
2008-10-13 5:53 ` [U-Boot] [PATCH] jffs2: cache data_crc results Ilya Yanok
2008-10-14 9:25 ` Michael Lawnick
2008-10-13 8:14 ` [U-Boot] [PATCH/RFC] Some speed improvements to U-Boot JFFS2 code Wolfgang Denk
2008-10-15 12:44 ` Ilya Yanok
2008-10-16 12:36 ` Michael Lawnick [this message]
2008-11-01 1:00 ` Ilya Yanok
2008-11-02 16:02 ` Wolfgang Denk
2008-11-02 19:08 ` Ilya Yanok
2008-11-04 11:14 ` Michael Lawnick
2008-11-04 12:31 ` Michael Lawnick
2008-11-04 13:14 ` Joakim Tjernlund
2008-11-05 7:59 ` Michael Lawnick
2008-11-11 6:49 ` Alexey Neyman
2008-11-11 8:19 ` Joakim Tjernlund
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48F73540.3020504@gmx.de \
--to=nospam_lawnick@gmx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.