From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
To: Gilad Ben-Yossef <gilad@benyossef.com>
Cc: Stephan Mueller <smueller@chronox.de>,
Harsh Jain <harsh@chelsio.com>,
Herbert Xu <herbert@gondor.apana.org.au>,
Linux Crypto Mailing List <linux-crypto@vger.kernel.org>,
<linuxarm@huawei.com>
Subject: Re: [PATCH] crypto: AF_ALG AIO - lock context IV
Date: Thu, 1 Feb 2018 10:25:19 +0000 [thread overview]
Message-ID: <20180201102519.000044c1@huawei.com> (raw)
In-Reply-To: <CAOtvUMe8gqBJtFjkO-Jssw1Q32GdR0oZNPRitt81skKO2f_+yg@mail.gmail.com>
On Thu, 1 Feb 2018 12:07:21 +0200
Gilad Ben-Yossef <gilad@benyossef.com> wrote:
> On Thu, Feb 1, 2018 at 12:04 PM, Stephan Mueller <smueller@chronox.de> wrote:
> > Am Donnerstag, 1. Februar 2018, 10:35:07 CET schrieb Gilad Ben-Yossef:
> >
> > Hi Gilad,
> >
> >> >
> >> > Which works well for the sort of optimization I did and for hardware that
> >> > can do iv dependency tracking itself. If hardware dependency tracking was
> >> > avilable, you would be able to queue up requests with a chained IV
> >> > without taking any special precautions at all. The hardware would
> >> > handle the IV update dependencies.
> >> >
> >> > So in conclusion, Stephan's approach should work and give us a nice
> >> > small patch suitable for stable inclusion.
> >> >
> >> > However, if people know that their setup overhead can be put in parallel
> >> > with previous requests (even when the IV is not yet updated) then they
> >> > will
> >> > probably want to do something inside their own driver and set the flag
> >> > that Stephan is proposing adding to bypass the mutex approach.
> >>
> >> The patches from Stephan looks good to me, but I think we can do better
> >> for the long term approach you are discussing.
> >
> > What you made me think of is the following: shouldn't we relay the inline IV
> > flag on to the crypto drivers?
> >
> > The reason is to allow a clean implementation of the enabling or disabling of
> > the dependency handling in the driver. Jonathan's driver, for example, decides
> > based on the pointer value of the IV buffer whether it is the same buffer and
> > thus dependency handling is to be applied. This is fragile.
I agree it's inelegant and a flag would be better than pointer tricks (though
they are safe currently - we never know what might change in future)
It was really a minimal example rather than a suggestion of the ultimate
solution ;) I was planning on suggesting a flag myself once the basic
discussion concluded the approach was worthwhile.
> >
> > As AF_ALG knows whether the inline IV with separate IVs per request or the
> > serialization with one IV buffer for all requests is requested, it should
> > relay this state on to the drivers. Thus, for example, Jonathan's driver can
> > be changed to rely on this flag instead on the buffer pointer value to decide
> > whether to enable its dependency handling.
>
> Yes, that is exactly what I was trying to point out :-)
Agreed - make things explicit rather than basically relying on knowing how
the above layers are working.
Thanks,
Jonathan
next prev parent reply other threads:[~2018-02-01 10:25 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-12 13:21 [RFC] AF_ALG AIO and IV Stephan Mueller
2018-01-15 9:35 ` [PATCH] crypto: AF_ALG - inline IV support Stephan Mueller
2018-01-21 12:14 ` Stephan Müller
2018-01-23 11:02 ` Harsh Jain
2018-01-30 8:27 ` [PATCH] crypto: AF_ALG AIO - lock context IV Stephan Müller
2018-01-30 14:04 ` Stephan Mueller
2018-01-30 15:51 ` Jonathan Cameron
2018-01-31 12:29 ` Jonathan Cameron
2018-02-01 9:35 ` Gilad Ben-Yossef
2018-02-01 9:46 ` Stephan Mueller
2018-02-01 10:06 ` Gilad Ben-Yossef
2018-02-01 10:15 ` Stephan Mueller
2018-02-01 10:04 ` Stephan Mueller
2018-02-01 10:07 ` Gilad Ben-Yossef
2018-02-01 10:25 ` Jonathan Cameron [this message]
2018-02-01 10:55 ` Harsh Jain
2018-02-07 7:42 ` [PATCH v2 0/4] crypto: AF_ALG AIO improvements Stephan Müller
2018-02-07 7:43 ` [PATCH v2 1/4] crypto: AF_ALG AIO - lock context IV Stephan Müller
2018-02-07 7:43 ` [PATCH v2 2/4] crypto: AF_ALG - inline IV support Stephan Müller
2018-02-07 13:54 ` Jonathan Cameron
2018-02-07 14:01 ` Stephan Müller
2018-02-07 7:43 ` [PATCH v2 3/4] crypto: AF_ALG - allow driver to serialize IV access Stephan Müller
2018-02-07 7:44 ` [PATCH v2 4/4] crypto: add CRYPTO_TFM_REQ_PARALLEL flag Stephan Müller
2018-02-07 12:48 ` Stephan Mueller
2018-02-07 15:39 ` Jonathan Cameron
2018-02-07 15:43 ` Stephan Mueller
2018-02-07 16:14 ` Jonathan Cameron
2018-02-07 16:25 ` Stephan Mueller
2018-02-07 8:52 ` [PATCH v2 0/4] crypto: AF_ALG AIO improvements Harsh Jain
2018-02-07 15:37 ` Jonathan Cameron
2018-02-09 22:02 ` [PATCH v3 " Stephan Müller
2018-02-09 22:03 ` [PATCH v3 1/4] crypto: AF_ALG AIO - lock context IV Stephan Müller
2018-02-14 5:43 ` Harsh Jain
2018-02-14 12:52 ` Stephan Mueller
2018-02-15 5:30 ` Harsh Jain
2018-02-15 6:28 ` Stephan Mueller
2018-02-15 7:03 ` Harsh Jain
2018-02-15 7:17 ` Stephan Mueller
2018-02-15 11:38 ` Harsh Jain
2018-02-15 11:45 ` Stephan Mueller
2018-02-15 12:45 ` Harsh Jain
2018-02-15 13:04 ` Stephan Mueller
2018-02-15 13:26 ` Jeffrey Walton
2018-02-15 18:09 ` Stephan Mueller
2018-02-09 22:03 ` [PATCH v3 2/4] crypto: AF_ALG - inline IV support Stephan Müller
2018-02-09 22:04 ` [PATCH v3 3/4] crypto: AF_ALG - allow driver to serialize IV access Stephan Müller
2018-02-09 22:04 ` [PATCH v3 4/4] crypto: add CRYPTO_TFM_REQ_IV_SERIALIZE flag Stephan Müller
2018-02-14 5:50 ` Harsh Jain
2018-02-14 12:47 ` Stephan Mueller
2018-01-22 14:11 ` [PATCH] crypto: AF_ALG - inline IV support Jonathan Cameron
2018-01-22 14:30 ` Stephan Mueller
2018-01-22 14:52 ` Jonathan Cameron
2018-01-15 9:39 ` [RFC] AF_ALG AIO and IV Stephan Mueller
2018-01-15 11:05 ` Jonathan Cameron
2018-01-15 12:07 ` Stephan Mueller
2018-01-15 12:59 ` Jonathan Cameron
2018-01-15 13:15 ` Stephan Mueller
2018-01-15 14:25 ` Jonathan Cameron
2018-01-15 14:31 ` Stephan Mueller
2018-01-15 14:42 ` Jonathan Cameron
2018-01-16 6:28 ` Stephan Mueller
2018-01-16 10:51 ` Jonathan Cameron
2018-01-15 14:37 ` Jonathan Cameron
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=20180201102519.000044c1@huawei.com \
--to=jonathan.cameron@huawei.com \
--cc=gilad@benyossef.com \
--cc=harsh@chelsio.com \
--cc=herbert@gondor.apana.org.au \
--cc=linux-crypto@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=smueller@chronox.de \
/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.