From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: "Jin, Yao" <yao.jin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>,
jolsa@kernel.org, peterz@infradead.org, mingo@redhat.com,
alexander.shishkin@linux.intel.com, Linux-kernel@vger.kernel.org,
ak@linux.intel.com, kan.liang@intel.com, yao.jin@intel.com
Subject: Re: [PATCH 1/2] perf script: Support filtering by hex address
Date: Thu, 28 Jan 2021 09:43:10 -0300 [thread overview]
Message-ID: <20210128124310.GC775562@kernel.org> (raw)
In-Reply-To: <60d102fa-d98a-6182-0a1d-b78122fed574@linux.intel.com>
Em Thu, Jan 28, 2021 at 11:31:26AM +0800, Jin, Yao escreveu:
> On 1/28/2021 7:13 AM, Jiri Olsa wrote:
> > > @@ -709,6 +725,26 @@ int machine__resolve(struct machine *machine, struct addr_location *al,
> > > ret = strlist__has_entry(symbol_conf.sym_list, al_addr_str);
> > > }
> > > + if (!ret && al->map) {
> > > + snprintf(al_addr_str, sz, "0x%"PRIx64,
> > > + al->map->unmap_ip(al->map, al->addr));
> > > + ret = strlist__has_entry(symbol_conf.sym_list,
> > > + al_addr_str);
> > > + if (!ret) {
> > > + /* Check for hex without "0x" prefix */
> > > + snprintf(al_addr_str, sz, "%"PRIx64,
> > > + al->map->unmap_ip(al->map, al->addr));
> > > + ret = strlist__has_entry(symbol_conf.sym_list,
> > > + al_addr_str);
> > > + }
> > that seems tricky.. what if user specify more leading zeros,
> > I think it'd be better to search intlist instead
> > we could move all 'address' entries from sym_list to
> > new intlist (in symbol__init) and use it for this search
> intlist now only supports 'int' type.
> I'm considering to use 'long' to replace original 'int' in struct int_node.
> struct int_node {
> struct rb_node rb_node;
> - int i;
> + long i;
> void *priv;
> };
> On 32 bits platform, sizeof(long) is 4, and on 64 bits platform,
> sizeof(long) is 8. So that should be OK for storing the values such as
> pid/tid and address.
> I'm not very clear why currently it uses 'int' for i in struct int_node,
> maybe something I don't understand correctly. Please correct me if my
> understanding is wrong.
I think its ok to make it a long, it won't even enlarge the struct
because:
[acme@quaco pahole]$ pahole -C int_node ~/bin/perf
struct int_node {
struct rb_node rb_node __attribute__((__aligned__(8))); /* 0 24 */
int i; /* 24 4 */
/* XXX 4 bytes hole, try to pack */
void * priv; /* 32 8 */
/* size: 40, cachelines: 1, members: 3 */
/* sum members: 36, holes: 1, sum holes: 4 */
/* forced alignments: 1 */
/* last cacheline: 40 bytes */
} __attribute__((__aligned__(8)));
[acme@quaco pahole]$
:-)
- Arnaldo
next prev parent reply other threads:[~2021-01-28 12:44 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-24 23:27 [PATCH 1/2] perf script: Support filtering by hex address Jin Yao
2021-01-24 23:27 ` [PATCH 2/2] perf script: Support dso filter Jin Yao
2021-01-27 22:15 ` Jiri Olsa
2021-01-28 13:12 ` Arnaldo Carvalho de Melo
2021-01-29 0:37 ` Jin, Yao
2021-01-27 23:13 ` [PATCH 1/2] perf script: Support filtering by hex address Jiri Olsa
2021-01-28 3:31 ` Jin, Yao
2021-01-28 12:43 ` Arnaldo Carvalho de Melo [this message]
2021-01-29 0:42 ` Jin, Yao
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=20210128124310.GC775562@kernel.org \
--to=acme@kernel.org \
--cc=Linux-kernel@vger.kernel.org \
--cc=ak@linux.intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=jolsa@kernel.org \
--cc=jolsa@redhat.com \
--cc=kan.liang@intel.com \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=yao.jin@intel.com \
--cc=yao.jin@linux.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.