DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Morten Brørup" <mb@smartsharesystems.com>
To: "Thomas Monjalon" <thomas@monjalon.net>,
	"Ankur Dwivedi" <adwivedi@marvell.com>
Cc: "Stephen Hemminger" <stephen@networkplumber.org>,
	"Jerin Jacob Kollanukkaran" <jerinj@marvell.com>, <dev@dpdk.org>
Subject: RE: [EXT] Re: [PATCH v5 1/1] devtools: add tracepoint check in checkpatch
Date: Wed, 30 Aug 2023 20:38:20 +0200	[thread overview]
Message-ID: <98CBD80474FA8B44BF855DF32C47DC35D87B5D@smartserver.smartshare.dk> (raw)
In-Reply-To: <3574329.R56niFO833@thomas>

> From: Thomas Monjalon [mailto:thomas@monjalon.net]
> Sent: Wednesday, 30 August 2023 18.24
> 
> 21/08/2023 16:46, Morten Brørup:
> > > From: Ankur Dwivedi [mailto:adwivedi@marvell.com]
> > > Sent: Monday, 21 August 2023 15.54
> > >
> > > >From: Stephen Hemminger <stephen@networkplumber.org>
> > > >Sent: Thursday, May 18, 2023 9:04 PM
> > > >
> > > >-------------------------------------------------------------------
> ---
> > > >On Thu, 18 May 2023 13:45:29 +0000
> > > >Ankur Dwivedi <adwivedi@marvell.com> wrote:
> > > >
> > > >> >From: Ankur Dwivedi <adwivedi@marvell.com>
> > > >> >Sent: Tuesday, March 7, 2023 5:35 PM
> > > >> >
> > > >> >This patch adds a validation in checkpatch tool, to check if a
> > > >> >tracepoint is present in any new function added in cryptodev,
> > > ethdev,
> > > >> >eventdev and mempool library.
> > > >> >
> > > >> >In this patch, the build_map_changes function is copied from
> > > >> >check-symbol- change.sh to check-tracepoint.sh. The
> > > >> >check-tracepoint.sh script uses build_map_changes function to
> create
> > > a
> > > >map of functions.
> > > >> >In the map, the newly added functions, added in the experimental
> > > >> >section are identified and their definition are checked for the
> > > >> >presence of tracepoint. The checkpatch return error if the
> > > tracepoint is not
> > > >present.
> > > >> >
> > > >> >For functions for which trace is not needed, they can be added
> to
> > > >> >devtools/trace-skiplist.txt file. The above tracepoint check
> will be
> > > >> >skipped for them.
> > > >> >
> > > >> >Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
> > > >
> > > >Given the amount of string processing, it would be more readable in
> > > python.
> > > >That is not a show stopper, just a suggestion.
> > >
> > > Hi Thomas,
> > >
> > > Please let me know if the shell script in this patch is fine or
> would a
> > > python implementation would be more preferable.
> 
> In general, I wonder how much the check is useful compared to the
> complexity.
> 
> 
> > The bigger question is: Do we really want to change tracepoints in
> functions from opt-in to opt-out?
> 
> Yes that's the question: should traces be mandatory in some libs?
> 
> > In my opinion, opt-in for trace is more appropriate.
> 
> There was some work to add traces everywhere in few libs, so why not
> maintaining this state?

I still think it's a silly and burdening requirement, but I'm not against it for the libs where it is already a de facto standard.

<irony>
I can imagine similar requirements regarding logging, telemetry and dump functions being imposed on select libs.

Perhaps we should also require that new libs implement all four types of instrumentation, to ensure that only high quality (i.e. fully instrumented) libs are accepted into DPDK.
</irony>

> I don't really like adding a skip list as one more burden for future
> authors.

If the warning omitted from checkpatches refers to the skip list and its location, it is relatively easy for developers to manage.

And reviewers will notice if new functions have been added to the skip list, indicating that trace has been omitted. So there are also advantages to the skip list.

> 
> 
> > Nonetheless, having a tool to check for tracepoint presence might
> still be useful for library reviewers and maintainers. And such a tool
> might be useful for any library, not just the few libraries suggested by
> this patch.
> 
> 
> 


  reply	other threads:[~2023-08-30 18:38 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-12  9:23 [PATCH] " Ankur Dwivedi
2022-10-12 11:45 ` [PATCH v2] " Ankur Dwivedi
2022-10-12 13:08   ` Thomas Monjalon
2022-10-12 15:16     ` [EXT] " Ankur Dwivedi
2022-10-12 16:19       ` Thomas Monjalon
2022-10-15 12:58   ` [PATCH v3 0/2] " Ankur Dwivedi
2022-10-15 12:58     ` [PATCH v3 1/2] devtools: move build symbol map function Ankur Dwivedi
2022-10-15 12:58     ` [PATCH v3 2/2] devtools: add tracepoint check in checkpatch Ankur Dwivedi
2022-11-02  4:08     ` [PATCH v3 0/2] " Ankur Dwivedi
2023-03-03 15:58     ` [PATCH v4 " Ankur Dwivedi
2023-03-03 15:58       ` [PATCH v4 1/2] devtools: move build symbol map function Ankur Dwivedi
2023-03-03 15:58       ` [PATCH v4 2/2] devtools: add tracepoint check in checkpatch Ankur Dwivedi
2023-03-07 12:05       ` [PATCH v5 0/1] " Ankur Dwivedi
2023-03-07 12:05         ` [PATCH v5 1/1] " Ankur Dwivedi
2023-05-18 13:45           ` Ankur Dwivedi
2023-05-18 15:33             ` Stephen Hemminger
2023-08-21 13:53               ` [EXT] " Ankur Dwivedi
2023-08-21 14:46                 ` Morten Brørup
2023-08-30 16:23                   ` Thomas Monjalon
2023-08-30 18:38                     ` Morten Brørup [this message]
2023-09-01  2:32                       ` Jerin Jacob
2023-09-01  7:28                         ` Thomas Monjalon
2023-11-14 13:15                           ` Ankur Dwivedi
2023-11-28 13:18         ` [PATCH v5 0/1] " Thomas Monjalon
2023-11-28 14:07           ` [EXT] " Ankur Dwivedi
2023-11-28 15:55             ` Thomas Monjalon
2023-11-30  5:56               ` Ankur Dwivedi
2023-11-30  8:40                 ` Thomas Monjalon
2023-11-30 13:16                   ` Ankur Dwivedi
2023-12-15  6:43         ` [PATCH v6 0/2] " Ankur Dwivedi
2023-12-15  6:43           ` [PATCH v6 1/2] devtools: move build map changes function Ankur Dwivedi
2023-12-15  6:43           ` [PATCH v6 2/2] devtools: add tracepoint check in checkpatch Ankur Dwivedi
2024-07-17 12:09           ` [PATCH v6 0/2] " Ankur Dwivedi
2024-10-08  0:40             ` Stephen Hemminger
2024-10-09  6:03               ` [EXTERNAL] " Ankur Dwivedi
2024-10-09 15:05                 ` Stephen Hemminger
2024-10-21 14:06                   ` Ankur Dwivedi
2024-11-05  7:06                     ` Ankur Dwivedi

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=98CBD80474FA8B44BF855DF32C47DC35D87B5D@smartserver.smartshare.dk \
    --to=mb@smartsharesystems.com \
    --cc=adwivedi@marvell.com \
    --cc=dev@dpdk.org \
    --cc=jerinj@marvell.com \
    --cc=stephen@networkplumber.org \
    --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).