[dpdk-dev] [PATCH] vhost: add API for getting last_idx of vrings

Maxime Coquelin maxime.coquelin at redhat.com
Thu Apr 19 16:57:46 CEST 2018


Hi Tomasz,

On 03/28/2018 11:31 AM, Kulasek, TomaszX wrote:
> 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.

Do you plan to send v2 for v18.02?
It can still make it to -rc2 if you post it early next week.

Thanks,
Maxime

> Tomasz
> 


More information about the dev mailing list