[dpdk-dev] [PATCH] vhost: add API for getting last_idx of vrings
Kulasek, TomaszX
tomaszx.kulasek at intel.com
Wed Mar 28 11:31:00 CEST 2018
Hi Maxime,
> -----Original Message-----
> From: Maxime Coquelin [mailto:maxime.coquelin at redhat.com]
> Sent: Wednesday, March 28, 2018 10:57
> To: Kulasek, TomaszX <tomaszx.kulasek at intel.com>; yliu at fridaylinux.org
> Cc: Verkamp, Daniel <daniel.verkamp at intel.com>; Harris, James R
> <james.r.harris at intel.com>; Wodkowski, PawelX <pawelx.wodkowski at intel.com>;
> dev at dpdk.org; Stojaczyk, DariuszX <dariuszx.stojaczyk at intel.com>
> Subject: Re: [dpdk-dev] [PATCH] vhost: add API for getting last_idx of vrings
>
> Hi Tomasz,
>
> On 03/05/2018 04:59 PM, Tomasz Kulasek wrote:
> > vhost-net devices might keep track of last descriptors indices by
> > themselves, and assuming they initially start at 0, but that is not the
> > case for vhost-scsi. Initial last descriptor indices are set via
> > VHOST_USER_SET_VRING_BASE message, and we cannot possibly predict what
> > will they be. Setting these to vqueue->used->idx is also not an option,
> > because there might be some yet unprocessed requests between these and
> > the actual last_idx. This patch adds API for getting/setting last
> > descriptor indices of vrings, so that they can be synchronized between
> > user-device and rte_vhost.
> >
> > The last_idx flow could be as following:
> >
> > * vhost start,
> > * received SET_VRING_BASE msg, last_idx is set on rte_vhost side,
> > * created user-device, last_idx pulled from rte_vhost,
> > * requests are being processed by user-device, last_idx changes,
> > * destroyed user-device, last_idx pushed to rte_vhost,
> > * at this point, vrings could be recreated and another SET_VRING_BASE
> > message could arrive, so last_idx would be set
> > * recreated user-device, last_idx pulled from rte_vhost.
> >
> >
> > Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk at intel.com>
> > Signed-off-by: Tomasz Kulasek <tomaszx.kulasek at intel.com>
> > ---
> > lib/librte_vhost/rte_vhost.h | 24 ++++++++++++++++++++++++
> > lib/librte_vhost/vhost.c | 27 +++++++++++++++++++++++++++
> > 2 files changed, 51 insertions(+)
> >
>
> I agree with the patch, but it is missing the declaration of the new API
> in rte_vhost_version.map.
>
> Thanks,
> Maxime
Yes, I will send v2.
Tomasz
More information about the dev
mailing list