From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 6BAC84CAD for ; Mon, 5 Nov 2018 13:19:27 +0100 (CET) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id B4ADE85A07; Mon, 5 Nov 2018 12:19:26 +0000 (UTC) Received: from ktraynor.remote.csb (ovpn-116-251.ams2.redhat.com [10.36.116.251]) by smtp.corp.redhat.com (Postfix) with ESMTP id B723C104C529; Mon, 5 Nov 2018 12:19:24 +0000 (UTC) To: Thomas Monjalon , dev@dpdk.org Cc: ophirmu@mellanox.com, ferruh.yigit@intel.com, arybchenko@solarflare.com, ian.stokes@intel.com References: <20181101144633.13429-1-thomas@monjalon.net> <20181101144633.13429-2-thomas@monjalon.net> From: Kevin Traynor Organization: Red Hat Message-ID: <13462be0-7835-144a-143f-1e0d30343503@redhat.com> Date: Mon, 5 Nov 2018 12:19:23 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: <20181101144633.13429-2-thomas@monjalon.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 05 Nov 2018 12:19:26 +0000 (UTC) Subject: Re: [dpdk-dev] [PATCH 1/2] eal: remove experimental tag for probe/remove 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: , X-List-Received-Date: Mon, 05 Nov 2018 12:19:27 -0000 On 11/01/2018 02:46 PM, Thomas Monjalon wrote: > The functions rte_dev_probe() and rte_dev_remove() are new > in DPDK 18.11 so they got the experimental tag by policy. > However they are too much basic functions for being skipped > by strict applications which do not use experimental functions. > > The alternative is to use rte_eal_hotplug_add() and > rte_eal_hotplug_remove(), but their API requires the application > to parse the devargs string in order to provide bus name, > device name and driver arguments. > > The new function rte_dev_probe() is really simpler to use and > more flexible by accepting any devargs string. > Let's encourage applications to use it. > > The old functions rte_eal_hotplug_* may be deprecated later. > > Signed-off-by: Thomas Monjalon one minor comment below, but it's no big deal.. Acked-by: Kevin Traynor Tested-by: Kevin Traynor > --- > lib/librte_eal/common/eal_common_dev.c | 4 ++-- > lib/librte_eal/common/include/rte_dev.h | 10 ++-------- > lib/librte_eal/rte_eal_version.map | 4 ++-- > 3 files changed, 6 insertions(+), 12 deletions(-) > > diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c > index 62e9ed477..5759ec2d8 100644 > --- a/lib/librte_eal/common/eal_common_dev.c > +++ b/lib/librte_eal/common/eal_common_dev.c > @@ -186,7 +186,7 @@ local_dev_probe(const char *devargs, struct rte_device **new_dev) > return ret; > } > > -int __rte_experimental > +int > rte_dev_probe(const char *devargs) > { > struct eal_dev_mp_req req; > @@ -322,7 +322,7 @@ local_dev_remove(struct rte_device *dev) > return 0; > } > > -int __rte_experimental > +int > rte_dev_remove(struct rte_device *dev) > { > struct eal_dev_mp_req req; > diff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/common/include/rte_dev.h > index cd6c187cc..a9724dc91 100644 > --- a/lib/librte_eal/common/include/rte_dev.h > +++ b/lib/librte_eal/common/include/rte_dev.h > @@ -196,9 +196,6 @@ int rte_eal_hotplug_add(const char *busname, const char *devname, > const char *drvargs); > > /** > - * @warning > - * @b EXPERIMENTAL: this API may change without prior notice > - * > * Add matching devices. > * > * In multi-process, it will request other processes to add the same device. > @@ -209,7 +206,7 @@ int rte_eal_hotplug_add(const char *busname, const char *devname, > * @return > * 0 on success, negative on error. > */ > -int __rte_experimental rte_dev_probe(const char *devargs); > +int rte_dev_probe(const char *devargs); > > /** > * Hotplug remove a given device from a specific bus. > @@ -227,9 +224,6 @@ int __rte_experimental rte_dev_probe(const char *devargs); > int rte_eal_hotplug_remove(const char *busname, const char *devname); > > /** > - * @warning > - * @b EXPERIMENTAL: this API may change without prior notice > - * > * Remove one device. > * > * In multi-process, it will request other processes to remove the same device. > @@ -240,7 +234,7 @@ int rte_eal_hotplug_remove(const char *busname, const char *devname); > * @return > * 0 on success, negative on error. > */ > -int __rte_experimental rte_dev_remove(struct rte_device *dev); > +int rte_dev_remove(struct rte_device *dev); > > /** > * Device comparison function. > diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map > index 04f624246..be4976e3d 100644 > --- a/lib/librte_eal/rte_eal_version.map > +++ b/lib/librte_eal/rte_eal_version.map > @@ -262,6 +262,8 @@ DPDK_18.11 { > rte_eal_get_runtime_dir; > rte_eal_hotplug_add; > rte_eal_hotplug_remove; > + rte_dev_probe; > + rte_dev_remove; maybe you want to keep these in alphabetical order > rte_strscpy; > > } DPDK_18.08; > @@ -285,8 +287,6 @@ EXPERIMENTAL { > rte_dev_is_probed; > rte_dev_iterator_init; > rte_dev_iterator_next; > - rte_dev_probe; > - rte_dev_remove; > rte_devargs_add; > rte_devargs_dump; > rte_devargs_insert; >