Re: [PATCH v2] dm: verity target

From: Steffen Klassert
Date: Tue Nov 15 2011 - 04:19:35 EST


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.

>
> 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.

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 :)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/