[dm-devel] [PATCH] DM-CRYPT: Scale to multiple CPUs

Herbert Xu herbert at gondor.hengli.com.au
Tue Jun 1 04:39:01 UTC 2010


On Mon, May 31, 2010 at 10:44:30PM -0400, Mikulas Patocka wrote:
> Questions:
> 
> If you are optimizing it,
> 
> 1) why don't you optimize it in such a way that if one CPU submits 
> requests, the crypto work is spread among all the CPUs? Currently it 
> spreads the work only if different CPUs submit it.

Because the crypto layer already provides that functionality,
through pcrypt.  By instantiating pcrypt for a given algorithm,
you can parallelise that algorithm across CPUs.

This would be inappropriate for upper layer code as they do not
know whether the underlying algorithm should be parallelised,
e.g., a PCI offload board certainly should not be parallelised.

> 2) why not optimize software async crypto daemon (crypt/cryptd.c) instead 
> of dm-crypt, so that all kernel subsystems can actually take advantage of 
> those multi-CPU optimizations, not just dm-crypt?

Because you cannot do what Andi is doing here in the crypto layer.
What dm-crypt does today (which hasn't always been the case BTW)
hides information away (the original submitting CPU) that we cannot
recreate.

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert at gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt




More information about the dm-devel mailing list