From: Thomas Monjalon <thomas@monjalon.net>
To: Bill Zhou <dongz@mellanox.com>, Ferruh Yigit <ferruh.yigit@intel.com>
Cc: Ori Kam <orika@mellanox.com>, Matan Azrad <matan@mellanox.com>,
"wenzhuo.lu@intel.com" <wenzhuo.lu@intel.com>,
"jingjing.wu@intel.com" <jingjing.wu@intel.com>,
"bernard.iremonger@intel.com" <bernard.iremonger@intel.com>,
"john.mcnamara@intel.com" <john.mcnamara@intel.com>,
"marko.kovacevic@intel.com" <marko.kovacevic@intel.com>,
"arybchenko@solarflare.com" <arybchenko@solarflare.com>,
dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH v2] ethdev: support flow aging
Date: Tue, 21 Apr 2020 12:09:49 +0200 [thread overview]
Message-ID: <21747191.6Emhk5qWAg@thomas> (raw)
In-Reply-To: <d51006c6-20d6-c172-36fb-6254cb6a6044@intel.com>
21/04/2020 12:04, Ferruh Yigit:
> On 4/20/2020 5:10 PM, Thomas Monjalon wrote:
> > 20/04/2020 16:06, Ferruh Yigit:
> >> On 4/18/2020 10:44 AM, Thomas Monjalon wrote:
> >>> 18/04/2020 07:04, Bill Zhou:
> >>>> From: Ferruh Yigit <ferruh.yigit@intel.com>
> >>>>> On 4/14/2020 9:32 AM, Dong Zhou wrote:
> >>>>>> --- a/lib/librte_ethdev/rte_ethdev.h
> >>>>>> +++ b/lib/librte_ethdev/rte_ethdev.h
> >>>>>> @@ -3015,6 +3015,7 @@ enum rte_eth_event_type {
> >>>>>> RTE_ETH_EVENT_NEW, /**< port is probed */
> >>>>>> RTE_ETH_EVENT_DESTROY, /**< port is released */
> >>>>>> RTE_ETH_EVENT_IPSEC, /**< IPsec offload related event */
> >>>>>> + RTE_ETH_EVENT_FLOW_AGED,/**< New aged-out flows is detected
> >>>>> */
> >>>>>> RTE_ETH_EVENT_MAX /**< max value of this enum */
> >>>>>> };
> >>>>>
> >>>>>
> >>>>> Just recognized that this is failing in ABI check [1], as far as last time for a
> >>>>> similar enum warning a QAT patch has been dropped, should this need to
> >>>>> wait for
> >>>>> 20.11 too?
> >>>>
> >>>> This patch is commonly used for flow aging, there are 2 other patches have
> >>>> implement flow aging in mlx5 driver reply to this patch.
> > [...]
> >>> These MAX values in enums are a pain.
> >>> We can try to think what can be done, waiting 20.11.
> >>> Not sure there is a solution, except hijacking an existing value
> >>> not used in the PMD, waiting the definitive value in 20.11...
> >>
> >> Dropping from the tree as of now, to not cause more merge conflicts, we can add
> >> it later when issue is resolved.
> >
> > Thanks for dropping, that's the right thing to do
> > when a patch is breaking ABI check.
> >
> > After some thoughts, I think it is acceptable to make a v3
> > which ignore this specific enum change. I explain my thought below:
> >
> > An enum can accept a new value at 2 conditions:
> > - added as last value (not changing old values)
> > - new value not used by existing API
> >
> > The value RTE_ETH_EVENT_FLOW_AGED meet the above 2 conditions:
> > - only RTE_ETH_EVENT_MAX is changed, which is consistent
> > - new value sent to the app only if the app registered for it
> >
>
> Same here, as far as I can see it is safe to get this change.
>
> If any DPDK API returns this enum, either as return of the API or as output
> parameter, this still can be problem, because application may use that returned
> value, this was the concern in the QAT sample.
>
> But here application registers an event and DPDK library process callback for
> it, so application callbacks won't be called for anything that application
> doesn't already know about, in that respect this should be safe for old
> applications.
>
> Not sure if we can generalize above two conditions for all enum changes, but we
> can investigate them case by case as we get the warnings.
>
> > So, except if I miss something, I suggest we add this exception:
> > Allow new value in rte_eth_event_type if added just before RTE_ETH_EVENT_MAX.
> > In other words, allow changing the value of RTE_ETH_EVENT_MAX.
> > The file to add such exception is devtools/libabigail.abignore.
> >
>
> OK to exception.
v3 was sent.
I hope we'll get a v4 with justification for the exception.
next prev parent reply other threads:[~2020-04-21 10:09 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-26 10:18 [dpdk-dev] [PATCH] [RFC] " Matan Azrad
2019-06-06 10:24 ` Jerin Jacob Kollanukkaran
2019-06-06 10:51 ` Matan Azrad
2019-06-06 12:15 ` Jerin Jacob Kollanukkaran
2019-06-18 5:56 ` Matan Azrad
2019-06-24 6:26 ` Jerin Jacob Kollanukkaran
2019-06-27 8:26 ` Matan Azrad
2020-03-16 16:13 ` Stephen Hemminger
2020-03-16 10:22 ` [dpdk-dev] [PATCH v2] " BillZhou
2020-03-16 12:52 ` BillZhou
2020-03-20 6:59 ` Jerin Jacob
2020-03-24 10:18 ` Andrew Rybchenko
2020-04-10 9:46 ` [dpdk-dev] [PATCH] " BillZhou
2020-04-10 10:14 ` Thomas Monjalon
2020-04-13 4:02 ` Bill Zhou
2020-04-10 12:07 ` Andrew Rybchenko
2020-04-10 12:41 ` Jerin Jacob
2020-04-12 9:13 ` Ori Kam
2020-04-12 9:48 ` Matan Azrad
2020-04-14 8:32 ` [dpdk-dev] [PATCH v2] " Dong Zhou
2020-04-14 8:49 ` Ori Kam
2020-04-14 9:23 ` Bill Zhou
2020-04-16 13:32 ` Ferruh Yigit
2020-04-17 22:00 ` Ferruh Yigit
2020-04-17 22:07 ` Stephen Hemminger
2020-04-18 5:04 ` Bill Zhou
2020-04-18 9:44 ` Thomas Monjalon
2020-04-20 14:06 ` Ferruh Yigit
2020-04-20 16:10 ` Thomas Monjalon
2020-04-21 10:04 ` Ferruh Yigit
2020-04-21 10:09 ` Thomas Monjalon [this message]
2020-04-21 15:59 ` Andrew Rybchenko
2020-04-21 6:22 ` [dpdk-dev] [PATCH v3] " Bill Zhou
2020-04-21 10:11 ` [dpdk-dev] [PATCH v4] " Bill Zhou
2020-04-21 17:13 ` Ferruh Yigit
2020-04-29 14:50 ` Tom Barbette
2020-04-30 7:36 ` Matan Azrad
2020-04-30 7:49 ` Tom Barbette
2020-04-13 14:53 ` [dpdk-dev] [PATCH 0/2] " Dong Zhou
2020-04-13 14:53 ` [dpdk-dev] [PATCH 1/2] net/mlx5: modify ext-counter memory allocation Dong Zhou
2020-04-13 14:53 ` [dpdk-dev] [PATCH 2/2] net/mlx5: support flow aging Dong Zhou
2020-04-24 10:45 ` [dpdk-dev] [PATCH v2 0/2] " Bill Zhou
2020-04-24 10:45 ` [dpdk-dev] [PATCH v2 1/2] net/mlx5: modify ext-counter memory allocation Bill Zhou
2020-04-24 10:45 ` [dpdk-dev] [PATCH v2 2/2] net/mlx5: support flow aging Bill Zhou
2020-04-26 7:07 ` Suanming Mou
2020-04-29 2:25 ` [dpdk-dev] [PATCH v3 0/2] " Bill Zhou
2020-04-29 2:25 ` [dpdk-dev] [PATCH v3 1/2] net/mlx5: modify ext-counter memory allocation Bill Zhou
2020-04-29 2:25 ` [dpdk-dev] [PATCH v3 2/2] net/mlx5: support flow aging Bill Zhou
2020-05-03 7:41 ` [dpdk-dev] [PATCH v3 0/2] " Matan Azrad
2020-05-03 11:47 ` Raslan Darawsheh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=21747191.6Emhk5qWAg@thomas \
--to=thomas@monjalon.net \
--cc=arybchenko@solarflare.com \
--cc=bernard.iremonger@intel.com \
--cc=dev@dpdk.org \
--cc=dongz@mellanox.com \
--cc=ferruh.yigit@intel.com \
--cc=jingjing.wu@intel.com \
--cc=john.mcnamara@intel.com \
--cc=marko.kovacevic@intel.com \
--cc=matan@mellanox.com \
--cc=orika@mellanox.com \
--cc=wenzhuo.lu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).