All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tadeusz Struk <tadeusz.struk@intel.com>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: davem@davemloft.net, linux-crypto@vger.kernel.org, qat-linux@intel.com
Subject: Re: [PATCH RFC 4/4] crypto: qat - Add new algif interface for userspace
Date: Fri, 07 Nov 2014 11:48:16 -0800	[thread overview]
Message-ID: <545D2200.2020107@intel.com> (raw)
In-Reply-To: <20141107053105.GA17825@gondor.apana.org.au>

Hi,
On 11/06/2014 09:31 PM, Herbert Xu wrote:
> On Thu, Nov 06, 2014 at 09:24:22PM -0800, Tadeusz Struk wrote:
>>
>> What about aead? Using my algif_qat I can build a single request to HW
>> that preforms both encryption and authentication in one go, ever for
>> things like aes-cbc-hmac-sha1. This allows me to get great performance
>> of authenticated encryption from user space.
> 
> aead is simpler as it's already part of the API so we just need to
> add algif_aead.
> 
> Cheers,
> 

Another thing is that the algif_skcipher works in kind of synchronous way:

-------             ----------
| app |--write()--> | socket | --> build_sgl()
-------             ----------        |
   <----------------------------------/
-------             ----------                   ------
| app |--read()---> | socket | --send_to_hw()--> | HW |
-------             ----------        |          ------
                                      |            |
                                      |            |
   <-------------------------------wait() <--------/



What I do in the algif_qat is this:

-------             ----------                   ------
| app |--write()--> | socket | --send_to_hw()--> | HW |
-------             ----------        |          ------
   <----------------------------------/            |
                         <-------------------------/
-------             ----------
| app |--read()---> | socket |
-------             ----------
                        |
   <--------------------/

This way I can get much higher throughput than with algif_skcipher.
Regards,
Tadeusz

  parent reply	other threads:[~2014-11-07 19:50 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-06 19:59 [PATCH RFC 0/4] crypto: qat - Add userspace access to QAT services Tadeusz Struk
2014-11-06 19:59 ` [PATCH RFC 1/4] crytpo: qat - Fix 64 bytes requests Tadeusz Struk
2014-11-06 19:59 ` [PATCH RFC 2/4] crypto: qat - Add PKE firmware Tadeusz Struk
2014-11-06 19:59 ` [PATCH RFC 3/4] crypto: qat - Add userspace instances Tadeusz Struk
2014-11-06 19:59 ` [PATCH RFC 4/4] crypto: qat - Add new algif interface for userspace Tadeusz Struk
2014-11-07  2:56   ` Herbert Xu
2014-11-07  3:43     ` Tadeusz Struk
2014-11-07  4:05       ` Herbert Xu
2014-11-07  5:24         ` Tadeusz Struk
2014-11-07  5:31           ` Herbert Xu
2014-11-07 18:53             ` Tadeusz Struk
2014-11-07 19:48             ` Tadeusz Struk [this message]
2014-11-14  1:19               ` Herbert Xu
2014-11-14  1:25                 ` Tadeusz Struk
2014-11-14  1:29                   ` Herbert Xu

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=545D2200.2020107@intel.com \
    --to=tadeusz.struk@intel.com \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=qat-linux@intel.com \
    /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.