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 inbox.dpdk.org (Postfix) with ESMTP id BCCE8A0487
	for <public@inbox.dpdk.org>; Mon,  1 Jul 2019 14:09:00 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 8EB1D4D27;
	Mon,  1 Jul 2019 14:09:00 +0200 (CEST)
Received: from mail-ua1-f66.google.com (mail-ua1-f66.google.com
 [209.85.222.66]) by dpdk.org (Postfix) with ESMTP id DD8FC326D
 for <dev@dpdk.org>; Mon,  1 Jul 2019 14:08:58 +0200 (CEST)
Received: by mail-ua1-f66.google.com with SMTP id j8so4945527uan.6
 for <dev@dpdk.org>; Mon, 01 Jul 2019 05:08:58 -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=K3LoZdj+Q4/JcNsFPrZOu6d7b8sAK9btXTxoLJ1IjiY=;
 b=bKeEmciJjH3qYlF7dSg2Ec64HHTyh+F66JNr8kjYyXA+/2KgCKE8uMPxOaBSDM94gP
 YfProBK4pN3oml0wh6v0t6PBDEuxNn7pTEC8y+UQPkBfwh6gMjYqIJJL1n6XtcA0rnBZ
 vou1YMiVNyVBjZytrZVht+/lhXmgcmVISM4H35898CbWiBEflYrgPlh2bYr6NNaymUqO
 aWVI30Ekv0AdE2ttcMiTQdiC2y1vHZ2JMTThw9LAFtU+siHpH6/eypan2dOKdIMQvss3
 C2UYRpy6mUC2pP9oqmM5LYYL0FA2w5T/xg40sIvLbAREW2znwAKOy/DHIGlDPpXaQDgh
 eDOA==
X-Gm-Message-State: APjAAAW7qqXfael9rnBESzIgEmoKrOlPW47/aetMIjiMErRizMrEBP5a
 LP9BLCfpftNot9KveOK5zdvxRtWtBj9KrTrA6uRe1A==
X-Google-Smtp-Source: APXvYqwTg87KC2tsIyVGrue1fjY+pGq0DNKANQIqdIjgxCsrEWdfYzqcJ4o+KYZRMxmSeX3QYhhdT6TRx2dX/etyE+c=
X-Received: by 2002:ab0:45e3:: with SMTP id u90mr14131614uau.126.1561982938304; 
 Mon, 01 Jul 2019 05:08:58 -0700 (PDT)
MIME-Version: 1.0
References: <1561635235-22238-1-git-send-email-david.marchand@redhat.com>
 <1561809533-6545-1-git-send-email-david.marchand@redhat.com>
 <1561809533-6545-11-git-send-email-david.marchand@redhat.com>
 <3633624.cieMKMvx7x@xps>
 <CAJFAV8xwXWr6vL7Sb26-=_rqkxJVR+p1e0WsBSQxCQN0rH_9qA@mail.gmail.com>
 <f7tzhly0xl5.fsf@dhcp-25.97.bos.redhat.com>
In-Reply-To: <f7tzhly0xl5.fsf@dhcp-25.97.bos.redhat.com>
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 1 Jul 2019 14:08:47 +0200
Message-ID: <CAJFAV8zoV8z8vGknQ2NMtKbY7jgvi_bYnc5pNcfS9gqB7c7KuA@mail.gmail.com>
To: Aaron Conole <aconole@redhat.com>
Cc: Thomas Monjalon <thomas@monjalon.net>,
 Michael Santana <msantana@redhat.com>, dev <dev@dpdk.org>, 
 Neil Horman <nhorman@tuxdriver.com>,
 Adrien Mazarguil <adrien.mazarguil@6wind.com>, 
 Stephen Hemminger <stephen@networkplumber.org>
Content-Type: text/plain; charset="UTF-8"
X-Content-Filtered-By: Mailman/MimeDel 2.1.15
Subject: Re: [dpdk-dev] [PATCH v2 10/10] enforce __rte_experimental at the
 start of symbol declarations
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>

On Mon, Jul 1, 2019 at 2:05 PM Aaron Conole <aconole@redhat.com> wrote:

> David Marchand <david.marchand@redhat.com> writes:
>
> > On Sat, Jun 29, 2019 at 6:14 PM Thomas Monjalon <thomas@monjalon.net>
> wrote:
> >
> >  29/06/2019 13:58, David Marchand:
> >  > Special mention for rte_mbuf_data_addr_default():
> >  >
> >  > There is either a bug or a (not yet understood) issue with gcc.
> >  > gcc won't drop this inline when unused and
> rte_mbuf_data_addr_default()
> >  > calls rte_mbuf_buf_addr() which itself is experimental.
> >  > This results in a build warning when not accepting experimental apis
> >  > from sources just including rte_mbuf.h.
> >  >
> >  > For this specific case, we hide the call to rte_mbuf_buf_addr() under
> >  > the ALLOW_EXPERIMENTAL_API flag.
> >  [...]
> >  > -static inline char * __rte_experimental
> >  > -rte_mbuf_data_addr_default(struct rte_mbuf *mb)
> >  > +__rte_experimental
> >  > +static inline char *
> >  > +rte_mbuf_data_addr_default(struct rte_mbuf *mb __rte_unused)
> >  >  {
> >  > +     /* gcc complains about calling this experimental function even
> >  > +      * when not using it. Hide it with ALLOW_EXPERIMENTAL_API.
> >  > +      */
> >  > +#ifdef ALLOW_EXPERIMENTAL_API
> >  >       return rte_mbuf_buf_addr(mb, mb->pool) + RTE_PKTMBUF_HEADROOM;
> >  > +#else
> >  > +     return NULL;
> >  > +#endif
> >  >  }
> >
> >  Doxygen is confused by having __rte_unused at the end:
> >
> >  lib/librte_mbuf/rte_mbuf.h:876: warning:
> >          argument 'mb' of command @param is not found in the argument
> list of
> >          rte_mbuf_data_addr_default(struct rte_mbuf *mb __rte_unused)
> >  lib/librte_mbuf/rte_mbuf.h:889: warning:
> >          The following parameters of
> >          rte_mbuf_data_addr_default(struct rte_mbuf *mb __rte_unused)
> >          are not documented:
> >                  parameter '__rte_unused'
> >
> >  I move __rte_unused at the beginning while merging.
> >
> > Indeed.
> > Thanks for catching and fixing.
> >
> > Consequently, could we have the documentation (html only?) generated in
> the CI if it is not too time
> > consuming.
> > WDYT Aaron, Michael?
>
> Just as a check that it will generate?  I think it's a good idea.
>


Just knowing it generates fine is enough.
If it fails, then we go and see what is wrong.
Saving each builds would be a loss of space because (hopefully) it usually
builds fine.


-- 
David Marchand