[SPDK] Re: About single virtio-blk device performance

Walker, Benjamin <benjamin.walker at intel.com> Tue, 18 Oct 2022 17:08:39 +0000
Newsgroups dev.linux.lists.spdk
Message-ID <BYAPR11MB2824F0BA2860068F2914BD74EF289@BYAPR11MB2824.namprd11.prod.outlook.com>
--===============1552682445416149515==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

The SPDK vhost target only supports one thread per device because virtio-sc=
si requires shared state between queues (it's the scsi part at fault), so i=
n order to use multiple queues they'd need to take locks and that's less ef=
ficient than just running it all on one thread. The virtio-blk part really =
could take advantage of multiple virtqueues and fan out, but since it's lum=
ped together with virtio-scsi that makes it quite difficult.

I think, in hindsight, we likely should not have grouped virtio-scsi in wit=
h virtio-blk, and instead made a virtio-blk target separate from a virtio-s=
csi target, both of which had vhost transports.

Thanks,
Ben

> -----Original Message-----
> From: Rui Chang <Rui.Chang(a)arm.com>
> Sent: Friday, October 14, 2022 12:55 AM
> To: Storage Performance Development Kit <spdk(a)lists.01.org>
> Subject: [SPDK] Re: About single virtio-blk device performance
> =

> An interesting topic. Personally, I think we should not assume people are
> using SPDK vhost with VMs that only have very few cores. If the core numb=
er
> is a little bit larger, it could easily saturate vhost which only have on=
e core.
> Further, since we support multiple VMs to connect one vhost controller, if
> the VM count is 4, 8, or more, it could also saturate one vhost controller
> easily. Isn't it?
> =

> Regards,
> Rui
> =

> -----Original Message-----
> From: Liu, Changpeng <changpeng.liu(a)intel.com>
> Sent: Friday, October 14, 2022 3:03 PM
> To: Storage Performance Development Kit <spdk(a)lists.01.org>
> Subject: [SPDK] Re: About single virtio-blk device performance
> =

> From my own perspective, I don't like the idea to poll vrings from differ=
ent
> cores for one virtio device, I don't see benefits when supporting multiple
> VMs with limited number of cores, this is a very rare test case for SPDK =
vhost.
> =

> > -----Original Message-----
> > From: Bin Yang <bin.yang(a)jaguarmicro.com>
> > Sent: Friday, October 14, 2022 11:19 AM
> > To: Storage Performance Development Kit <spdk(a)lists.01.org>
> > Subject: [SPDK] =E5=9B=9E=E5=A4=8D: About single virtio-blk device perf=
ormance
> >
> > Hi Changpeng:
> > =E2=80=82=E2=80=82=E2=80=82=E2=80=82=E2=80=82 Thanks for your reply!
> > =E2=80=82=E2=80=82=E2=80=82=E2=80=82=E2=80=82 Will community accept the=
 commits as using multiple cores for a
> > virtio-blk device?
> > =E2=80=82=E2=80=82=E2=80=82=E2=80=82=E2=80=82=E2=80=82If not,  what are=
 the main concerns?
> >
> > ________________________________
> > =E5=8F=91=E4=BB=B6=E4=BA=BA: Liu, Changpeng <changpeng.liu(a)intel.com>
> > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2022=E5=B9=B410=E6=9C=8813=E6=97=
=A5 15:16
> > =E6=94=B6=E4=BB=B6=E4=BA=BA: Storage Performance Development Kit <spdk(=
a)lists.01.org>
> > =E4=B8=BB=E9=A2=98: [SPDK] Re: About single virtio-blk device performan=
ce
> >
> > Hi Bin Yang,
> >
> > I think that's the only benefit by using multiple cores for a
> > virtio-blk device, if your tests case is for a VM, Actually you can
> > add multiple devices to this VM.
> >
> >
> > > -----Original Message-----
> > > From: Bin Yang <bin.yang(a)jaguarmicro.com>
> > > Sent: Wednesday, October 12, 2022 3:02 PM
> > > To: spdk(a)lists.01.org
> > > Subject: [SPDK] About single virtio-blk device performance
> > >
> > > Hello, Everyone!
> > >
> > >     For spdk vhost_blk=EF=BC=8Ccan we distribute multi queues request=
s in
> > > different cpu to improve single virtio-blk device performance?
> > > for example=EF=BC=8Ccreate request poller for each queue and distribu=
te the
> > > pollers in different threads.  Does this feasible=EF=BC=9F
> > >
> > > Thanks!
> > > _______________________________________________
> > > SPDK mailing list -- spdk(a)lists.01.org To unsubscribe send an email
> > > to spdk-leave(a)lists.01.org
> > _______________________________________________
> > SPDK mailing list -- spdk(a)lists.01.org To unsubscribe send an email to
> > spdk-leave(a)lists.01.org
> > _______________________________________________
> > SPDK mailing list -- spdk(a)lists.01.org To unsubscribe send an email to
> > spdk-leave(a)lists.01.org
> _______________________________________________
> SPDK mailing list -- spdk(a)lists.01.org
> To unsubscribe send an email to spdk-leave(a)lists.01.org IMPORTANT
> NOTICE: The contents of this email and any attachments are confidential a=
nd
> may also be privileged. If you are not the intended recipient, please not=
ify
> the sender immediately and do not disclose the contents to any other
> person, use it for any purpose, or store or copy the information in any
> medium. Thank you.
> _______________________________________________
> SPDK mailing list -- spdk(a)lists.01.org
> To unsubscribe send an email to spdk-leave(a)lists.01.org

--===============1552682445416149515==--