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 37099A00C2; Wed, 22 Apr 2020 10:51:27 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CECC11D156; Wed, 22 Apr 2020 10:51:26 +0200 (CEST) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by dpdk.org (Postfix) with ESMTP id 30EEC1C220 for ; Wed, 22 Apr 2020 10:51:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1587545484; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=+HbfhRdDQG2s+Zq3TI9vzalC2DJpW5BXoacKSG99CLg=; b=SvsF0MPIuIaf0yT7vLpbGSpDvyX8dN8lHhuKMMP/uTNB4AlDHTp5Q41ugeHhutaZYbEX9o DH4zdH6k7NOYezmUMTtKQ3gvEaBl1mdfQWYsAYW2lXv6eHVKUJl88S3yt+hZuKXKMuum/J T/+jHiI4UDtReEKIEorw3jAlv3X1Tg0= Received: from mail-vk1-f198.google.com (mail-vk1-f198.google.com [209.85.221.198]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-198-fpqbNpGBMUKcWej58_SgDw-1; Wed, 22 Apr 2020 04:51:23 -0400 X-MC-Unique: fpqbNpGBMUKcWej58_SgDw-1 Received: by mail-vk1-f198.google.com with SMTP id z140so617904vkd.9 for ; Wed, 22 Apr 2020 01:51:23 -0700 (PDT) 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=WCVl4bN7aPNIYDQ/YlT+cwtleiLqK79OHCZLKr6dyU8=; b=ZwSzQCr8rbKSsNFXOOnDVGWcVOiolGb+5qw+sdRnprmJGtUGEwXgOe3CwjLkeS9UDx 1XBqEBde2oNzwlfPfqn92mlorXHwk64KnBxaZwJcCfK89ymBGWQ4Mx89pKGHxSBLKAFw w8F1d290x9mZEzMV3K2rxgi+Y9jzSXUfifTe0Ahbb6IhR7feOk5lq32naVuUf3iJ7il6 PzlPvpbw7x+a9HIfDl1RQ4OJiDtX8q1v5xAKom/PisYnbGWg+q4CSjiiks3FbGfePIvQ AVDBzxv1vg6uvKU9+RpZ++RQ3XVHMJmt68R60Xl0JLMTVFac7ounPM7Zyro7insNkPpV ZhdQ== X-Gm-Message-State: AGi0PuZikUANVA6yCGjLl8pm79eibWSzZ3LP9ZtGGfEcEgiKNqj8Eofk fSJkRTzFvUF6B086MxvQZMXg8ikCpAyIcypZYg+41y6rchWdQvFOJ2tfIYIfuQ/tWmRT89GZmmd znUuhs6OvXFZmpQLpZqo= X-Received: by 2002:a05:6102:382:: with SMTP id m2mr14139090vsq.141.1587545482493; Wed, 22 Apr 2020 01:51:22 -0700 (PDT) X-Google-Smtp-Source: APiQypLVZipU46c1+etcV6X6cB59TLKG+xY0xxqibCD1efl0vgdSQzHCq7gQWltB4HMXfGYDAWt9Od4+KGq52l29V3Q= X-Received: by 2002:a05:6102:382:: with SMTP id m2mr14139084vsq.141.1587545482209; Wed, 22 Apr 2020 01:51:22 -0700 (PDT) MIME-Version: 1.0 References: <20191001062917.35578-1-honnappa.nagarahalli@arm.com> <20200422033006.1124-1-honnappa.nagarahalli@arm.com> <20200422033006.1124-2-honnappa.nagarahalli@arm.com> In-Reply-To: From: David Marchand Date: Wed, 22 Apr 2020 10:51:11 +0200 Message-ID: To: "Ananyev, Konstantin" Cc: Honnappa Nagarahalli , "stephen@networkplumber.org" , "Medvedkin, Vladimir" , "dev@dpdk.org" , "ruifeng.wang@arm.com" , "dharmik.thakkar@arm.com" , "nd@arm.com" X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [dpdk-dev] [PATCH v5 1/4] lib/rcu: add resource reclamation APIs 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 Wed, Apr 22, 2020 at 10:42 AM David Marchand wrote: > > On Wed, Apr 22, 2020 at 10:37 AM Ananyev, Konstantin > wrote: > > > > > Add resource reclamation APIs to make it simple for applications > > > and libraries to integrate rte_rcu library. > > > > > > Signed-off-by: Honnappa Nagarahalli > > > Reviewed-by: Ola Liljedhal > > > Reviewed-by: Ruifeng Wang > > > Acked-by: Konstantin Ananyev > > > --- > > > lib/librte_rcu/Makefile | 2 +- > > > lib/librte_rcu/meson.build | 7 + > > > lib/librte_rcu/rcu_qsbr_pvt.h | 66 +++++++++ > > > lib/librte_rcu/rte_rcu_qsbr.c | 227 +++++++++++++++++++++++++++= +- > > > lib/librte_rcu/rte_rcu_qsbr.h | 194 +++++++++++++++++++++++- > > > lib/librte_rcu/rte_rcu_version.map | 4 + > > > lib/meson.build | 6 +- > > > 7 files changed, 501 insertions(+), 5 deletions(-) > > > create mode 100644 lib/librte_rcu/rcu_qsbr_pvt.h > > > > > > diff --git a/lib/librte_rcu/Makefile b/lib/librte_rcu/Makefile > > > index 728669975..553bca2ef 100644 > > > --- a/lib/librte_rcu/Makefile > > > +++ b/lib/librte_rcu/Makefile > > > @@ -7,7 +7,7 @@ include $(RTE_SDK)/mk/rte.vars.mk > > > LIB =3D librte_rcu.a > > > > > > CFLAGS +=3D $(WERROR_FLAGS) -I$(SRCDIR) -O3 > > > -LDLIBS +=3D -lrte_eal > > > +LDLIBS +=3D -lrte_eal -lrte_ring > > > > > > EXPORT_MAP :=3D rte_rcu_version.map > > > > > > diff --git a/lib/librte_rcu/meson.build b/lib/librte_rcu/meson.build > > > index c009ae4b7..3eb2ace17 100644 > > > --- a/lib/librte_rcu/meson.build > > > +++ b/lib/librte_rcu/meson.build > > > @@ -3,3 +3,10 @@ > > > > > > sources =3D files('rte_rcu_qsbr.c') > > > headers =3D files('rte_rcu_qsbr.h') > > > + > > > +# for clang 32-bit compiles we need libatomic for 64-bit atomic ops > > > +if cc.get_id() =3D=3D 'clang' and dpdk_conf.get('RTE_ARCH_64') =3D= =3D false > > > + ext_deps +=3D cc.find_library('atomic') > > > +endif > > > + > > > > As a nit - as Pavan patch is already integrated into mainline, > > this is not necessary any more, I think. > > I can handle this. > > > > Also noticed that most of make builds failed due to dependency problem: > > http://mails.dpdk.org/archives/test-report/2020-April/127765.html > > I can't reproduce it locally, but my guess that we need to move rcu abo= ve > > ring in this mk file: mk/rte.app.mk > > Probably something like that: > > diff --git a/mk/rte.app.mk b/mk/rte.app.mk > > index da12b9eec..8e5d023de 100644 > > --- a/mk/rte.app.mk > > +++ b/mk/rte.app.mk > > @@ -91,13 +91,13 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_MEMPOOL) +=3D -l= rte_mempool > > _LDLIBS-$(CONFIG_RTE_LIBRTE_STACK) +=3D -lrte_stack > > _LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING) +=3D -lrte_mempool_ring > > _LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL) +=3D -lrte_mempool_octe= ontx2 > > +_LDLIBS-$(CONFIG_RTE_LIBRTE_RCU) +=3D -lrte_rcu > > _LDLIBS-$(CONFIG_RTE_LIBRTE_RING) +=3D -lrte_ring > > _LDLIBS-$(CONFIG_RTE_LIBRTE_PCI) +=3D -lrte_pci > > _LDLIBS-$(CONFIG_RTE_LIBRTE_EAL) +=3D -lrte_eal > > _LDLIBS-$(CONFIG_RTE_LIBRTE_CMDLINE) +=3D -lrte_cmdline > > _LDLIBS-$(CONFIG_RTE_LIBRTE_REORDER) +=3D -lrte_reorder > > _LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) +=3D -lrte_sched > > -_LDLIBS-$(CONFIG_RTE_LIBRTE_RCU) +=3D -lrte_rcu > > No, just moving will not express a dependency. Fixed with: diff --git a/lib/Makefile b/lib/Makefile index 2cbb096f1..8bc0c2e4a 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -118,6 +118,7 @@ DIRS-$(CONFIG_RTE_LIBRTE_TELEMETRY) +=3D librte_telemet= ry DEPDIRS-librte_telemetry :=3D librte_eal librte_metrics librte_ethdev DIRS-$(CONFIG_RTE_LIBRTE_RCU) +=3D librte_rcu -DEPDIRS-librte_rcu :=3D librte_eal +DEPDIRS-librte_rcu :=3D librte_eal librte_ring ifeq ($(CONFIG_RTE_EXEC_ENV_LINUX),y) DIRS-$(CONFIG_RTE_LIBRTE_KNI) +=3D librte_kni diff --git a/lib/librte_rcu/meson.build b/lib/librte_rcu/meson.build index 3eb2ace17..09abc5204 100644 --- a/lib/librte_rcu/meson.build +++ b/lib/librte_rcu/meson.build @@ -4,9 +4,4 @@ sources =3D files('rte_rcu_qsbr.c') headers =3D files('rte_rcu_qsbr.h') -# for clang 32-bit compiles we need libatomic for 64-bit atomic ops -if cc.get_id() =3D=3D 'clang' and dpdk_conf.get('RTE_ARCH_64') =3D=3D fals= e - ext_deps +=3D cc.find_library('atomic') -endif - deps +=3D ['ring'] --=20 David Marchand