From: Nithin Dabilpuram <ndabilpuram@marvell.com>
To: "Kinsella, Ray" <mdr@ashroe.eu>
Cc: <ferruh.yigit@intel.com>, <bruce.richardson@intel.com>,
<cristian.dumitrescu@intel.com>, <thomas@monjalon.net>,
<bluca@debian.org>, <jasvinder.singh@intel.com>,
<arybchenko@solarflare.com>, <ray.kinsella@intel.com>,
<nhorman@tuxdriver.com>, <ktraynor@redhat.com>,
<david.marchand@redhat.com>, <dev@dpdk.org>, <jerinj@marvell.com>
Subject: Re: [dpdk-dev] [EXT] Re: [PATCH v2] ethdev: mark all traffic manager API as experimental
Date: Thu, 10 Sep 2020 16:52:55 +0530 [thread overview]
Message-ID: <20200910112255.GD25338@outlook.office365.com> (raw)
In-Reply-To: <edd7d621-6926-993b-039b-0ad65cc846d0@ashroe.eu>
On Thu, Sep 10, 2020 at 12:01:49PM +0100, Kinsella, Ray wrote:
>
>
> On 10/09/2020 11:56, Nithin Dabilpuram wrote:
> > On Thu, Sep 10, 2020 at 09:30:15AM +0100, Kinsella, Ray wrote:
> >> External Email
> >>
> >> ----------------------------------------------------------------------
> >> On 10/09/2020 09:05, Nithin Dabilpuram wrote:
> >>> This patch marks all traffic manager API as experimental as
> >>> per discussion mentioned in below thread.
> >>>
> >>> https://urldefense.proofpoint.com/v2/url?u=https-3A__mails.dpdk.org_archives_dev_2020-2DApril_165364.html&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=FZ_tPCbgFOh18zwRPO9H0yDx8VW38vuapifdDfc8SFQ&m=NlIUXSsugCPTKBv9qxsaMHOhTuC90TUqLcGg962VVyA&s=DZL_m0a73uef5Qgal1iFqc9dTdAuUd8J6eC0mZOQlFs&e=
> >>>
> >>> Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
> >>> ---
> >>>
> >>> v2:
> >>> - Updated commit message.
> >>>
> >>> lib/librte_ethdev/rte_ethdev_version.map | 62 ++++++++++++++++----------------
> >>> lib/librte_ethdev/rte_tm.h | 33 ++++++++++++++++-
> >>> 2 files changed, 64 insertions(+), 31 deletions(-)
> >>>
> >>> diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
> >>> index 1212a17..3da4512 100644
> >>> --- a/lib/librte_ethdev/rte_ethdev_version.map
> >>> +++ b/lib/librte_ethdev/rte_ethdev_version.map
> >>> @@ -135,36 +135,6 @@ DPDK_20.0 {
> >>> rte_flow_isolate;
> >>> rte_flow_query;
> >>> rte_flow_validate;
> >>> - rte_tm_capabilities_get;
> >>> - rte_tm_get_number_of_leaf_nodes;
> >>> - rte_tm_hierarchy_commit;
> >>> - rte_tm_level_capabilities_get;
> >>> - rte_tm_mark_ip_dscp;
> >>> - rte_tm_mark_ip_ecn;
> >>> - rte_tm_mark_vlan_dei;
> >>> - rte_tm_node_add;
> >>> - rte_tm_node_capabilities_get;
> >>> - rte_tm_node_cman_update;
> >>> - rte_tm_node_delete;
> >>> - rte_tm_node_parent_update;
> >>> - rte_tm_node_resume;
> >>> - rte_tm_node_shaper_update;
> >>> - rte_tm_node_shared_shaper_update;
> >>> - rte_tm_node_shared_wred_context_update;
> >>> - rte_tm_node_stats_read;
> >>> - rte_tm_node_stats_update;
> >>> - rte_tm_node_suspend;
> >>> - rte_tm_node_type_get;
> >>> - rte_tm_node_wfq_weight_mode_update;
> >>> - rte_tm_node_wred_context_update;
> >>> - rte_tm_shaper_profile_add;
> >>> - rte_tm_shaper_profile_delete;
> >>> - rte_tm_shared_shaper_add_update;
> >>> - rte_tm_shared_shaper_delete;
> >>> - rte_tm_shared_wred_context_add_update;
> >>> - rte_tm_shared_wred_context_delete;
> >>> - rte_tm_wred_profile_add;
> >>> - rte_tm_wred_profile_delete;
> >>>
> >>> local: *;
> >>> };
> >>> @@ -241,6 +211,38 @@ EXPERIMENTAL {
> >>> __rte_ethdev_trace_rx_burst;
> >>> __rte_ethdev_trace_tx_burst;
> >>> rte_flow_get_aged_flows;
> >>> +
> >>> + # Marked as experimental in 20.11
> >>> + rte_tm_capabilities_get;
> >>> + rte_tm_get_number_of_leaf_nodes;
> >>> + rte_tm_hierarchy_commit;
> >>> + rte_tm_level_capabilities_get;
> >>> + rte_tm_mark_ip_dscp;
> >>> + rte_tm_mark_ip_ecn;
> >>> + rte_tm_mark_vlan_dei;
> >>> + rte_tm_node_add;
> >>> + rte_tm_node_capabilities_get;
> >>> + rte_tm_node_cman_update;
> >>> + rte_tm_node_delete;
> >>> + rte_tm_node_parent_update;
> >>> + rte_tm_node_resume;
> >>> + rte_tm_node_shaper_update;
> >>> + rte_tm_node_shared_shaper_update;
> >>> + rte_tm_node_shared_wred_context_update;
> >>> + rte_tm_node_stats_read;
> >>> + rte_tm_node_stats_update;
> >>> + rte_tm_node_suspend;
> >>> + rte_tm_node_type_get;
> >>> + rte_tm_node_wfq_weight_mode_update;
> >>> + rte_tm_node_wred_context_update;
> >>> + rte_tm_shaper_profile_add;
> >>> + rte_tm_shaper_profile_delete;
> >>> + rte_tm_shared_shaper_add_update;
> >>> + rte_tm_shared_shaper_delete;
> >>> + rte_tm_shared_wred_context_add_update;
> >>> + rte_tm_shared_wred_context_delete;
> >>> + rte_tm_wred_profile_add;
> >>> + rte_tm_wred_profile_delete;
> >>> };
> >> [SNIP]
> >>
> >> So I will re-interate what I said in April, all of these API have existed since DPDK 17.08.
> >> I find it hard to believe they are all at imminent risk of changing to degree they _all_ warrant EXPERIMENTAL status.
> >
> > As discussed earlier and agreed by TM and Ethdev maintainers, __rte_experimental tag was introduced several
> > releases after TM spec was added and TM spec remained untouched ending up making it stable unintentionally.
>
> We discussed it I agree, but to identify how this happened.
> I am not sure we all agreed it was ok to give a blanket EXPERIMENTAL.
>
> This API has been largely unchanged for 3 years.
> How can we justify keeping EXPERIMENTAL without a specific reason?
> Can you be more specific about planned changes?
Basically the changes atleast which initiated this discussion were
#1 Support to configure shaper in pkt mode that helps ratelimiting in
PPS(Packets per Sec) as opposed to BPS(Bits per Sec).
Needs change to a lot of existing tm param and capability structs.
#2 Support dynamic offload flags based Tx offload for tm packet marking.
#3 Support TM node color stats that report per tm color(red, green, yellow) pkt stats.
All the above three changes though add significant features and doesn't break existing
PMD's.
>
> >
> > Bruce and other maintainers pointed out that we cannot fix it as a "Fixes:" patch in order
> > to honor ABI commitments, and suggestion was to change the complete spec back to
> > experimental in next ABI change window and proceed with improvements that make
> > it stable API in subsequent releases.
> >>
> >> Ray K
next prev parent reply other threads:[~2020-09-10 11:23 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-01 17:16 [dpdk-dev] [PATCH] doc: deprication notice to mark tm spec " Nithin Dabilpuram
2020-05-05 6:47 ` Ray Kinsella
2020-05-05 7:45 ` [dpdk-dev] [EXT] " Nithin Dabilpuram
2020-05-05 8:07 ` [dpdk-dev] [PATCH v2] " Nithin Dabilpuram
2020-05-05 8:10 ` Ray Kinsella
2020-05-05 8:55 ` Dumitrescu, Cristian
2020-05-21 10:49 ` Jerin Jacob
2020-05-24 20:58 ` Nithin Kumar D
2020-05-24 23:33 ` Thomas Monjalon
2020-09-09 17:22 ` [dpdk-dev] [PATCH] ethdev: mark all traffic manager API " Nithin Dabilpuram
2020-09-09 17:49 ` Dumitrescu, Cristian
2020-09-09 18:23 ` Ferruh Yigit
2020-09-10 8:05 ` [dpdk-dev] [PATCH v2] " Nithin Dabilpuram
2020-09-10 8:30 ` Kinsella, Ray
2020-09-10 10:56 ` [dpdk-dev] [EXT] " Nithin Dabilpuram
2020-09-10 11:01 ` Kinsella, Ray
2020-09-10 11:22 ` Nithin Dabilpuram [this message]
2020-09-10 8:36 ` [dpdk-dev] " Ferruh Yigit
2020-09-10 8:37 ` Dumitrescu, Cristian
2020-09-10 9:54 ` [dpdk-dev] [EXT] " Nithin Dabilpuram
2020-09-10 9:51 ` [dpdk-dev] [EXT] " Nithin Dabilpuram
2020-09-10 10:09 ` [dpdk-dev] [PATCH v3] " Nithin Dabilpuram
2020-09-10 11:34 ` Ferruh Yigit
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=20200910112255.GD25338@outlook.office365.com \
--to=ndabilpuram@marvell.com \
--cc=arybchenko@solarflare.com \
--cc=bluca@debian.org \
--cc=bruce.richardson@intel.com \
--cc=cristian.dumitrescu@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=jasvinder.singh@intel.com \
--cc=jerinj@marvell.com \
--cc=ktraynor@redhat.com \
--cc=mdr@ashroe.eu \
--cc=nhorman@tuxdriver.com \
--cc=ray.kinsella@intel.com \
--cc=thomas@monjalon.net \
/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).