From: "Loc Ho" <lho@apm.com>
To: "'Miloslav Trmac'" <mitr@redhat.com>,
"'Neil Horman'" <nhorman@redhat.com>
Cc: "'Neil Horman'" <nhorman@tuxdriver.com>,
"'Herbert Xu'" <herbert@gondor.hengli.com.au>,
"'Nikos Mavrogiannopoulos'" <n.mavrogiannopoulos@gmail.com>,
<linux-crypto@vger.kernel.org>, "'Linda Wang'" <lwang@redhat.com>,
"'Steve Grubb'" <sgrubb@redhat.com>
Subject: RE: [PATCH 0/4] RFC: "New" /dev/crypto user-space interface
Date: Tue, 10 Aug 2010 11:12:59 -0700 [thread overview]
Message-ID: <026401cb38b7$ab6402e0$022c08a0$@com> (raw)
In-Reply-To: <1588375167.142801281459463292.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=UTF-8, Size: 2883 bytes --]
Hi Miloslav,
I had read or glance over the patch from " http://people.redhat.com/mitr/cryptodev-ncr/0002". We have post a version of the CryptoDev over a year ago. Unfortunately, we did not got a chance to pick up again. In that process, Herbert Xu provides a number of comments. You can search the mailing list for that. Here are my comment based on experience with hardware crypto:
1. This CrytoDev (user space) interface needs to support multiple operations at once
2. This CrytoDev interface needs to support async
3. This CryotDev interface needs to support large data operation such as an entire file
4. Zero crypto (already see this in your version)
5. Avoid a lot of little kmalloc for various small structures (This once is from Herbert Xu.)
6. This interface needs to work with OpenSSL which allow OpenSwan to work
Reason for item above:
Item #1. Multiple operations - This needs to take advance of the hardware offload. If you only submit one operation at a time, the latency of the software/hardware will be a problem. By allow submitting multiple operations, you fill up the hardware buffer and keep in running. Otherwise, it just be idle a majority of the time and the difference between SW vs HW is nill.
Item #2. Asnc - You can argue that you can open multiple /dev/crypto session and submit them. But this does not work for the same session and for HW base crypto. Having an async interface has the benefit to the user space application developer as they can use the same async programming interface as with other I/O operations.
Item #3. Large file support - Most hardware algorithms can't support this as the operation cannot be continue. Not sure how to handle this.
Item #4. Right now you are pining the entire buffer. For small buffer, this may not make sense. We have not got a chance to see if what is the limit for this.
Item #5. Herbert Xu mentioned that we should avoid having a lot of small kmalloc when possible.
Item #6. You should give OpenSSL a patach and see how it works out. Although, OpenSSL does not take advantage of batch submission. Again, to really take advantage of the HW, you really need to support batch operation.
For all other comments, search for previous /dev/cryptodev submission and you will find a bunch of argue on this "user space crypto API".
-Loc
CONFIDENTIALITY NOTICE: This e-mail message, including any attachments,
is for the sole use of the intended recipient(s) and contains information
that is confidential and proprietary to AppliedMicro Corporation or its subsidiaries.
It is to be used solely for the purpose of furthering the parties' business relationship.
All unauthorized review, use, disclosure or distribution is prohibited.
If you are not the intended recipient, please contact the sender by reply e-mail
and destroy all copies of the original message.
next prev parent reply other threads:[~2010-08-10 18:21 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1036252728.135401281454634072.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com>
2010-08-10 15:40 ` [PATCH 0/4] RFC: "New" /dev/crypto user-space interface Miloslav Trmac
2010-08-10 16:40 ` Neil Horman
2010-08-10 16:57 ` Miloslav Trmac
2010-08-10 17:57 ` Neil Horman
2010-08-10 18:14 ` Steve Grubb
2010-08-10 18:45 ` Neil Horman
2010-08-10 19:10 ` Steve Grubb
2010-08-10 19:17 ` Neil Horman
2010-08-10 20:08 ` Steve Grubb
2010-08-10 18:19 ` Miloslav Trmac
2010-08-10 18:34 ` Herbert Xu
2010-08-10 18:36 ` Miloslav Trmac
2010-08-10 19:10 ` Neil Horman
2010-08-10 19:37 ` Miloslav Trmac
2010-08-10 18:12 ` Loc Ho [this message]
[not found] <1488103333.203081281527737237.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com>
2010-08-11 12:09 ` Miloslav Trmac
[not found] <2115846701.201281281525518833.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com>
2010-08-11 11:31 ` Miloslav Trmac
[not found] <227903841.184591281491835434.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com>
2010-08-11 2:06 ` Miloslav Trmac
2010-08-11 11:46 ` Neil Horman
[not found] <897762024.164521281469254847.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com>
2010-08-10 19:44 ` Miloslav Trmac
[not found] <1649376471.162481281467800176.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com>
2010-08-10 19:18 ` Miloslav Trmac
[not found] <1250838696.160111281466456373.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com>
2010-08-10 18:58 ` Miloslav Trmac
2010-08-10 19:37 ` Neil Horman
[not found] <15765372.157161281465237985.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com>
2010-08-10 18:34 ` Miloslav Trmac
2010-08-10 18:39 ` Loc Ho
[not found] <801204854.134521281454377550.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com>
2010-08-10 15:36 ` Miloslav Trmac
2010-08-10 16:17 ` Neil Horman
2010-08-05 20:17 Miloslav Trmač
2010-08-06 0:25 ` Neil Horman
2010-08-07 0:54 ` Miloslav Trmac
2010-08-09 14:39 ` Herbert Xu
2010-08-10 0:00 ` Miloslav Trmac
2010-08-10 12:46 ` Neil Horman
2010-08-10 13:24 ` Steve Grubb
2010-08-10 14:37 ` Neil Horman
2010-08-10 14:47 ` Miloslav Trmac
2010-08-10 14:51 ` Neil Horman
2010-08-11 6:50 ` Linus Walleij
2010-08-11 23:10 ` Nikos Mavrogiannopoulos
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='026401cb38b7$ab6402e0$022c08a0$@com' \
--to=lho@apm.com \
--cc=herbert@gondor.hengli.com.au \
--cc=linux-crypto@vger.kernel.org \
--cc=lwang@redhat.com \
--cc=mitr@redhat.com \
--cc=n.mavrogiannopoulos@gmail.com \
--cc=nhorman@redhat.com \
--cc=nhorman@tuxdriver.com \
--cc=sgrubb@redhat.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.