From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,URIBL_SBL,URIBL_SBL_A autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B4FF8C0650E for ; Mon, 1 Jul 2019 12:09:01 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 4F36120B7C for ; Mon, 1 Jul 2019 12:09:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4F36120B7C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org 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 ; Mon, 1 Jul 2019 14:08:58 +0200 (CEST) Received: by mail-ua1-f66.google.com with SMTP id j8so4945527uan.6 for ; 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> In-Reply-To: From: David Marchand Date: Mon, 1 Jul 2019 14:08:47 +0200 Message-ID: To: Aaron Conole Cc: Thomas Monjalon , Michael Santana , dev , Neil Horman , Adrien Mazarguil , Stephen Hemminger 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Mon, Jul 1, 2019 at 2:05 PM Aaron Conole wrote: > David Marchand writes: > > > On Sat, Jun 29, 2019 at 6:14 PM Thomas Monjalon > 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