Linux cryptographic layer development
 help / color / mirror / Atom feed
From: Sebastian Siewior <linux-crypto@ml.breakpoint.cc>
To: Andi Kleen <ak@suse.de>
Cc: Herbert Xu <herbert@gondor.apana.org.au>, linux-crypto@vger.kernel.org
Subject: Re: {twofish,aes}-{x86_64,i586} versus C implementations
Date: Mon, 20 Aug 2007 11:45:08 +0200	[thread overview]
Message-ID: <20070820094508.GE9651@Chamillionaire.breakpoint.cc> (raw)
In-Reply-To: <20070820101618.GE16680@bingen.suse.de>

* Andi Kleen | 2007-08-20 12:16:18 [+0200]:

>> Are you sure you get the C version when both are built-in
>> or loaded as modules? If so then we have a bug in the priority
>> code.
>
>The usual use case is: Somebody -- either admin or some command 
>implicitely -- executes modprobe aes because some text file
>specifies the aes cipher. At least on my system that loads
>the C version when both are enabled. modprobe will not load
>multiple modules in this case.
>
>I don't think modprobe knows anything about these priorities.

Not modprobe, but the crypto subsystem. If you have the generic C code
and the assembly variant it picks the assembly over C. The selection is
done before the particular subsystem, dm-crypt for instance, requests
the algorithm / module. It makes no sense to load the AES-i586 module
_after_ it is in use (dm-crypt loaded the encrypted root partition).
However, further requests will get the assembly variant.

>> We don't, but the system is meant to allow multiple
>> implementations to coexist and picking the best one
>> at run-time.
>
>But that would require teaching the module loading user space
>about all this first, right?

In that case yes. Would it help to add MODULE_ALIAS("aes") to the
assembly version in order to load it (atleast both)?

>Also if one implementation is always better than the other
>then I see little reason to ever have both.

If you are sure that nobody needs aes on machnies prio i586 than you
could disable the generic version on i386. Also on x86_64 the generic
version isn't required since an assembly optimized version is provided.
BUT: you might get into some trouble if you remove it from selections
because some modules select it automaticly, IEEE80211_CRYPT_CCMP for
instance.

>-Andi

Sebastian

  reply	other threads:[~2007-08-20  9:45 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-20  0:34 {twofish,aes}-{x86_64,i586} versus C implementations Andi Kleen
2007-08-20  1:01 ` Herbert Xu
2007-08-20 10:16   ` Andi Kleen
2007-08-20  9:45     ` Sebastian Siewior [this message]
2007-08-20 10:47       ` Andi Kleen
2007-08-20 10:08         ` Sebastian Siewior
2007-08-20 11:12           ` Andi Kleen
2007-08-20 11:27             ` Sebastian Siewior
2007-08-20 12:06     ` Herbert Xu
2007-08-20 13:06       ` Andi Kleen
2007-08-20 13:07         ` Herbert Xu
2007-09-02 22:42         ` Sebastian Siewior
2007-09-04 13:58           ` Andi Kleen
2007-09-19 12:29           ` Herbert Xu
2007-09-19 21:46             ` Sebastian Siewior
2007-09-20  0:20               ` Herbert Xu
2007-09-20 21:09                 ` Sebastian Siewior
2007-09-30 12:23                   ` Sebastian Siewior
2007-09-30 12:42       ` Sebastian Siewior
2007-10-03  7:35         ` Herbert Xu
2007-10-04  8:35           ` Sebastian Siewior
2007-10-03 19:23             ` [PATCH] [crypto] load the DES module by an alias Sebastian Siewior
2007-10-05  8:48               ` Herbert Xu
2007-10-04  7:37             ` [PATCH] [crypto] load the AES " Sebastian Siewior
2007-10-05  8:52               ` Herbert Xu
2007-10-04  7:37             ` [PATCH] [crypto] load the SHA1[1|256] " Sebastian Siewior
2007-10-05  8:57               ` Herbert Xu
2007-10-05 13:50                 ` Sebastian Siewior
2007-10-05 13:12                   ` [PATCH] [crypto] load the SHA1[1|256] module by an alias (v2) Sebastian Siewior
2007-10-05 15:10                     ` Herbert Xu
2007-10-06 22:02                       ` Sebastian Siewior
2007-10-08  3:21                         ` Herbert Xu
2007-10-07 21:42                       ` Sebastian Siewior
2007-10-08  3:20                         ` Herbert Xu
2007-10-08 12:35                           ` Sebastian Siewior
2007-10-08  4:12                     ` Herbert Xu
2007-10-05 14:20                   ` [PATCH] [crypto] load the SHA1[1|256] module by an alias Herbert Xu
2007-10-06 21:54                     ` Sebastian Siewior
2007-10-08 11:25               ` Jan Glauber
2007-10-08 11:30                 ` Sebastian Siewior
2007-10-04  8:48             ` {twofish,aes}-{x86_64,i586} versus C implementations Herbert Xu
2007-10-04  9:31               ` Andi Kleen
2007-10-04 10:00                 ` Sebastian Siewior
2007-10-04 10:00                 ` Herbert Xu
2007-10-04  9:39               ` Sebastian Siewior

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=20070820094508.GE9651@Chamillionaire.breakpoint.cc \
    --to=linux-crypto@ml.breakpoint.cc \
    --cc=ak@suse.de \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.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