Re: [PATCH] vhost: add API for getting last_idx of vrings
From: Thomas Monjalon <hidden>
Date: 2018-07-26 15:43:50
What is the status of this patch? 19/04/2018 16:57, Maxime Coquelin:
Hi Tomasz, On 03/28/2018 11:31 AM, Kulasek, TomaszX wrote:quoted
Hi Maxime,quoted
-----Original Message----- From: Maxime Coquelin [mailto:maxime.coquelin@redhat.com] Sent: Wednesday, March 28, 2018 10:57 To: Kulasek, TomaszX <redacted>; yliu@fridaylinux.org Cc: Verkamp, Daniel <redacted>; Harris, James R [off-list ref]; Wodkowski, PawelX [off-list ref]; dev@dpdk.org; Stojaczyk, DariuszX [off-list ref] 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:quoted
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 <redacted> Signed-off-by: Tomasz Kulasek <redacted> --- 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, MaximeYes, 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, Maximequoted
Tomasz