Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1244695

Re: [RFC/PATCH 18/38] perf tools: Introduce thread__find_addr_location_by_time() and friends

From Jiri Olsa <jolsa@redhat.com>
Newsgroups linux.kernel
Subject Re: [RFC/PATCH 18/38] perf tools: Introduce thread__find_addr_location_by_time() and friends
Date 2015-10-12 15:40 +0200
Message-ID <qiLuz-ok-25@gated-at.bofh.it> (permalink)
References <qf14R-2jW-3@gated-at.bofh.it> <qf14S-2jW-23@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Fri, Oct 02, 2015 at 02:18:59PM +0900, Namhyung Kim wrote:

SNIP

> +void thread__find_addr_map(struct thread *thread, u8 cpumode,
> +			   enum map_type type, u64 addr,
> +			   struct addr_location *al)
> +{
> +	al->thread = thread;
> +	map_groups__find_addr_map(thread->mg, cpumode, type, addr, al);
> +}
> +
> +void thread__find_addr_map_by_time(struct thread *thread, u8 cpumode,
> +				   enum map_type type, u64 addr,
> +				   struct addr_location *al, u64 timestamp)
> +{
> +	struct map_groups *mg;
> +
> +	if (perf_has_index)
> +		mg = thread__get_map_groups(thread, timestamp);
> +	else
> +		mg = thread->mg;
> +
> +	al->thread = thread;
> +	map_groups__find_addr_map(mg, cpumode, type, addr, al);
> +}
> +
>  void thread__find_addr_location(struct thread *thread,
>  				u8 cpumode, enum map_type type, u64 addr,
>  				struct addr_location *al)
> @@ -985,6 +1006,23 @@ void thread__find_addr_location(struct thread *thread,
>  		al->sym = NULL;
>  }
>  
> +void thread__find_addr_location_by_time(struct thread *thread, u8 cpumode,
> +					enum map_type type, u64 addr,
> +					struct addr_location *al, u64 timestamp)
> +{
> +	if (perf_has_index)
> +		thread__find_addr_map_by_time(thread, cpumode, type, addr, al,
> +					      timestamp);
> +	else
> +		thread__find_addr_map(thread, cpumode, type, addr, al);

hum, we make the 'perf_has_index' decision here and also in
thread__find_addr_map_by_time which seems to have the same code
as thread__find_addr_map for !perf_has_index case

it seems redundant to have both original and _by_time versions
why not just thread__find_cpumode_addr_location with time arg?

also how about other callers of original versions like
thread__find_addr_location call in util/unwind-libunwind.c ?

jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

Re: [RFC/PATCH 18/38] perf tools: Introduce  thread__find_addr_location_by_time() and friends Jiri Olsa <jolsa@redhat.com> - 2015-10-12 15:40 +0200

csiph-web