[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <33183CC9F5247A488A2544077AF19020DA14A720@DGGEMA505-MBX.china.huawei.com>
Date: Tue, 29 Nov 2016 06:47:52 +0000
From: "Gonglei (Arei)" <arei.gonglei@...wei.com>
To: "Gonglei (Arei)" <arei.gonglei@...wei.com>,
"Michael S. Tsirkin" <mst@...hat.com>,
Stefan Hajnoczi <stefanha@...hat.com>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"qemu-devel@...gnu.org" <qemu-devel@...gnu.org>,
"virtio-dev@...ts.oasis-open.org" <virtio-dev@...ts.oasis-open.org>,
"virtualization@...ts.linux-foundation.org"
<virtualization@...ts.linux-foundation.org>,
"linux-crypto@...r.kernel.org" <linux-crypto@...r.kernel.org>,
Luonengjun <luonengjun@...wei.com>,
"Huangweidong (C)" <weidong.huang@...wei.com>,
"Wubin (H)" <wu.wubin@...wei.com>,
"xin.zeng@...el.com" <xin.zeng@...el.com>,
"Claudio Fontana" <Claudio.Fontana@...wei.com>,
"herbert@...dor.apana.org.au" <herbert@...dor.apana.org.au>,
"pasic@...ux.vnet.ibm.com" <pasic@...ux.vnet.ibm.com>,
"davem@...emloft.net" <davem@...emloft.net>,
"Zhoujian (jay, Euler)" <jianjay.zhou@...wei.com>,
"Hanweidong (Randy)" <hanweidong@...wei.com>,
"arei.gonglei@...mail.com" <arei.gonglei@...mail.com>,
"cornelia.huck@...ibm.com" <cornelia.huck@...ibm.com>,
"Xuquan (Quan Xu)" <xuquan8@...wei.com>,
longpeng <longpeng2@...wei.com>,
"salvatore.benedetto@...el.com" <salvatore.benedetto@...el.com>
Subject: RE: [PATCH v3] crypto: add virtio-crypto driver
>
> > > > +
> > > > +/* Note: kernel crypto API realization */
> > > > +static int virtio_crypto_ablkcipher_setkey(struct crypto_ablkcipher *tfm,
> > > > + const uint8_t *key,
> > > > + unsigned int keylen)
> > > > +{
> > > > + struct virtio_crypto_ablkcipher_ctx *ctx =
> > crypto_ablkcipher_ctx(tfm);
> > > > + int ret;
> > > > +
> > > > + spin_lock(&ctx->lock);
> > > > +
> > > > + if (!ctx->vcrypto) {
> > > > + /* New key */
> > > > + int node = virtio_crypto_get_current_node();
> > > > + struct virtio_crypto *vcrypto =
> > > > + virtcrypto_get_dev_node(node);
> > > > + if (!vcrypto) {
> > > > + vcrypto = virtcrypto_devmgr_get_first();
> >
> > Is this the standard way to do this? How does this work with
> > multiple crypto devices (e.g. with different capabilities)?
> >
> Actually there is a simple schedule algorithms in virtcrypto_get_dev_node(),
> which return the device used fewest on the node.
>
> If we don't find a device in the node, select the first on as default.
> But I forgot to check the first devices whether the device has started here.
>
Oh, the virtcrypto_get_dev_node() had done this work, the calling of
virtcrypto_devmgr_get_first() here is superfluous. Will remove it.
Regards,
-Gonglei
Powered by blists - more mailing lists