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

Ferruh Yigit ferruh.yigit at intel.com
Thu Feb 10 21:56:57 CET 2022


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].

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:





[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