From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A97DBA04E6; Tue, 10 Nov 2020 09:17:54 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 100592AB; Tue, 10 Nov 2020 09:17:53 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by dpdk.org (Postfix) with ESMTP id A73EC23D for ; Tue, 10 Nov 2020 09:17:51 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604996270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=vpb6KiiJuD1ZmdgU1sdvjZf28dm6avEeTafLLs1ZfzE=; b=breWrIDahnK5uGexMDmqtpig0auE379XQ+Ih0Cuwf9xoV61PRRT02kcFzNEVrrCSLuvb5o 6Ij2k7PlP7N8jQYl6s6wFA6URtFHQYLZp56Qo9eYtUFIKB8Lo9VrxvP3FX+I2ej5rC4hOq 1pTFHBIHbfz4cgS7nEoIYnX7t3HwW80= Received: from mail-vs1-f71.google.com (mail-vs1-f71.google.com [209.85.217.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-58-9yDln5TQNAqLGdEBd14aQw-1; Tue, 10 Nov 2020 03:17:48 -0500 X-MC-Unique: 9yDln5TQNAqLGdEBd14aQw-1 Received: by mail-vs1-f71.google.com with SMTP id f23so4193274vsh.7 for ; Tue, 10 Nov 2020 00:17:47 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=vpb6KiiJuD1ZmdgU1sdvjZf28dm6avEeTafLLs1ZfzE=; b=jJARL7jjWFX87/TNoCmEkyHFoNZpNOzCWGQ25bKvZvgsIZflJzwFdAA9dyFfmBqXnO jQmm+pZJL6CRO9Sg6oQBtAPinorenj/eY7/6Hrj+yA8RmW24/Utj0VzfzlxHeySeadTZ EHglcSkwCf82Exs3IGFJ6VuKhB/+C0ICzeOKHaFRLk3ejpju2fL8QeppK2+f7X0Pi/2q Kawc9dJn7J1U3mfSZLx//qqymxLPnV+3Pdd/Mc8S5aee3U7aJCtdpKDVBOCnH5EVqMSx CFr08Abc+Xl5KK6MadhfN1Q+k5QVQfuaXGcPIv0QCpuw6GjlFFBXFNa+UO+RXo4rXhpu aldg== X-Gm-Message-State: AOAM530f+f2HbjF0BNBLq35dBJaUxl8RytiMxjjtBI78Jex144kSqBer Y0vFhSn6Cb2FD1ewlrC5KrCU0968N5QSLCRcieUuskG0oO6iCSJnZ7cfZiqhIxBbHnhlD5KSWYl kYV7WhPekFGbsPk/q/KA= X-Received: by 2002:ab0:380d:: with SMTP id x13mr9113837uav.41.1604996267459; Tue, 10 Nov 2020 00:17:47 -0800 (PST) X-Google-Smtp-Source: ABdhPJydNys/hdEkcJQm0MTviyJ5tCh926jrTBbMQuy6pRZZcaRtuNSJniy8WfGDsU8d7TiZ2F+UbUfr8eoWu/IoL0U= X-Received: by 2002:ab0:380d:: with SMTP id x13mr9113831uav.41.1604996267171; Tue, 10 Nov 2020 00:17:47 -0800 (PST) MIME-Version: 1.0 References: <20200910064351.35513-1-Cheng1.jiang@intel.com> <20201022085909.112403-1-Cheng1.jiang@intel.com> <893690b2-0605-1445-fc31-3186a2ab21d7@redhat.com> In-Reply-To: From: David Marchand Date: Tue, 10 Nov 2020 09:17:36 +0100 Message-ID: To: "Jiang, Cheng1" , Bruce Richardson Cc: Maxime Coquelin , "Xia, Chenbo" , dev , "Fu, Patrick" , "Yang, YvonneX" , Thomas Monjalon , "Yigit, Ferruh" , "Hu, Jiayu" Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dmarchan@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH v10 0/4] add async data path in vhost sample X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Tue, Nov 10, 2020 at 4:02 AM Jiang, Cheng1 wrote: > > - This series breaks external compilation, as the external Makefile was not > > updated. > > > > I'm not sure I understand what you mean by external Makefile, because as far as I know, makefile has been deprecated. make support is dropped for dpdk compilation itself. For the examples, the users will use make to compile them, as this is the only way provided to users *out of* dpdk. But the examples are compiled too via meson when compiling dpdk itself if you pass -Dexamples= options. Bruce, I want to avoid more misses like this one. If we want to keep the examples compilation in meson, we need a consistent framework to compile in both cases. Right now, we don't export meson for examples, and it makes no sense in their current form. It seems simpler to me to only maintain make support, and meson can still call make for each example. Another solution is to rely only on test-meson-builds.sh, but then it ends up on the maintainer shoulders, so I prefer the solution above. Other ideas? Cheng, For the problem on vhost, there are different ways to reproduce, but the simpler for now is: $ meson --default-library=shared builddir $ ninja-build -C builddir -j4 $ export DESTDIR=$(pwd)/installdir $ ninja-build -C builddir -j4 install $ export PKG_CONFIG_PATH=$(dirname $(find $DESTDIR -name libdpdk.pc)):$PKG_CONFIG_PATH $ export LD_LIBRARY_PATH=$(dirname $(find $DESTDIR -name librte_eal.so)):$LD_LIBRARY_PATH $ export PKGCONF="pkg-config --define-prefix" $ make -C $DESTDIR/usr/local/share/dpdk/examples/vhost clean shared static ... rm -f build/vhost-switch build/vhost-switch-static build/vhost-switch-shared test -d build && rmdir -p build || true cc -O3 -I.../installdir/usr/local/include -include rte_config.h -march=native -I/usr/usr/include -DALLOW_EXPERIMENTAL_API main.c virtio_net.c -o build/vhost-switch-shared -pthread -Wl,--as-needed -L.../installdir/usr/local/lib64 -lrte_node -lrte_graph -lrte_bpf -lrte_flow_classify -lrte_pipeline -lrte_table -lrte_port -lrte_fib -lrte_ipsec -lrte_vhost -lrte_stack -lrte_security -lrte_sched -lrte_reorder -lrte_rib -lrte_regexdev -lrte_rawdev -lrte_pdump -lrte_power -lrte_member -lrte_lpm -lrte_latencystats -lrte_kni -lrte_jobstats -lrte_ip_frag -lrte_gso -lrte_gro -lrte_eventdev -lrte_efd -lrte_distributor -lrte_cryptodev -lrte_compressdev -lrte_cfgfile -lrte_bitratestats -lrte_bbdev -lrte_acl -lrte_timer -lrte_hash -lrte_metrics -lrte_cmdline -lrte_pci -lrte_ethdev -lrte_meter -lrte_net -lrte_mbuf -lrte_mempool -lrte_rcu -lrte_ring -lrte_eal -lrte_telemetry -lrte_kvargs -lbsd /usr/bin/ld: /tmp/ccXZVDJk.o: in function `new_device': main.c:(.text+0x173): undefined reference to `ioat_transfer_data_cb' /usr/bin/ld: main.c:(.text+0x178): undefined reference to `ioat_check_completed_copies_cb' /usr/bin/ld: /tmp/ccXZVDJk.o: in function `main': main.c:(.text.startup+0x25e): undefined reference to `open_ioat' collect2: error: ld returned 1 exit status make: *** [Makefile:34: build/vhost-switch-shared] Error 1 > Do you mean I need to update the Makfile in examples/vhost? Yes. > > - This series imposes a dependency on the raw/ioat driver for no reason. > > > > $ meson configure build -Ddisable_drivers=raw/ioat $ ninja-build -C build - > > j4 ... > > examples/meson.build:91:4: ERROR: Problem encountered: Missing > > dependency "raw_ioat" for example "vhost" > > > > The check for the architecture == x86 is wrong. > > The example must check for RTE_RAW_IOAT presence. > > > > As for this issue, I agreed with you. I will fix it by changing the x86 check into RTE_RAW_IOAT check. Reading the thread again, Maxime had already asked for this change. -- David Marchand