[dm-devel] [PATCH v2] dm: verity target

Mandeep Singh Baines msb at chromium.org
Tue Nov 22 22:15:14 UTC 2011


Hi Steffen,

Sorry for the delayed repsonse.

Steffen Klassert (steffen.klassert at secunet.com) wrote:
> Hi.
> 
> On Mon, Nov 14, 2011 at 09:54:23AM -0800, Mandeep Singh Baines wrote:
> > 
> > Hi Steffen,
> > 
> > We use a hash per CPU to avoid allocating and freeing a context per
> > computation. We could allocate the context on the stack as you suggest.
> > However, we were worried about overflowing the stack. The context can be
> > quite large (close to 200 bytes for sha512).
> 
> Indeed, but preallocating on percpu basis can be also quite large on
> bigsmp machines.
> 

Yes, you'll consume NUM_CPUS*sizeof(context) but I'm not sure that its
a lot of memory relative to the total amount of memory you'd see on a
big SMP/NUMA system.

> > 
> > We use a hash per CPU because there can be at most one hash in progress
> > on each CPU at any one time.
> > 
> 
> Ok, this is the case because you use a workqueue and this processes
> at most one work item on each cpu the time.
> 
> On another note, you might want to use ahash here. Most crypto hardware
> accelerators need to use asynchronous ciphers. These can't be used if
> you use the synchronous interface.
> 

We definitely want to look at ahash but I'd like to get the baseline
functionality in and then iterate. Do you think it would be cool
if we deferred looking into ahash until later?

> And at the latest when you switch to ahash, you need more than one
> preallocated ahash request on each cpu, as there can be many ahash
> requests submitted on each cpu :)
> 

Thanks much for all the feedback.

Regards,
Mandeep




More information about the dm-devel mailing list