From: Christoph Hellwig <hch@infradead.org>
To: Jari Ruusu <jari.ruusu@pp.inet.fi>
Cc: Chris Friesen <cfriesen@nortelnetworks.com>,
Andrew Morton <akpm@osdl.org>,
Andries.Brouwer@cwi.nl, akpm@digeo.com,
linux-kernel@vger.kernel.org, torvalds@osdl.org
Subject: Re: [PATCH] cryptoloop
Date: Tue, 8 Jul 2003 13:43:49 +0100 [thread overview]
Message-ID: <20030708134349.A24432@infradead.org> (raw)
In-Reply-To: <3F068F49.1883BE0D@pp.inet.fi>; from jari.ruusu@pp.inet.fi on Sat, Jul 05, 2003 at 11:41:45AM +0300
On Sat, Jul 05, 2003 at 11:41:45AM +0300, Jari Ruusu wrote:
> I haven't seen the modified transfer function yet, so no test data on speed
> difference yet. Notice that I said "tiny speed degration". Tiny in this
> context may well mean unmeasurable small. However, it will add mode code to
> optimized implementation. More code == tiny bit slower.
Then I'd suggest reading the suggestion carefully :) It suggest to:
a) not perform that kmap/kunmap in loop.c before calling the transfer
function and
b) pass the page frame + offset to the transfer function instead of the
kernel virtual address
That means for the module implementing the transfer function either
1) a superflous kmap that it doesn't need is gone (cryptoapi case)
2) it needs to perform the kmap previously done by itself. (= no change)
3) it needs to perform the kmap itself but can use kmap_atomic now
> Loop code in loop-AES does not have any significant speed advantage over
> mainline loop. Most significant advantage that loop-AES' loop code has over
> mainline, is that it includes a ton of bug fixes still missing from mainline
> loop.
Well, we already had a discussion about that, and you haven't tried to
split your patch up so it's unacceptable for mainline. I'm in fact pretty
sure some parts like the bio reservations are buggy but it's hard to tell
excatly with a that big patch.
> Loop-AES' speed advantage comes from optimized AES-only transfer
> function that does the CBC stuff and directly calls highly optimized AES
> implementation without any CryptoAPI overhead.
That's the good old VFS argument. Of course we could rip out the
VFS and go directly to ext2 but in many cases abstraction have more
advantage than the tiny speed loss they impare.
> This tests only low level cipher functions aes_encrypt() and aes_decrypt()
> from linux-2.5.74/crypto/aes.c with all CryptoAPI overhead removed. In real
> use, including CryptoAPI overhead, these numbers should be a little bit
> smaller.
<snip>
The number is interesting. It might be worthwile to try embedding your
aes implementations into the CryptoAPI. Given your negative comments
I suppose you are not interested in something like that?
> I have posted patches to be included in mainline. Fixes are available, and
> if they are not merged, then so be it. If fixes are not merged to mainline,
> they will be maintained outside of mainline so people who need them can
> actually use them. It is not really my failt that mainline people seem to
> prefer buggy loop and slow loop crypto.
So far all loop bugs that have been reported during 2.5 have been fixed.
As for slow crypto: yes, we prefer the cryptoapi abstraction over
directly going to a single algorithm. And no one here said he diskliked
your AES implementation, they just haven't been offered yet. I'm sure
your assembly implementation will be merged once the framework for
optimized crypto algorithms is in place and I'm also pretty sure
we'll find out why your C implementation is faster and either switch the
current implementation for yours or improve it. It's just that all this
would be a lot easier if you just offered them in a form of a nicely
described do one thing patch instead of moaning from the backside..
next prev parent reply other threads:[~2003-07-08 12:30 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-07-02 18:44 [PATCH] cryptoloop Andries.Brouwer
2003-07-02 19:02 ` Andrew Morton
2003-07-02 19:16 ` Linus Torvalds
2003-07-02 19:20 ` Andrew Morton
2003-07-02 19:31 ` Linus Torvalds
2003-07-03 11:21 ` Jari Ruusu
2003-07-03 15:20 ` Andrew Morton
2003-07-03 17:29 ` Jari Ruusu
2003-07-03 17:38 ` Chris Friesen
2003-07-04 7:43 ` Jari Ruusu
2003-07-04 8:44 ` Andrew Morton
2003-07-04 9:41 ` Christoph Hellwig
2003-07-05 8:41 ` Jari Ruusu
2003-07-05 8:58 ` Andrew Morton
2003-07-05 9:00 ` Andre Hedrick
2003-07-05 9:10 ` Andre Hedrick
2003-07-05 17:16 ` James Morris
2003-07-05 17:20 ` Linus Torvalds
2003-07-08 12:43 ` Christoph Hellwig [this message]
2003-07-04 9:39 ` Christoph Hellwig
2003-07-03 16:20 ` Christoph Hellwig
-- strict thread matches above, loose matches on Subject: below --
2003-07-04 13:21 Andries.Brouwer
2003-07-04 13:28 ` Christoph Hellwig
2003-07-04 11:08 Andries.Brouwer
2003-07-04 12:13 ` Christoph Hellwig
2003-07-03 16:25 Andries.Brouwer
2003-07-03 16:31 ` Christoph Hellwig
2003-07-02 22:57 Andries.Brouwer
2003-07-02 22:27 Andries.Brouwer
2003-07-02 21:00 Andries.Brouwer
2003-07-02 21:06 ` Greg KH
2003-07-02 21:31 ` Andrew Morton
2003-07-03 16:23 ` Christoph Hellwig
2003-07-02 19:42 Andries.Brouwer
2003-07-02 19:58 ` Andrew Morton
2003-07-02 15:21 Andries.Brouwer
2003-07-02 17:16 ` Andrew Morton
2003-07-03 15:44 ` Christoph Hellwig
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=20030708134349.A24432@infradead.org \
--to=hch@infradead.org \
--cc=Andries.Brouwer@cwi.nl \
--cc=akpm@digeo.com \
--cc=akpm@osdl.org \
--cc=cfriesen@nortelnetworks.com \
--cc=jari.ruusu@pp.inet.fi \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@osdl.org \
/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