From: "Jörn Engel" <joern@wohnheim.fh-wedel.de>
To: Joakim Tjernlund <Joakim.Tjernlund@lumentis.se>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Linux MTD mailing list <linux-mtd@lists.infradead.org>
Subject: Re: JFFS3 & performance
Date: Thu, 16 Dec 2004 22:22:10 +0100 [thread overview]
Message-ID: <20041216212210.GA12833@wohnheim.fh-wedel.de> (raw)
In-Reply-To: <BCEFJBPJCGFCNMMMIDBHCEMGCJAA.Joakim.Tjernlund@lumentis.se>
On Thu, 16 December 2004 22:06:21 +0100, Joakim Tjernlund wrote:
>
> There is still more one can do, look in lib/crc32.c in the kernel to see
> what I mean. It is tricky to get everything right, but just unrolling it a bit will help.
Sure. But I won't do it tonight anymore and the rest of the week is
booked.
In related news, I just had a look at adler32 code. It's pretty
obvious why it runs so fast and why we shouldn't use it as a checksum:
o It splits data into chunks of 5552 bytes.
o Inside each chunk, it basically implements the two weak checksums
from rsync. (And those really are weak. I once tried using them for
a hash table and the result was horrible.)
o At the end of each chunk, it implements crc16 on both weak
checksums.
With jffs3 node containing less than 5552 bytes each, the crc16
operation, a simple modulo, is done but once. So in effect, we end up
with the weak checksums from rsync, which cause tons of collisions in
hash tables. Pretty nasty for a checksum.
Istr reading something from one of the two authors that basically
states the adler32 weakness for short files. But for long files, the
checksum is getting strong enough and much faster. Too bad that our
"files" are short.
Jörn
--
Optimizations always bust things, because all optimizations are, in
the long haul, a form of cheating, and cheaters eventually get caught.
-- Larry Wall
next prev parent reply other threads:[~2004-12-16 21:22 UTC|newest]
Thread overview: 196+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-12-16 13:20 JFFS3 & performance Joakim Tjernlund
2004-12-16 14:27 ` Artem B. Bityuckiy
2004-12-16 14:45 ` Joakim Tjernlund
2004-12-16 14:50 ` Artem B. Bityuckiy
2004-12-16 15:00 ` Joakim Tjernlund
2004-12-16 17:53 ` Jörn Engel
2004-12-16 18:42 ` Artem B. Bityuckiy
2004-12-16 19:15 ` Jörn Engel
2004-12-16 19:49 ` Jörn Engel
2004-12-16 19:58 ` Joakim Tjernlund
2004-12-16 20:46 ` Jörn Engel
2004-12-16 20:02 ` Joakim Tjernlund
2004-12-16 20:37 ` Thomas Gleixner
2004-12-16 20:51 ` Jörn Engel
2004-12-16 21:02 ` Thomas Gleixner
2004-12-16 21:06 ` Joakim Tjernlund
2004-12-16 21:22 ` Jörn Engel [this message]
2004-12-16 22:06 ` Joakim Tjernlund
2004-12-17 10:25 ` Jörn Engel
2004-12-17 10:44 ` Joakim Tjernlund
2004-12-17 10:56 ` Artem B. Bityuckiy
2004-12-17 10:46 ` jasmine
2004-12-17 11:01 ` Artem B. Bityuckiy
2004-12-17 11:19 ` Joakim Tjernlund
2004-12-18 16:09 ` Jörn Engel
2004-12-18 16:26 ` Joakim Tjernlund
2004-12-18 16:52 ` Jörn Engel
2004-12-17 11:10 ` Joakim Tjernlund
2004-12-17 11:20 ` Artem B. Bityuckiy
2004-12-22 13:36 ` Artem B. Bityuckiy
2004-12-22 14:03 ` Jörn Engel
2004-12-22 14:44 ` Artem B. Bityuckiy
2004-12-22 15:14 ` Jörn Engel
2004-12-22 15:25 ` Artem B. Bityuckiy
2004-12-22 16:08 ` Jörn Engel
2004-12-22 20:22 ` xemc
2004-12-22 20:43 ` xemc
2004-12-22 20:49 ` Jasmine Strong
2004-12-22 15:30 ` Joakim Tjernlund
2004-12-22 15:37 ` Artem B. Bityuckiy
2004-12-22 15:47 ` Joakim Tjernlund
2004-12-22 15:56 ` Artem B. Bityuckiy
2004-12-22 16:09 ` Jörn Engel
2004-12-22 16:17 ` Artem B. Bityuckiy
2004-12-22 16:43 ` Joakim Tjernlund
2004-12-22 16:46 ` Artem B. Bityuckiy
2004-12-22 17:26 ` Jörn Engel
2004-12-22 18:14 ` xemc
2004-12-22 18:20 ` Artem B. Bityuckiy
2004-12-23 13:52 ` Jörn Engel
2004-12-23 17:02 ` Artem B. Bityuckiy
2005-01-07 11:10 ` Artem B. Bityuckiy
2005-01-07 11:09 ` David Woodhouse
2005-01-07 11:27 ` jasmine
2005-01-07 11:43 ` Artem B. Bityuckiy
2005-01-07 14:23 ` Artem B. Bityuckiy
2005-01-07 14:27 ` jasmine
2005-01-07 14:33 ` Artem B. Bityuckiy
2005-01-07 14:37 ` jasmine
2005-01-07 14:43 ` Artem B. Bityuckiy
2005-01-07 14:55 ` jasmine
2005-01-07 15:20 ` Artem B. Bityuckiy
2005-01-07 15:24 ` jasmine
2005-01-07 15:28 ` Artem B. Bityuckiy
2005-01-07 15:31 ` jasmine
2005-01-07 15:32 ` Artem B. Bityuckiy
2005-01-07 17:57 ` Artem B. Bityuckiy
2005-01-07 14:50 ` Artem B. Bityuckiy
2005-01-07 14:31 ` Artem B. Bityuckiy
2005-01-06 10:08 ` Artem B. Bityuckiy
2005-01-08 20:14 ` Jörn Engel
2005-01-09 11:39 ` Artem B. Bityuckiy
2005-01-10 14:24 ` Jörn Engel
2004-12-22 15:59 ` jasmine
2004-12-22 16:19 ` Jörn Engel
2004-12-22 16:21 ` Artem B. Bityuckiy
2004-12-22 15:56 ` Jörn Engel
2004-12-22 16:39 ` Joakim Tjernlund
2004-12-22 17:33 ` Jörn Engel
2004-12-17 11:20 ` Jörn Engel
2004-12-18 12:23 ` Artem B. Bityuckiy
2004-12-21 14:45 ` Artem B. Bityuckiy
2004-12-21 16:03 ` Jörn Engel
2004-12-17 11:33 ` David Vrabel
2004-12-17 15:34 ` Joakim Tjernlund
2004-12-18 16:14 ` Jörn Engel
2004-12-18 16:25 ` Joakim Tjernlund
2004-12-18 16:39 ` Jörn Engel
2004-12-18 17:10 ` Joakim Tjernlund
2004-12-18 17:19 ` Jörn Engel
2004-12-18 17:51 ` Joakim Tjernlund
2004-12-18 17:59 ` Jörn Engel
2004-12-18 18:13 ` Joakim Tjernlund
2004-12-19 3:05 ` Jörn Engel
2004-12-18 18:09 ` Joakim Tjernlund
2004-12-21 14:38 ` Jörn Engel
-- strict thread matches above, loose matches on Subject: below --
2005-01-11 12:29 Artem B. Bityuckiy
2005-01-11 14:37 ` Josh Boyer
2005-01-11 21:51 ` Jörn Engel
2005-01-12 0:06 ` Thomas Gleixner
2005-01-12 16:59 ` Jörn Engel
2005-01-12 17:37 ` Thomas Gleixner
2005-01-12 18:17 ` Jörn Engel
2005-01-12 9:15 ` Artem B. Bityuckiy
2005-01-12 16:41 ` Jared Hulbert
2005-01-12 17:02 ` Jörn Engel
2005-01-12 17:06 ` David Woodhouse
2005-01-12 17:11 ` Jörn Engel
2005-01-12 17:22 ` Jared Hulbert
2005-01-12 17:28 ` Artem B. Bityuckiy
2005-01-12 17:34 ` David Woodhouse
2005-01-12 17:45 ` Dan Post
2005-01-12 17:52 ` David Woodhouse
2005-01-12 17:14 ` Artem B. Bityuckiy
2005-01-12 22:30 ` Jared Hulbert
2005-01-12 22:43 ` Josh Boyer
2005-01-12 22:55 ` Jared Hulbert
2005-01-13 15:50 ` Josh Boyer
2005-01-13 18:30 ` Jared Hulbert
2005-01-13 18:36 ` David Woodhouse
2005-01-13 19:06 ` Jörn Engel
2005-01-13 19:22 ` Josh Boyer
2005-01-13 18:55 ` Artem B. Bityuckiy
2005-01-13 19:10 ` Brian Fox
2005-01-13 19:23 ` Artem B. Bityuckiy
2005-01-28 6:08 ` Eric W. Biederman
2005-01-13 7:54 ` David Woodhouse
2005-01-13 8:25 ` Artem B. Bityuckiy
2005-01-13 15:09 ` Jörn Engel
2005-01-12 18:10 ` Jörn Engel
2005-01-12 18:27 ` Thomas Gleixner
2005-01-12 18:40 ` Jörn Engel
2005-01-12 18:42 ` David Woodhouse
2005-01-12 18:43 ` Artem B. Bityuckiy
2005-01-12 19:16 ` Thomas Gleixner
2005-01-12 19:44 ` Jörn Engel
2005-01-12 19:53 ` Thomas Gleixner
2005-01-12 20:06 ` Jörn Engel
2005-01-12 18:33 ` Artem B. Bityuckiy
2005-01-12 18:43 ` Jörn Engel
2005-01-12 18:45 ` Artem B. Bityuckiy
2005-01-12 18:58 ` Artem B. Bityuckiy
2005-01-12 19:50 ` Jörn Engel
2005-01-13 14:49 ` Artem B. Bityuckiy
2005-01-13 15:05 ` Artem B. Bityuckiy
2005-01-13 15:17 ` Jörn Engel
2005-01-13 15:22 ` Artem B. Bityuckiy
2005-01-13 15:40 ` Jörn Engel
2005-01-13 15:49 ` David Woodhouse
2005-01-13 15:53 ` Artem B. Bityuckiy
2005-01-13 16:13 ` Jörn Engel
2005-01-13 16:16 ` Artem B. Bityuckiy
2005-01-13 16:21 ` Jörn Engel
2005-01-13 16:22 ` Artem B. Bityuckiy
2005-01-13 16:21 ` Artem B. Bityuckiy
2005-01-14 13:46 ` Jamey Hicks
2005-01-14 14:16 ` Artem B. Bityuckiy
2005-01-18 15:50 ` Joakim Tjernlund
2005-01-19 13:07 ` Artem B. Bityuckiy
2005-01-19 15:24 ` Jörn Engel
2005-01-19 15:27 ` Artem B. Bityuckiy
2005-01-19 15:32 ` Jörn Engel
2005-01-19 15:51 ` Artem B. Bityuckiy
2005-01-19 16:31 ` Jörn Engel
2005-01-19 19:58 ` Artem B. Bityuckiy
2005-01-20 14:35 ` Jörn Engel
2005-01-20 14:37 ` David Woodhouse
2005-01-20 14:40 ` Jörn Engel
2005-01-20 15:05 ` Artem B. Bityuckiy
2005-01-20 15:27 ` Jörn Engel
2005-01-20 15:37 ` Artem B. Bityuckiy
2005-01-20 16:13 ` Jörn Engel
2005-01-20 16:31 ` Artem B. Bityuckiy
2005-01-20 16:41 ` Jörn Engel
2005-01-20 17:08 ` Artem B. Bityuckiy
2005-01-20 17:33 ` Jörn Engel
2005-01-20 17:57 ` Artem B. Bityuckiy
2005-01-21 12:44 ` Jörn Engel
2005-01-21 13:13 ` Artem B. Bityuckiy
2005-01-21 13:42 ` Jörn Engel
2005-01-21 13:52 ` Artem B. Bityuckiy
2005-01-21 14:00 ` Jörn Engel
2005-01-21 14:04 ` Artem B. Bityuckiy
2005-01-25 10:51 ` Jörn Engel
2005-01-25 10:56 ` David Woodhouse
2005-01-25 11:13 ` Jörn Engel
2005-01-21 14:30 ` Josh Boyer
2005-01-21 22:33 ` Jared Hulbert
2005-01-21 22:46 ` Jared Hulbert
2005-01-21 23:54 ` Josh Boyer
2005-01-22 13:03 ` Artem B. Bityuckiy
2005-01-22 22:04 ` David Woodhouse
2005-01-23 10:03 ` Artem B. Bityuckiy
2005-01-23 10:08 ` Artem B. Bityuckiy
2005-01-23 11:04 ` David Woodhouse
2005-01-23 11:55 ` Artem B. Bityuckiy
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=20041216212210.GA12833@wohnheim.fh-wedel.de \
--to=joern@wohnheim.fh-wedel.de \
--cc=Joakim.Tjernlund@lumentis.se \
--cc=linux-mtd@lists.infradead.org \
--cc=tglx@linutronix.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox