RE: [Qemu-devel] [PATCH v7 1/1] crypto: add virtio-crypto driver
From: Gonglei (Arei)
Date: Wed Dec 14 2016 - 20:09:28 EST
Regards,
-Gonglei
> -----Original Message-----
> From: Zeng, Xin [mailto:xin.zeng@xxxxxxxxx]
> Sent: Thursday, December 15, 2016 8:59 AM
> To: Gonglei (Arei); Halil Pasic; linux-kernel@xxxxxxxxxxxxxxx;
> qemu-devel@xxxxxxxxxx; virtio-dev@xxxxxxxxxxxxxxxxxxxx;
> virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx; linux-crypto@xxxxxxxxxxxxxxx
> Cc: Huangweidong (C); Claudio Fontana; mst@xxxxxxxxxx; Luonengjun;
> Hanweidong (Randy); Xuquan (Quan Xu); Wanzongshun (Vincent);
> stefanha@xxxxxxxxxx; Zhoujian (jay, Euler); cornelia.huck@xxxxxxxxxx;
> longpeng; arei.gonglei@xxxxxxxxxxx; davem@xxxxxxxxxxxxx; Wubin (H);
> herbert@xxxxxxxxxxxxxxxxxxx
> Subject: RE: [Qemu-devel] [PATCH v7 1/1] crypto: add virtio-crypto driver
>
> On Thursday, December 15, 2016 8:45 AM, Gonglei (Arei) Wrote:
> < > > diff --git a/drivers/crypto/virtio/virtio_crypto_core.c
> < > b/drivers/crypto/virtio/virtio_crypto_core.c
> < > > new file mode 100644
> < > > index 0000000..c0854a1
> < > > --- /dev/null
> < > > +++ b/drivers/crypto/virtio/virtio_crypto_core.c
> < > > @@ -0,0 +1,474 @@
> < > [..]
> < > > +
> < > > +static void virtcrypto_dataq_callback(struct virtqueue *vq)
> < > > +{
> < > > + struct virtio_crypto *vcrypto = vq->vdev->priv;
> < > > + struct virtio_crypto_request *vc_req;
> < > > + unsigned long flags;
> < > > + unsigned int len;
> < > > + struct ablkcipher_request *ablk_req;
> < > > + int error;
> < > > +
> < > > + spin_lock_irqsave(&vcrypto->lock, flags);
> < >
> < > Would it make sense to use a per virtqueue lock
> < > like in virtio_blk for example instead of locking on the whole
> < > device? OK, it seems you use only one dataqueue, so it
> < > may not be that relevant.
> < >
> < Currently yes, both the backend device (cryptodev-backend-builtin)
> < and the frontend driver use one dataqueue.
> <
>
> I think it makes sense to use per virtqueue lock here though it only uses one
> queue so far,
> but in the spec we already have multi queues support.
>
Yes, I agree. Will do that in V8 soon.
Hope to catch up with Michael's pull request for 4.10.
Regards,
-Gonglei