public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@redhat.com>
To: Jiri Olsa <jolsa@kernel.org>
Cc: linux-kernel@vger.kernel.org,
	Adrian Hunter <adrian.hunter@intel.com>,
	Corey Ashford <cjashfor@linux.vnet.ibm.com>,
	David Ahern <dsahern@gmail.com>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Ingo Molnar <mingo@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>,
	Paul Mackerras <paulus@samba.org>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Stephane Eranian <eranian@google.com>,
	acme@kernel.org
Subject: Re: [PATCH 08/14] perf tools: Use kmod_path__parse in map_groups__set_modules_path_dir
Date: Sat, 21 Mar 2015 15:20:43 -0300	[thread overview]
Message-ID: <20150321182042.GB3404@redhat.com> (raw)
In-Reply-To: <1425640442-16048-9-git-send-email-jolsa@kernel.org>

Em Fri, Mar 06, 2015 at 12:13:56PM +0100, Jiri Olsa escreveu:
> Replacing the file name parsing with kmod_path__parse
> and moving the dso update into new separate function.
> 
> ---
>  tools/perf/util/machine.c | 65 ++++++++++++++++++++++++++++++-----------------
>  1 file changed, 41 insertions(+), 24 deletions(-)
> 
> diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c

> +static int map_groups__set_module_path(struct map_groups *mg, const char *path,
> +				       struct kmod_path *m)
> +{
> +	struct map *map;
> +	char *long_name;
> +
> +	map = map_groups__find_by_name(mg, MAP__FUNCTION, m->name);
> +	if (map == NULL)
> +		return 0;
> +
> +	long_name = strdup(path);
> +	if (long_name == NULL)
> +		return -ENOMEM;
> +
> +	dso__set_long_name(map->dso, long_name, true);
> +	dso__kernel_module_get_build_id(map->dso, "");
> +
> +	/*
> +	 * Full name could reveal us kmod compression, so
> +	 * we need to update the symtab_type if needed.
> +	 */
> +	if (m->comp && is_kmod_dso(map->dso))
> +		map->dso->symtab_type++;

Ouch, does this assumes this is a:

DSO_BINARY_TYPE__SYSTEM_PATH_KMODULE

And that, because in the dso_binary_type enum
DSO_BINARY_TYPE__SYSTEM_PATH_KMODULE_COMP comes right after it, and thus
this cryptic increment is equivalent to:

		map->dso->symtab_type = DSO_BINARY_TYPE__SYSTEM_PATH_KMODULE_COMP;

?

Also, this part:

----
    Replacing the file name parsing with kmod_path__parse and moving the
dso update into new separate function.
----

Indicates that this probably would be best done in two separate patches,
one that introduces the new function, but is equivalent to the existing
code, and the next one adding the new logic?

Processed all the patches up to this one, stopping now ;-)

- Arnaldo

  reply	other threads:[~2015-03-21 18:21 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-06 11:13 [PATCHv2 00/14] perf tools: Adding xz decompression support Jiri Olsa
2015-03-06 11:13 ` [PATCH 01/14] perf tools: Remove superfluous thread->comm_set setting Jiri Olsa
2015-03-06 11:13 ` [PATCH 02/14] tools build: Add feature check for lzma library Jiri Olsa
2015-03-06 11:13 ` [PATCH 03/14] perf tools: Add lzma decompression support for kernel module Jiri Olsa
2015-03-06 11:13 ` [PATCH 04/14] perf tools: Add kmod_path__parse function Jiri Olsa
2015-03-06 11:13 ` [PATCH 05/14] perf tools: Add dsos__addnew function Jiri Olsa
2015-03-06 11:13 ` [PATCH 06/14] perf tools: Add machine__module_dso function Jiri Olsa
2015-03-06 11:13 ` [PATCH 07/14] perf tools: Use kmod_path__parse for machine__new_dso Jiri Olsa
2015-03-06 11:13 ` [PATCH 08/14] perf tools: Use kmod_path__parse in map_groups__set_modules_path_dir Jiri Olsa
2015-03-21 18:20   ` Arnaldo Carvalho de Melo [this message]
2015-03-22 23:55     ` Namhyung Kim
2015-03-23 11:02       ` Jiri Olsa
2015-03-06 11:13 ` [PATCH 09/14] perf tools: Use kmod_path__parse in decompress_kmodule Jiri Olsa
2015-03-06 11:13 ` [PATCH 10/14] perf tools: Use kmod_path__parse in is_kernel_module Jiri Olsa
2015-03-06 11:13 ` [PATCH 11/14] perf tools: Remove compressed argument from is_kernel_module Jiri Olsa
2015-03-06 11:14 ` [PATCH 12/14] perf tools: Remove is_kmodule_extension function Jiri Olsa
2015-03-06 11:14 ` [PATCH 13/14] perf tools: Try to lookup kernel module map before creating one Jiri Olsa
2015-03-06 11:14 ` [PATCH 14/14] perf annotate: Allow annotation for decompressed kernel modules Jiri Olsa
2015-03-06 12:54 ` [PATCHv2 00/14] perf tools: Adding xz decompression support Jiri Olsa
2015-03-11  9:08   ` Jiri Olsa
2015-03-13 11:51     ` Jiri Olsa
2015-03-15 17:41       ` Jiri Olsa
  -- strict thread matches above, loose matches on Subject: below --
2015-03-03 15:29 [PATCH 0/3] " Jiri Olsa
2015-03-03 15:29 ` [PATCH 08/14] perf tools: Use kmod_path__parse in map_groups__set_modules_path_dir Jiri Olsa

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=20150321182042.GB3404@redhat.com \
    --to=acme@redhat.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=cjashfor@linux.vnet.ibm.com \
    --cc=dsahern@gmail.com \
    --cc=eranian@google.com \
    --cc=fweisbec@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=paulus@samba.org \
    /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