[dpdk-dev] [PATCH v3] vhost: make iotlb cache name unique among multi processes

Maxime Coquelin maxime.coquelin at redhat.com
Thu Apr 9 16:25:55 CEST 2020



On 3/12/20 12:19 AM, Itsuro Oda wrote:
> Currently, iotlb cache name is comprised of vid and virtqueue
> index. For example, "iotlb_cache_0_0". Because vid is assigned
> per process, iotlb cache name is not unique among multi processes.
> For example a secondary process uses a vhost
> (ex. eth_vhost0,iface=/tmp/sock0) and another secondary process
> uses a vhost (ex. eth_vhost1,iface=/tmp/sock1), iotlb cache
> name of both vhost ("iotlb_cache_0_0") are same and as a result
> iotlb cache is broken.
> 
> This patch makes iotlb cache name unique among milti processes
> by adding process id to the iotlb cache name.
> 
> The prefix of the name is shortend to "iotlb_" since the maximum
> length of pool name is 25 bytes (RTE_MEMPOOL_NAMESIZE is 26).
> Note that it is just 25 characters in maximum at the moment.
> Here,
> * pid_t == int: max 10 digits.
> * vid < MAX_VHOST_DECICE(1024): max 4 digits.
> * vq_index < VHOST_MAX_VRING(256): max 3 digits.
> 
> Fixes: d012d1f293f4 (vhost: add IOTLB helper functions)
> Cc: stable at dpdk.org
> 
> Signed-off-by: Itsuro Oda <oda at valinux.co.jp>
> ---
> v3:
> * change format.
> * fix commit message.
> 
> v2:
> * use the process id to make the iotlb cache name unique.
> 
>  lib/librte_vhost/iotlb.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 


Reviewed-by: Maxime Coquelin <maxime.coquelin at redhat.com>

Thanks,
Maxime



More information about the dev mailing list