[PATCH v4 1/1] vhost: integrate dmadev in asynchronous data-path

Maxime Coquelin maxime.coquelin at redhat.com
Thu Feb 10 22:00:23 CET 2022


Hi Ferruh,

On 2/10/22 21:56, Ferruh Yigit wrote:
> On 2/9/2022 12:51 PM, Jiayu Hu wrote:
>> Since dmadev is introduced in 21.11, to avoid the overhead of vhost DMA
>> abstraction layer and simplify application logics, this patch integrates
>> dmadev in asynchronous data path.
>>
>> Signed-off-by: Jiayu Hu<jiayu.hu at intel.com>
>> Signed-off-by: Sunil Pai G<sunil.pai.g at intel.com>
> 
> Patch gives a build error with './devtools/test-meson-builds.sh' [1],
> for the minimum build test [2].

Sorry, I didn't run this script, and so didn't faced this issue.

> This seems because new header file (rte_vhost_async.h) included by
> 'buildtools/chkincs' and it is missing depended includes.
> 
> 
> Fixed in next-net by adding the includes [3],
> please confirm latest patch in next-net:
> 

I agree with the changes you suggest.

Thanks,
Maxime

> 
> 
> 
> [1]
>         19 In file included from 
> buildtools/chkincs/chkincs.p/rte_vhost_async.c:1:
>         18 
> /opt/dpdk_maintain/self/dpdk/lib/vhost/rte_vhost_async.h:18:19: error: 
> expected ‘;’ before ‘int’
>         17    18 | __rte_experimental
>         16       |                   ^
>         15       |                   ;
>         14    19 | int rte_vhost_async_channel_register(int vid, 
> uint16_t queue_id);
>         13       | ~~~
>         12 
> /opt/dpdk_maintain/self/dpdk/lib/vhost/rte_vhost_async.h:19:47: error: 
> unknown type name ‘uint16_t’
>         11    19 | int rte_vhost_async_channel_register(int vid, 
> uint16_t queue_id);
>         10       |                                               ^~~~~~~~
>         9 /opt/dpdk_maintain/self/dpdk/lib/vhost/rte_vhost_async.h:1:1: 
> note: ‘uint16_t’ is defined in header ‘<stdint.h>’; did you forget to 
> ‘#include <stdint.h>’?
>         8   +++ |+#include <stdint.h>
>         7     1 | /* SPDX-License-Identifier: BSD-3-Clause
>         6 
> /opt/dpdk_maintain/self/dpdk/lib/vhost/rte_vhost_async.h:31:19: error: 
> expected ‘;’ before ‘int’
>         5    31 | __rte_experimental
>         4       |                   ^
>         3       |                   ;
>         2    32 | int rte_vhost_async_channel_unregister(int vid, 
> uint16_t queue_id);
>         1       | ~~~
> 
>         37 In file included from 
> buildtools/chkincs/chkincs.p/rte_vhost_async.c:1:
>         36 
> /opt/dpdk_maintain/self/dpdk/lib/vhost/rte_vhost_async.h:95:24: error: 
> ‘struct rte_mbuf’ declared inside parameter list will not be visible 
> outside of this definition or declaration [-Werror]
>         35    95 |                 struct rte_mbuf **pkts, uint16_t 
> count, int16_t dma_id,
>         34       |
> 
> [2]
> meson  -Dexamples=all --buildtype=debugoptimized --werror 
> --default-library=shared -Ddisable_libs=*
> -Denable_drivers=bus/vdev,mempool/ring,net/null 
> /opt/dpdk_maintain/self/dpdk/devtools/.. ./build-mini
> 
> 
> [3]
>   diff --git a/lib/vhost/rte_vhost_async.h b/lib/vhost/rte_vhost_async.h
>   index 11e6cfa7cb8d..b202c5540e5b 100644
>   --- a/lib/vhost/rte_vhost_async.h
>   +++ b/lib/vhost/rte_vhost_async.h
>   @@ -5,6 +5,11 @@
>    #ifndef _RTE_VHOST_ASYNC_H_
>    #define _RTE_VHOST_ASYNC_H_
>   +#include <stdint.h>
>   +
>   +#include <rte_compat.h>
>   +#include <rte_mbuf.h>
>   +
>    /**
>     * Register an async channel for a vhost queue
>     *
> 




More information about the dev mailing list