All of lore.kernel.org
 help / color / mirror / Atom feed
From: Denys Vlasenko <vda.linux@googlemail.com>
To: Denys Vlasenko <vda.linux@googlemail.com>,
	herbert@gondor.apana.org.au,
	Noriaki TAKAMIYA <takamiya@linux-ipv6.org>,
	davem@davemloft.net, linux-crypto@vger.kernel.org
Subject: [PATCH 0/5] camellia: code shrink and 64-bit optimization
Date: Thu, 22 Nov 2007 14:41:44 -0800	[thread overview]
Message-ID: <200711221441.45027.vda.linux@googlemail.com> (raw)

Patches start from 5 because pathches 1..4 are already
in cryptodev-2.6.

camellia5:
        Remove unused macro params.
        Use (u8)(expr) instead of (expr) & 0xff,
        helps gcc to realize how to use simpler commands.
        Move CAMELLIA_FLS macro closer to encrypt/decrypt routines.

camellia6:
        unifies encrypt/decrypt routines for different key lengths.
        This reduces module size by ~25%, with tiny (less than 1%)
        speed impact.
        Also collapses encrypt/decrypt into more readable
        (visually shorter) form using macros.

camellia7:
        Move "key XOR is end of F-function" code part into
        camellia_setup_tail(), it is sufficiently similar
        between camellia_setup128 and camellia_setup256.

camellia8:
        Analogously to camellia7 patch, move
        "absorb kw2 to other subkeys" and "absorb kw4 to other subkeys"
        code parts into camellia_setup_tail(). This further reduces
        source and object code size at the cost of two brances
        in key setup code.

camellia9:
        Adds 64-bit key setup, it is used if BITS_PER_LONG is 64.
        30% faster key setup and 1k (7%) smaller module on amd64.

Code sizes:
64-bit:
dec      hex   filename
22786    5902  2.6.23.1.camellia4.t64/crypto/camellia.o
15670    3d36  2.6.23.1.camellia9.t64/crypto/camellia.o

32-bit:
29948    74fc  2.6.23.1.camellia4.t/crypto/camellia.o
18454    4816  2.6.23.1.camellia9.t/crypto/camellia.o

These patches apply cleanly to current cryptodev-2.6.
They should be applied in order.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
--
vda

             reply	other threads:[~2007-11-22 22:41 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-22 22:41 Denys Vlasenko [this message]
2007-11-22 22:43 ` [PATCH 2/5] camellia: code shrink #2 Denys Vlasenko
2007-11-23 13:12   ` Herbert Xu
2007-11-22 22:43 ` [PATCH 3/5] camellia: code shrink #3 Denys Vlasenko
2007-11-23 13:14   ` Herbert Xu
2007-11-22 22:44 ` [PATCH 4/5] camellia: code shrink #4 Denys Vlasenko
2007-11-23 13:22   ` Herbert Xu
2007-11-22 22:44 ` [PATCH 5/5] camellia: 64-bit optimization Denys Vlasenko
2007-11-22 22:45 ` [PATCH 1/5] camellia: code shrink Denys Vlasenko
2007-11-23 13:06   ` Herbert Xu

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=200711221441.45027.vda.linux@googlemail.com \
    --to=vda.linux@googlemail.com \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=takamiya@linux-ipv6.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 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.