From: Masami Hiramatsu <mhiramat@kernel.org>
To: pc@us.ibm.com
Cc: LKML <linux-kernel@vger.kernel.org>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
David Ahern <dsahern@gmail.com>,
"linux-perf-users@vger.kernel.org"
<linux-perf-users@vger.kernel.org>
Subject: Re: [PATCH v5] Allow user probes on versioned symbols.
Date: Thu, 13 Apr 2017 11:20:20 +0900 [thread overview]
Message-ID: <20170413112020.8c98e0a082ad821a43d968c3@kernel.org> (raw)
In-Reply-To: <967814e0-0d5a-4970-38d8-04d7dae9d5b1@us.ibm.com>
Hi Paul,
On Wed, 12 Apr 2017 09:41:51 -0500
Paul Clarke <pc@us.ibm.com> wrote:
> @@ -396,8 +407,26 @@ static void symbols__sort_by_name(struct rb_root *symbols,
> }
> }
>
> +int symbol__match_symbol_name(const char *name, const char *str,
> + enum symbols_tag_includes includes)
> +{
> + const char *versioning;
> +
> + if (includes == SYMBOLS_TAG__INCLUDE_DEFAULT_ONLY &&
> + (versioning = strstr(name,"@@"))) {
> +
> + unsigned int len = strlen(str);
> + if (len < versioning - name)
> + len = versioning - name;
> +
> + return arch__compare_symbol_names_n(name, str, len);
> + } else
> + return arch__compare_symbol_names(name, str);
> +}
> +
> static struct symbol *symbols__find_by_name(struct rb_root *symbols,
> - const char *name)
> + const char *name,
> + unsigned int includes)
Here, you might miss replacing this 'unsigned int' with enum.
(actually, enum is equal to int, not unsigned int)
[SNIP]
> diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h
> index 5245d2f..67b017e 100644
> --- a/tools/perf/util/symbol.h
> +++ b/tools/perf/util/symbol.h
> @@ -348,8 +348,19 @@ void arch__sym_update(struct symbol *s, GElf_Sym *sym);
> #define SYMBOL_A 0
> #define SYMBOL_B 1
>
> +int arch__compare_symbol_names(const char *namea, const char *nameb);
> +int arch__compare_symbol_names_n(const char *namea, const char *nameb,
> + unsigned int n);
> int arch__choose_best_symbol(struct symbol *syma, struct symbol *symb);
>
> +enum symbols_tag_includes {
> + SYMBOLS_TAG__INCLUDE_NONE,
> + SYMBOLS_TAG__INCLUDE_DEFAULT_ONLY
> +};
BTW, would we need such 's' for plural and third person singular for type name?
And also, you should use enum type name for prefix so that other developers
easily find the definition of enumeration, e.g.
enum symbol_tag_include {
SYMBOL_TAG_INCLUDE__NONE = 0,
SYMBOL_TAG_INCLUDE__DEFAULT_ONLY
};
Thank you,
--
Masami Hiramatsu <mhiramat@kernel.org>
next prev parent reply other threads:[~2017-04-13 2:20 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-12 14:41 [PATCH v5] Allow user probes on versioned symbols Paul Clarke
2017-04-13 2:20 ` Masami Hiramatsu [this message]
2017-04-13 15:40 ` Paul Clarke
2017-04-13 18:11 ` Arnaldo Carvalho de Melo
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=20170413112020.8c98e0a082ad821a43d968c3@kernel.org \
--to=mhiramat@kernel.org \
--cc=acme@redhat.com \
--cc=dsahern@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=pc@us.ibm.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).