All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steffen Klassert <steffen.klassert@secunet.com>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: David Miller <davem@davemloft.net>, linux-crypto@vger.kernel.org
Subject: Re: [RFC] [PATCH 2/5] pcrypt: Add pcrypt crypto parallelization wrapper
Date: Tue, 23 Jun 2009 10:29:21 +0200	[thread overview]
Message-ID: <20090623082921.GB20366@secunet.com> (raw)
In-Reply-To: <20090619122933.GB18631@gondor.apana.org.au>

On Fri, Jun 19, 2009 at 08:29:33PM +0800, Herbert Xu wrote:
> On Mon, Jun 08, 2009 at 09:10:00AM +0200, Steffen Klassert wrote:
> >
> > +config CRYPTO_PCRYPT
> > +	tristate "Parallel crypto engine (EXPERIMENTAL)"
> > +	depends on USE_GENERIC_SMP_HELPERS && EXPERIMENTAL
> > +	select CRYPTO_MANAGER
> > +	select CRYPTO_PCRYPT_CORE
> > +	help
> > +	  This converts an arbitrary crypto algorithm into a parallel
> > +	  algorithm that is executed in a softirq.
> 
> BTW, do we really need softirqs for these things? Cryptographic
> operations are typically slow (especially when you have to move
> them to other CPUs to handle a single NIC:) so if we're going to
> the trouble of making it async then we should put them in work
> queues instead.

I did already tests with a work queue based parallelization, but the
throughput and the latency on networking tests were much better with the
remote softirq based version. The serialization engine must always wait
for the cpu that processes the 'next' packet to keep the packets in the
right order. And softirqs are a good way to ensure that the packets are
processed as soon as possible.

Anyway, we can always use pcrypt(cryptd(..)) combinations if we need to
make the request async.

  reply	other threads:[~2009-06-23  8:26 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-08  7:07 [RFC] [PATCH 0/5] Parallel IPsec v4 Steffen Klassert
2009-06-08  7:08 ` [RFC] [PATCH 1/5] padata: generic interface for parallel processing Steffen Klassert
2009-06-08  7:10 ` [RFC] [PATCH 2/5] pcrypt: Add pcrypt crypto parallelization wrapper Steffen Klassert
2009-06-19 12:21   ` Herbert Xu
2009-06-23  6:21     ` Steffen Klassert
2009-06-19 12:29   ` Herbert Xu
2009-06-23  8:29     ` Steffen Klassert [this message]
2009-06-23  8:34       ` Herbert Xu
2009-06-23  9:14         ` Steffen Klassert
2009-06-23  9:18           ` Herbert Xu
2009-06-23 10:19             ` Steffen Klassert
2009-06-23 10:19               ` Herbert Xu
2009-06-08  7:10 ` [RFC] [PATCH 3/5] eseqiv: Add support for aead algorithms Steffen Klassert
2009-06-25 10:46   ` Herbert Xu
2009-06-29 11:12     ` Steffen Klassert
2009-06-08  7:11 ` [RFC] [PATCH 4/5] authenc: Check if the IV is already added to the scatterlist Steffen Klassert
2009-06-08  7:12 ` [RFC] [PATCH 5/5] tcrypt: Test algorithms by name Steffen Klassert
2009-06-19 10:53   ` Herbert Xu
2009-06-19 10:56     ` Herbert Xu
2009-06-19 11:40       ` [PATCH] " Steffen Klassert
2009-06-19 11:47         ` Herbert Xu
2009-06-19 12:38           ` Herbert Xu
2009-06-23  6:04             ` Steffen Klassert

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=20090623082921.GB20366@secunet.com \
    --to=steffen.klassert@secunet.com \
    --cc=davem@davemloft.net \
    --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 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.