Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934585AbcLOBJV convert rfc822-to-8bit (ORCPT ); Wed, 14 Dec 2016 20:09:21 -0500 Received: from szxga01-in.huawei.com ([45.249.212.187]:2321 "EHLO dggrg01-dlp.huawei.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752944AbcLOBJT (ORCPT ); Wed, 14 Dec 2016 20:09:19 -0500 From: "Gonglei (Arei)" To: "Zeng, Xin" , Halil Pasic , "linux-kernel@vger.kernel.org" , "qemu-devel@nongnu.org" , "virtio-dev@lists.oasis-open.org" , "virtualization@lists.linux-foundation.org" , "linux-crypto@vger.kernel.org" CC: "Huangweidong (C)" , Claudio Fontana , "mst@redhat.com" , Luonengjun , "Hanweidong (Randy)" , "Xuquan (Quan Xu)" , "Wanzongshun (Vincent)" , "stefanha@redhat.com" , "Zhoujian (jay, Euler)" , "cornelia.huck@de.ibm.com" , longpeng , "arei.gonglei@hotmail.com" , "davem@davemloft.net" , "Wubin (H)" , "herbert@gondor.apana.org.au" Subject: RE: [Qemu-devel] [PATCH v7 1/1] crypto: add virtio-crypto driver Thread-Topic: [Qemu-devel] [PATCH v7 1/1] crypto: add virtio-crypto driver Thread-Index: AQHSVgBfNG80gdQzpE2MFBOShpv6DqEHDiOAgAEeUkD//35bgIAAh8qg Date: Thu, 15 Dec 2016 01:08:51 +0000 Message-ID: <33183CC9F5247A488A2544077AF19020DA16320F@DGGEMA505-MBX.china.huawei.com> References: <1481716249-185392-1-git-send-email-arei.gonglei@huawei.com> <1481716249-185392-2-git-send-email-arei.gonglei@huawei.com> <33183CC9F5247A488A2544077AF19020DA163033@DGGEMA505-MBX.china.huawei.com> <82063967A54EF84C8AFCD6BD7F6AD93310C14374@SHSMSX103.ccr.corp.intel.com> In-Reply-To: <82063967A54EF84C8AFCD6BD7F6AD93310C14374@SHSMSX103.ccr.corp.intel.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.177.18.62] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090201.5851ED32.0254,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=169.254.1.226, so=2014-11-16 11:51:01, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 9538591cffae716cc99f75dcfe8f2d6d Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2085 Lines: 60 Regards, -Gonglei > -----Original Message----- > From: Zeng, Xin [mailto:xin.zeng@intel.com] > Sent: Thursday, December 15, 2016 8:59 AM > To: Gonglei (Arei); Halil Pasic; linux-kernel@vger.kernel.org; > qemu-devel@nongnu.org; virtio-dev@lists.oasis-open.org; > virtualization@lists.linux-foundation.org; linux-crypto@vger.kernel.org > Cc: Huangweidong (C); Claudio Fontana; mst@redhat.com; Luonengjun; > Hanweidong (Randy); Xuquan (Quan Xu); Wanzongshun (Vincent); > stefanha@redhat.com; Zhoujian (jay, Euler); cornelia.huck@de.ibm.com; > longpeng; arei.gonglei@hotmail.com; davem@davemloft.net; Wubin (H); > herbert@gondor.apana.org.au > 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