From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 ; Mon, 1 Apr 2019 09:10:18 +0200 (CEST) Received: by mail-ua1-f48.google.com with SMTP id h4so256654uaj.9 for ; 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 Date: Mon, 1 Apr 2019 09:10:06 +0200 Message-ID: To: dev Cc: Neil Horman , Thomas Monjalon , Amr Mokhtar , Pablo de Lara , declan.doherty@intel.com, Maxime Coquelin , 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Apr 2019 07:10:18 -0000 On Wed, Dec 19, 2018 at 2:45 PM David Marchand 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 > --- > > 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: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 19823A068B for ; 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 ; Mon, 1 Apr 2019 09:10:18 +0200 (CEST) Received: by mail-ua1-f48.google.com with SMTP id h4so256654uaj.9 for ; 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 Date: Mon, 1 Apr 2019 09:10:06 +0200 Message-ID: To: dev Cc: Neil Horman , Thomas Monjalon , Amr Mokhtar , Pablo de Lara , declan.doherty@intel.com, Maxime Coquelin , 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Message-ID: <20190401071006.M-2-h00ADqR4w51iAtKfU6WjSnUK8TEKMVDnQgH9hjo@z> On Wed, Dec 19, 2018 at 2:45 PM David Marchand 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 > --- > > 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