From: Stephen Hemminger <stephen@networkplumber.org>
To: "Morten Brørup" <mb@smartsharesystems.com>
Cc: "Jerin Jacob" <jerinjacobk@gmail.com>,
"David Marchand" <david.marchand@redhat.com>,
"Jerin Jacob Kollanukkaran" <jerinj@marvell.com>,
<bruce.richardson@intel.com>,
"Sunil Kumar Kori" <skori@marvell.com>, <dev@dpdk.org>,
"Thomas Monjalon" <thomas@monjalon.net>
Subject: Re: [PATCH 0/3] eal: mark API's as stable
Date: Sun, 8 Sep 2024 16:58:00 -0700 [thread overview]
Message-ID: <20240908165800.672fffb2@hermes.local> (raw)
In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35E9F6A6@smartserver.smartshare.dk>
On Thu, 5 Sep 2024 16:18:13 +0200
Morten Brørup <mb@smartsharesystems.com> wrote:
> > From: Jerin Jacob [mailto:jerinjacobk@gmail.com]
> > Sent: Thursday, 5 September 2024 16.02
> >
> > On Thu, Sep 5, 2024 at 3:14 PM Morten Brørup <mb@smartsharesystems.com> wrote:
> > >
> > > > From: David Marchand [mailto:david.marchand@redhat.com]
> > > > Sent: Thursday, 5 September 2024 11.03
> > > >
> > > > On Thu, Sep 5, 2024 at 10:55 AM Morten Brørup <mb@smartsharesystems.com>
> > > > wrote:
> > > > >
> > > > > > From: David Marchand [mailto:david.marchand@redhat.com]
> > > > > > Sent: Thursday, 5 September 2024 09.59
> > > > > >
> > > > > > On Wed, Sep 4, 2024 at 8:10 PM Stephen Hemminger
> > > > > > <stephen@networkplumber.org> wrote:
> > > > > > >
> > > > > > > The API's in ethtool from before 23.11 should be marked stable.
> > > > > >
> > > > > > EAL* ?
> > > > > >
> > > > > > > Should probably include the trace api's but that is more complex
> > change.
> > > > > >
> > > > > > On the trace API itself it should be ok.
> > > > >
> > > > > No!
> > > >
> > > > *sigh*
> > > >
> > > > >
> > > > > Trace must remain experimental until controlled by a meson option, e.g.
> > > > "enable_trace", whereby trace can be completely disabled and omitted from
> > the
> > > > compiled application/libraries/drivers at build time.
> > > >
> > > > This seems unrelated to marking the API stable as regardless of the
> > > > API state at the moment, this code is always present.
> > >
> > > I cannot foresee if disabling trace at build time will require changes to
> > the trace API. So I'm being cautious here.
> > >
> > > However, if Jerin (as author of the trace subsystem) foresees that it will
> > be possible to disable trace at build time without affecting the trace API, I
> > don't object to marking the trace API (or some of it) stable.
> >
> > I don't for foresee any ABI changes when adding disabling trace
> > compile time support.
>
> Based on Jerin's feedback, I'm retracting my objection.
>
> > However, I don't understand why we need to do
> > that.
>
> To reduce code size.
> Relevant for embedded/memory-constrained systems.
>
> > In the sense, fast path functions are already having an option
> > to compile out.
> > Slow path functions can be disabled at runtime at the cost of 1 cycle
> > as instrumentation cost. Having said that, I don't have any concern
> > about disabling trace as an option.
>
> Great.
>
> >
> >
> > >
> > > Before doing that, rte_trace_mode_get/set() and the accompanying enum
> > rte_trace_mode should be changed to rte_trace_config_get/set() using a new
> > struct rte_trace_config (containing the enum rte_trace_mode, and expandable
> > with new fields as the need arises). This will prepare for e.g. tracing to
> > other destinations than system memory, such as a remote trace collector on the
> > network, like SYSLOG.
>
> I'm also retracting this precondition...
>
> If the need for further trace configuration should ever arise, rte_trace_config_get/set() can be added later.
> And rte_trace_mode_get/set(), if not marked as experimental anymore, will be kept for backwards compatibility.
>
> > >
> > > > Patches welcome if you want it stripped.
> > >
> > > Don't have time myself, so I suggested it as a code challenge instead. :-)
> > >
My feeling is that the the experimental flag is not intended as permanent "get out of ABI compatiablity"
next prev parent reply other threads:[~2024-09-08 23:58 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-04 18:08 Stephen Hemminger
2024-09-04 18:08 ` [PATCH 1/3] eal: make rte_cpu_get_intrinsics_support stable Stephen Hemminger
2024-09-04 18:08 ` [PATCH 2/3] eal: mark rte_lcore_register_usage_cb stable Stephen Hemminger
2024-10-04 12:56 ` Robin Jarry
2024-09-04 18:08 ` [PATCH 3/3] eal: mark rte_memzone_max_get/set stable Stephen Hemminger
2024-09-05 6:07 ` [PATCH 0/3] eal: mark API's as stable Morten Brørup
2024-09-05 7:58 ` David Marchand
2024-09-05 8:55 ` Morten Brørup
2024-09-05 9:03 ` David Marchand
2024-09-05 9:44 ` Morten Brørup
2024-09-05 14:01 ` Jerin Jacob
2024-09-05 14:18 ` Morten Brørup
2024-09-08 23:58 ` Stephen Hemminger [this message]
2024-09-06 8:54 ` Ferruh Yigit
2024-09-06 10:04 ` Morten Brørup
2024-09-06 14:12 ` Ferruh Yigit
2024-09-06 14:42 ` Morten Brørup
2024-09-09 4:48 ` Jerin Jacob
2024-09-06 9:34 ` Ferruh Yigit
2024-09-06 9:48 ` David Marchand
2024-09-06 11:00 ` Ferruh Yigit
2024-09-06 13:11 ` Jerin Jacob
2024-09-06 14:03 ` Ferruh Yigit
2024-09-09 4:46 ` Jerin Jacob
2024-10-30 9:10 ` David Marchand
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=20240908165800.672fffb2@hermes.local \
--to=stephen@networkplumber.org \
--cc=bruce.richardson@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=jerinj@marvell.com \
--cc=jerinjacobk@gmail.com \
--cc=mb@smartsharesystems.com \
--cc=skori@marvell.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).