Message ID | 1707777366-26000-1-git-send-email-roretzla@linux.microsoft.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 37BFD43AFE; Mon, 12 Feb 2024 23:36:10 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1C6FB4026E; Mon, 12 Feb 2024 23:36:10 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 1155740268 for <dev@dpdk.org>; Mon, 12 Feb 2024 23:36:08 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1086) id 372A9207ECA7; Mon, 12 Feb 2024 14:36:07 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 372A9207ECA7 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1707777367; bh=k5+OR22JPhPJhM8U2VjW9BEK2hS2r2WZJJ3t3jMEDHs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=V9GcWZdLXSu+sN/HXVAUGHgSimtdPN2sZMXMtq9cFOTus/yfsRYsa3ffE5Rf3NYxZ zpD6id0EL0pA963xYPzYq3flUxMSliBbCARbQS0Lsz0psvdKm4UQKekkKbLpWcC3Yv eoJnX7nmu4splRoJ11SwypWoMM03FlbUovGtwlyQ= From: Tyler Retzlaff <roretzla@linux.microsoft.com> To: dev@dpdk.org Cc: Bruce Richardson <bruce.richardson@intel.com>, Cristian Dumitrescu <cristian.dumitrescu@intel.com>, Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>, Sameh Gobriel <sameh.gobriel@intel.com>, Vladimir Medvedkin <vladimir.medvedkin@intel.com>, Yipeng Wang <yipeng1.wang@intel.com>, mb@smartsharesystems.com, fengchengwen@huawei.com, Tyler Retzlaff <roretzla@linux.microsoft.com> Subject: [PATCH v2 0/4] more replacement of zero length array Date: Mon, 12 Feb 2024 14:36:02 -0800 Message-Id: <1707777366-26000-1-git-send-email-roretzla@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1706134657-17446-1-git-send-email-roretzla@linux.microsoft.com> References: <1706134657-17446-1-git-send-email-roretzla@linux.microsoft.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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 |
Series | more replacement of zero length array | |
Message
Tyler Retzlaff
Feb. 12, 2024, 10:36 p.m. UTC
Replace some missed zero length arrays not captured in the original series. https://patchwork.dpdk.org/project/dpdk/list/?series=30410&state=* Zero length arrays are a GNU extension that has been superseded by flex arrays. https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html v2: * added additional patches for fib & pipeline libs. series-acks have been placed only against original hash and rcu patches. Tyler Retzlaff (4): hash: replace zero length array with flex array rcu: replace zero length array with flex array fib: replace zero length array with flex array pipeline: replace zero length array with flex array lib/fib/dir24_8.h | 2 +- lib/fib/trie.h | 2 +- lib/hash/rte_thash.c | 4 ++-- lib/pipeline/rte_pipeline.h | 2 +- lib/rcu/rcu_qsbr_pvt.h | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-)
Comments
On Mon, 12 Feb 2024 14:36:02 -0800 Tyler Retzlaff <roretzla@linux.microsoft.com> wrote: > Replace some missed zero length arrays not captured in the > original series. > https://patchwork.dpdk.org/project/dpdk/list/?series=30410&state=* > > Zero length arrays are a GNU extension that has been > superseded by flex arrays. > > https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html > > v2: > * added additional patches for fib & pipeline libs. > series-acks have been placed only against original > hash and rcu patches. > > Tyler Retzlaff (4): > hash: replace zero length array with flex array > rcu: replace zero length array with flex array > fib: replace zero length array with flex array > pipeline: replace zero length array with flex array > > lib/fib/dir24_8.h | 2 +- > lib/fib/trie.h | 2 +- > lib/hash/rte_thash.c | 4 ++-- > lib/pipeline/rte_pipeline.h | 2 +- > lib/rcu/rcu_qsbr_pvt.h | 2 +- > 5 files changed, 6 insertions(+), 6 deletions(-) > Series-acked-by: Stephen Hemminger <stephen@networkplumber.org>
> From: Stephen Hemminger [mailto:stephen@networkplumber.org] > Sent: Monday, 12 February 2024 23.57 > > On Mon, 12 Feb 2024 14:36:02 -0800 > Tyler Retzlaff <roretzla@linux.microsoft.com> wrote: > > > Replace some missed zero length arrays not captured in the > > original series. > > https://patchwork.dpdk.org/project/dpdk/list/?series=30410&state=* > > > > Zero length arrays are a GNU extension that has been > > superseded by flex arrays. > > > > https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html > > > > v2: > > * added additional patches for fib & pipeline libs. > > series-acks have been placed only against original > > hash and rcu patches. > > > > Tyler Retzlaff (4): > > hash: replace zero length array with flex array > > rcu: replace zero length array with flex array > > fib: replace zero length array with flex array > > pipeline: replace zero length array with flex array > > > > lib/fib/dir24_8.h | 2 +- > > lib/fib/trie.h | 2 +- > > lib/hash/rte_thash.c | 4 ++-- > > lib/pipeline/rte_pipeline.h | 2 +- > > lib/rcu/rcu_qsbr_pvt.h | 2 +- > > 5 files changed, 6 insertions(+), 6 deletions(-) > > > > Series-acked-by: Stephen Hemminger <stephen@networkplumber.org> Series-reviewed-by: Morten Brørup <mb@smartsharesystems.com>
On Mon, Feb 12, 2024 at 11:36 PM Tyler Retzlaff <roretzla@linux.microsoft.com> wrote: > > Replace some missed zero length arrays not captured in the > original series. > https://patchwork.dpdk.org/project/dpdk/list/?series=30410&state=* > > Zero length arrays are a GNU extension that has been > superseded by flex arrays. > > https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html > > v2: > * added additional patches for fib & pipeline libs. > series-acks have been placed only against original > hash and rcu patches. There seems to be an issue with the ABI check on those changes. After a quick chat with Dodji, I opened a bug for libabigail. https://sourceware.org/bugzilla/show_bug.cgi?id=31377
On Tue, Feb 13, 2024 at 02:14:28PM +0100, David Marchand wrote: > On Mon, Feb 12, 2024 at 11:36 PM Tyler Retzlaff > <roretzla@linux.microsoft.com> wrote: > > > > Replace some missed zero length arrays not captured in the > > original series. > > https://patchwork.dpdk.org/project/dpdk/list/?series=30410&state=* > > > > Zero length arrays are a GNU extension that has been > > superseded by flex arrays. > > > > https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html > > > > v2: > > * added additional patches for fib & pipeline libs. > > series-acks have been placed only against original > > hash and rcu patches. > > There seems to be an issue with the ABI check on those changes. > After a quick chat with Dodji, I opened a bug for libabigail. > > https://sourceware.org/bugzilla/show_bug.cgi?id=31377 I double checked again and I don't see the struct in question being embedded as a field of another struct/union. So I don't think there should be an ABI change here. I'm okay with the change being merged but if there is concern I can drop this patch from the series. > > > -- > David Marchand
On Tue, Feb 13, 2024 at 8:20 PM Tyler Retzlaff <roretzla@linux.microsoft.com> wrote: > > On Tue, Feb 13, 2024 at 02:14:28PM +0100, David Marchand wrote: > > On Mon, Feb 12, 2024 at 11:36 PM Tyler Retzlaff > > <roretzla@linux.microsoft.com> wrote: > > > > > > Replace some missed zero length arrays not captured in the > > > original series. > > > https://patchwork.dpdk.org/project/dpdk/list/?series=30410&state=* > > > > > > Zero length arrays are a GNU extension that has been > > > superseded by flex arrays. > > > > > > https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html > > > > > > v2: > > > * added additional patches for fib & pipeline libs. > > > series-acks have been placed only against original > > > hash and rcu patches. > > > > There seems to be an issue with the ABI check on those changes. > > After a quick chat with Dodji, I opened a bug for libabigail. > > > > https://sourceware.org/bugzilla/show_bug.cgi?id=31377 > > I double checked again and I don't see the struct in question being > embedded as a field of another struct/union. So I don't think there should > be an ABI change here. That was and is still my understanding too. The message we get when testing this series is: type size hasn't changed 1 data member change: 'uint8_t action_data[]' has *some* difference - please report as a bug which is why I reached out to Dodji (libabigail maintainer). Dodji explained me that zero length / flex arrays conversion is something he has been working on, and there are still some rough edges. This message is there so that libabigail community gets more input on real life cases to handle. > > I'm okay with the change being merged but if there is concern I can drop > this patch from the series. At least, we can't merge it in the current form. If libabigail gets a fix quickly, DPDK CI will still need a released version. So for this patch to be merged now, we need a libabigail suppression rule. I don't see a way to precisely waive this issue, so my suggestion is to silence any change on the concerned structure here (which should be ok, as the pipeline library data struct have been super stable for a couple of years). Something like: $ git diff diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore index 21b8cd6113..d667157909 100644 --- a/devtools/libabigail.abignore +++ b/devtools/libabigail.abignore @@ -33,3 +33,5 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Temporary exceptions till next major ABI version ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +[suppress_type] + name = rte_pipeline_table_entry
On Wed, Feb 14, 2024 at 8:36 AM David Marchand <david.marchand@redhat.com> wrote: > > I'm okay with the change being merged but if there is concern I can drop > > this patch from the series. > > At least, we can't merge it in the current form. > > If libabigail gets a fix quickly, DPDK CI will still need a released version. > So for this patch to be merged now, we need a libabigail suppression rule. > I don't see a way to precisely waive this issue, so my suggestion is > to silence any change on the concerned structure here (which should be > ok, as the pipeline library data struct have been super stable for a > couple of years). > Something like: > > $ git diff > diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore > index 21b8cd6113..d667157909 100644 > --- a/devtools/libabigail.abignore > +++ b/devtools/libabigail.abignore > @@ -33,3 +33,5 @@ > ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; > ; Temporary exceptions till next major ABI version ; > ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; > +[suppress_type] > + name = rte_pipeline_table_entry Dodji confirmed the issue in libabigail and prepared a fix. DPDK still needs a suppression rule (like the one proposed above) if we want to merge this change before the libabigail fix makes it to all distribs. Please resubmit this series with my proposal and a comment pointing at libabigail bz squashed in patch 4.
On Fri, Feb 16, 2024 at 11:14:27AM +0100, David Marchand wrote: > On Wed, Feb 14, 2024 at 8:36 AM David Marchand > <david.marchand@redhat.com> wrote: > > > I'm okay with the change being merged but if there is concern I can drop > > > this patch from the series. > > > > At least, we can't merge it in the current form. > > > > If libabigail gets a fix quickly, DPDK CI will still need a released version. > > So for this patch to be merged now, we need a libabigail suppression rule. > > I don't see a way to precisely waive this issue, so my suggestion is > > to silence any change on the concerned structure here (which should be > > ok, as the pipeline library data struct have been super stable for a > > couple of years). > > Something like: > > > > $ git diff > > diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore > > index 21b8cd6113..d667157909 100644 > > --- a/devtools/libabigail.abignore > > +++ b/devtools/libabigail.abignore > > @@ -33,3 +33,5 @@ > > ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; > > ; Temporary exceptions till next major ABI version ; > > ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; > > +[suppress_type] > > + name = rte_pipeline_table_entry > > Dodji confirmed the issue in libabigail and prepared a fix. > > DPDK still needs a suppression rule (like the one proposed above) if > we want to merge this change before the libabigail fix makes it to all > distribs. > Please resubmit this series with my proposal and a comment pointing at > libabigail bz squashed in patch 4. this works out conveniently, i noticed there are a few more instances that i'll try to add to this series so i'll come back with a new rev. i've marked the series changes requested in patchwork for now. > > > -- > David Marchand
Hello, David Marchand <david.marchand@redhat.com> writes: > Dodji confirmed the issue in libabigail and prepared a fix. Yes, that is correct. Sorry for the inconvenience. The patch fixing this issue in libabigail has been applied to the mainline and is https://sourceware.org/git/?p=libabigail.git;a=commit;h=3cc1c3423c89c2cfd9d451ab99b71f3a74b35127. > DPDK still needs a suppression rule (like the one proposed above) if > we want to merge this change before the libabigail fix makes it to all > distribs. We can discuss further if you need a "quick" 2.4.1 release as a vehicle to consume the fix or if you can wait for a 2.5 one that might come later. I agree however that in the mean time, a temporary suppression specification might be warranted. [...] Cheers,