From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dmarchan@redhat.com>
Received: from mail-ua1-f48.google.com (mail-ua1-f48.google.com
 [209.85.222.48]) by dpdk.org (Postfix) with ESMTP id 8598111A4
 for <dev@dpdk.org>; Mon,  1 Apr 2019 09:10:18 +0200 (CEST)
Received: by mail-ua1-f48.google.com with SMTP id h4so256654uaj.9
 for <dev@dpdk.org>; Mon, 01 Apr 2019 00:10:18 -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=uHHI5QagFEQdSTHl5H15TXKBKCb5Sy4DjNXdahPR/vc=;
 b=n0MeUdXvMOKYfzhILa3JDIw2ssmEi/6gmaWmi7STmPG5e4Krf2f1gv/66gIoINNKUb
 dVdEIHmhI+yncW0+DlNYJoSQ22IunZ1mbhqBgZ2NG9TNDwOW2DknV8mRJt72jfpH2tON
 VlKNDLaZZDVxLf6AQrWWF2M+vVIXJM5NkKUC6Pvj1R/aEip5Yzpngd8oIRdwdLDhNASy
 P45X8xB8SC8oi1Tad1niY8LlvRi5scSm/0ik92h1k2p35YMF4ld+P46qX5j458aotRQA
 tdEDMza8m8mvKZE4HqPRoqwmaBFbMG9QAMsUH11RFR75d3p8sjyC3ebhbgXPw6zCY5z4
 qI5A==
X-Gm-Message-State: APjAAAUqAPRspOPZXmna79aaMNwLm1gflWHVXvwc+gWTBDFkV0s2zYGq
 1NLU4hMALBHSuFtZNG6zKYqAbjiehi2oEgSl3HmZ7evbeZY=
X-Google-Smtp-Source: APXvYqyg9IhSdDX55qo9IE4VdLrc3Fe+hYttQBFAGp+E/HueXlIQy5T20Q2XSWxoSsXlEcAyc5nExWTVF3UgyKKaDdU=
X-Received: by 2002:a9f:24ee:: with SMTP id 101mr28643246uar.87.1554102617683; 
 Mon, 01 Apr 2019 00:10:17 -0700 (PDT)
MIME-Version: 1.0
References: <1545227093-25493-1-git-send-email-david.marchand@redhat.com>
In-Reply-To: <1545227093-25493-1-git-send-email-david.marchand@redhat.com>
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 1 Apr 2019 09:10:06 +0200
Message-ID: <CAJFAV8zoe3c1LUxfo=SLZGw3HTn4w3BhbiX5QGJr_6pry1+4Tg@mail.gmail.com>
To: dev <dev@dpdk.org>
Cc: Neil Horman <nhorman@tuxdriver.com>, Thomas Monjalon <thomas@monjalon.net>,
 Amr Mokhtar <amr.mokhtar@intel.com>,
 Pablo de Lara <pablo.de.lara.guarch@intel.com>, 
 declan.doherty@intel.com, Maxime Coquelin <maxime.coquelin@redhat.com>,
 tiwei.bie@intel.com, zhihong.wang@intel.com
Content-Type: text/plain; charset="UTF-8"
X-Content-Filtered-By: Mailman/MimeDel 2.1.15
Subject: Re: [dpdk-dev] [RFC PATCH] detect missing experimental tags in
	headers
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Mon, 01 Apr 2019 07:10:18 -0000

On Wed, Dec 19, 2018 at 2:45 PM David Marchand <david.marchand@redhat.com>
wrote:

> Add a little script to get the symbols of a given section looking at a
> library map file, then, on installation, inspect the sources headers to
> check that the declaration of the EXPERIMENTAL symbols are prefixed with
> a __rte_experimental tag.
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
>
> For now, the check is not fatal, since this is just a draft.
> Finding out the right headers could be improved.
> We could also move this check to checkpatches so that it is enforced by
> maintainers.
>

Never got any review/comment, if you try with current origin/master, there
is a little update to do for the eal directory hack:
-               if [ "$${srcdir%%linuxapp/eal}" != "$$srcdir" ]; then \
-                       srcdir="$$srcdir $${srcdir%%linuxapp/eal}common"; \
+               if [ "$${srcdir%%/eal}" != "$$srcdir" ]; then \
+                       srcdir="$$srcdir $${srcdir%/*/eal}/common"; \

I did not catch false positive so far.
Surely there could be problems with the grep regexp, but if we have this in
the build framework, people will get errors before submitting.



Btw, I caught some warnings in the following components.
CC relevant maintainers, can you look at this ?


== Build lib/librte_bbdev
ERROR: rte_bbdev_devices is not marked as experimental in this library
headers

This symbol is in the map file but is neither marked in header nor in the
code.
This is an array, does it qualify as an experimental API?

== Build lib/librte_cryptodev
ERROR: rte_crypto_asym_op_strings is not marked as experimental in this
library headers
ERROR: rte_crypto_asym_xform_strings is not marked as experimental in this
library headers

Idem.


== Build lib/librte_vhost
ERROR: rte_vhost_va_from_guest_pa is not marked as experimental in this
library headers

This symbol is in the map file but is neither marked in header nor in the
code.
Here, this is an inline, not sure the experimental tag is that useful
(except documenting it is experimental?).


-- 
David Marchand

From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by dpdk.space (Postfix) with ESMTP id 19823A068B
	for <public@inbox.dpdk.org>; Mon,  1 Apr 2019 09:10:22 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 82678343C;
	Mon,  1 Apr 2019 09:10:20 +0200 (CEST)
Received: from mail-ua1-f48.google.com (mail-ua1-f48.google.com
 [209.85.222.48]) by dpdk.org (Postfix) with ESMTP id 8598111A4
 for <dev@dpdk.org>; Mon,  1 Apr 2019 09:10:18 +0200 (CEST)
Received: by mail-ua1-f48.google.com with SMTP id h4so256654uaj.9
 for <dev@dpdk.org>; Mon, 01 Apr 2019 00:10:18 -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=uHHI5QagFEQdSTHl5H15TXKBKCb5Sy4DjNXdahPR/vc=;
 b=n0MeUdXvMOKYfzhILa3JDIw2ssmEi/6gmaWmi7STmPG5e4Krf2f1gv/66gIoINNKUb
 dVdEIHmhI+yncW0+DlNYJoSQ22IunZ1mbhqBgZ2NG9TNDwOW2DknV8mRJt72jfpH2tON
 VlKNDLaZZDVxLf6AQrWWF2M+vVIXJM5NkKUC6Pvj1R/aEip5Yzpngd8oIRdwdLDhNASy
 P45X8xB8SC8oi1Tad1niY8LlvRi5scSm/0ik92h1k2p35YMF4ld+P46qX5j458aotRQA
 tdEDMza8m8mvKZE4HqPRoqwmaBFbMG9QAMsUH11RFR75d3p8sjyC3ebhbgXPw6zCY5z4
 qI5A==
X-Gm-Message-State: APjAAAUqAPRspOPZXmna79aaMNwLm1gflWHVXvwc+gWTBDFkV0s2zYGq
 1NLU4hMALBHSuFtZNG6zKYqAbjiehi2oEgSl3HmZ7evbeZY=
X-Google-Smtp-Source: APXvYqyg9IhSdDX55qo9IE4VdLrc3Fe+hYttQBFAGp+E/HueXlIQy5T20Q2XSWxoSsXlEcAyc5nExWTVF3UgyKKaDdU=
X-Received: by 2002:a9f:24ee:: with SMTP id 101mr28643246uar.87.1554102617683; 
 Mon, 01 Apr 2019 00:10:17 -0700 (PDT)
MIME-Version: 1.0
References: <1545227093-25493-1-git-send-email-david.marchand@redhat.com>
In-Reply-To: <1545227093-25493-1-git-send-email-david.marchand@redhat.com>
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 1 Apr 2019 09:10:06 +0200
Message-ID:
 <CAJFAV8zoe3c1LUxfo=SLZGw3HTn4w3BhbiX5QGJr_6pry1+4Tg@mail.gmail.com>
To: dev <dev@dpdk.org>
Cc: Neil Horman <nhorman@tuxdriver.com>, Thomas Monjalon <thomas@monjalon.net>,
 Amr Mokhtar <amr.mokhtar@intel.com>,
 Pablo de Lara <pablo.de.lara.guarch@intel.com>, 
 declan.doherty@intel.com, Maxime Coquelin <maxime.coquelin@redhat.com>,
 tiwei.bie@intel.com, zhihong.wang@intel.com
Content-Type: text/plain; charset="UTF-8"
X-Content-Filtered-By: Mailman/MimeDel 2.1.15
Subject: Re: [dpdk-dev] [RFC PATCH] detect missing experimental tags in
	headers
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>
Message-ID: <20190401071006.M-2-h00ADqR4w51iAtKfU6WjSnUK8TEKMVDnQgH9hjo@z>

On Wed, Dec 19, 2018 at 2:45 PM David Marchand <david.marchand@redhat.com>
wrote:

> Add a little script to get the symbols of a given section looking at a
> library map file, then, on installation, inspect the sources headers to
> check that the declaration of the EXPERIMENTAL symbols are prefixed with
> a __rte_experimental tag.
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
>
> For now, the check is not fatal, since this is just a draft.
> Finding out the right headers could be improved.
> We could also move this check to checkpatches so that it is enforced by
> maintainers.
>

Never got any review/comment, if you try with current origin/master, there
is a little update to do for the eal directory hack:
-               if [ "$${srcdir%%linuxapp/eal}" != "$$srcdir" ]; then \
-                       srcdir="$$srcdir $${srcdir%%linuxapp/eal}common"; \
+               if [ "$${srcdir%%/eal}" != "$$srcdir" ]; then \
+                       srcdir="$$srcdir $${srcdir%/*/eal}/common"; \

I did not catch false positive so far.
Surely there could be problems with the grep regexp, but if we have this in
the build framework, people will get errors before submitting.



Btw, I caught some warnings in the following components.
CC relevant maintainers, can you look at this ?


== Build lib/librte_bbdev
ERROR: rte_bbdev_devices is not marked as experimental in this library
headers

This symbol is in the map file but is neither marked in header nor in the
code.
This is an array, does it qualify as an experimental API?

== Build lib/librte_cryptodev
ERROR: rte_crypto_asym_op_strings is not marked as experimental in this
library headers
ERROR: rte_crypto_asym_xform_strings is not marked as experimental in this
library headers

Idem.


== Build lib/librte_vhost
ERROR: rte_vhost_va_from_guest_pa is not marked as experimental in this
library headers

This symbol is in the map file but is neither marked in header nor in the
code.
Here, this is an inline, not sure the experimental tag is that useful
(except documenting it is experimental?).


-- 
David Marchand