[lkml]   [2018]   [Apr]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRE: [PATCH V8 1/5] crypto: Multi-buffer encryption infrastructure support

>-----Original Message-----
>From: Herbert Xu []
>Sent: Wednesday, April 18, 2018 4:01 AM
>To: Dey, Megha <>
>Subject: Re: [PATCH V8 1/5] crypto: Multi-buffer encryption infrastructure
>On Tue, Apr 17, 2018 at 06:40:17PM +0000, Dey, Megha wrote:
>> >-----Original Message-----
>> >From: Herbert Xu []
>> >Sent: Friday, March 16, 2018 7:54 AM
>> >To: Dey, Megha <>
>> >Cc:;;
>> >
>> >Subject: Re: [PATCH V8 1/5] crypto: Multi-buffer encryption
>> >infrastructure support
>> >
>> >I have taken a deeper look and I'm even more convinced now that
>> >mcryptd is simply not needed in your current model.
>> >
>> >The only reason you would need mcryptd is if you need to limit the
>> >rate of requests going into the underlying mb algorithm.
>> >
>> >However, it doesn't do that all. Even though it seems to have a
>> >batch size of 10, but because it immediately reschedules itself after
>> >the batch runs out, it's essentially just dumping all requests at the
>> >underlying algorithm as fast as they're coming in. The underlying
>> >algorithm doesn't have need throttling anyway because it'll do the work
>when the queue is full synchronously.
>> >
>> >So why not just get rid of mcryptd completely and expose the
>> >underlying algorithm as a proper async skcipher/hash?
>> Hi Herbert,
>> Most part of the cryptd.c and mcryptd.c are similar, except the logic
>> used to flush out partially completed jobs in the case of multibuffer
>> I think I will try to merge the cryptd and mcryptd adding necessary quirks for
>multibuffer where needed.
>I think you didn't quite get my point. From what I'm seeing you don't need
>either cryptd or mcryptd. You just need to expose the underlying mb
>algorithm directly.

Hi Herbert,

Yeah I think I misunderstood. I think what you mean is to remove mcryptd.c completely and avoid the extra layer of indirection to call the underlying algorithm, instead call it directly, correct?

So currently we have 3 algorithms registered for every multibuffer algorithm:
name : __sha1-mb
driver : mcryptd(__intel_sha1-mb)

name : sha1
driver : sha1_mb

name : __sha1-mb
driver : __intel_sha1-mb

If we remove mcryptd, then we will have just the 2?

The outer algorithm:sha1-mb, will
>So I'm not sure what we would gain from merging cryptd and mcryptd.
>Email: Herbert Xu <> Home Page:
>PGP Key:

 \ /
  Last update: 2018-04-19 02:55    [W:0.076 / U:2.200 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site