diff options
| author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2011-11-28 07:56:39 -0200 | 
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2011-11-28 10:39:12 -0200 | 
| commit | 743eb868657bdb1b26c7b24077ca21c67c82c777 (patch) | |
| tree | 4803b557725213043ccd5d3f83d2eec796a49f69 /tools/perf/util/build-id.c | |
| parent | d20deb64e0490ee9442b5181bc08a62d2cadcb90 (diff) | |
| download | olio-linux-3.10-743eb868657bdb1b26c7b24077ca21c67c82c777.tar.xz olio-linux-3.10-743eb868657bdb1b26c7b24077ca21c67c82c777.zip  | |
perf tools: Resolve machine earlier and pass it to perf_event_ops
Reducing the exposure of perf_session further, so that we can use the
classes in cases where no perf.data file is created.
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-stua66dcscsezzrcdugvbmvd@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/build-id.c')
| -rw-r--r-- | tools/perf/util/build-id.c | 16 | 
1 files changed, 8 insertions, 8 deletions
diff --git a/tools/perf/util/build-id.c b/tools/perf/util/build-id.c index 0e4de186501..2f84c4802ac 100644 --- a/tools/perf/util/build-id.c +++ b/tools/perf/util/build-id.c @@ -19,11 +19,11 @@ static int build_id__mark_dso_hit(struct perf_event_ops *ops __used,  				  union perf_event *event,  				  struct perf_sample *sample __used,  				  struct perf_evsel *evsel __used, -				  struct perf_session *session) +				  struct machine *machine)  {  	struct addr_location al;  	u8 cpumode = event->header.misc & PERF_RECORD_MISC_CPUMODE_MASK; -	struct thread *thread = perf_session__findnew(session, event->ip.pid); +	struct thread *thread = machine__findnew_thread(machine, event->ip.pid);  	if (thread == NULL) {  		pr_err("problem processing %d event, skipping it.\n", @@ -31,8 +31,8 @@ static int build_id__mark_dso_hit(struct perf_event_ops *ops __used,  		return -1;  	} -	thread__find_addr_map(thread, session, cpumode, MAP__FUNCTION, -			      event->ip.pid, event->ip.ip, &al); +	thread__find_addr_map(thread, machine, cpumode, MAP__FUNCTION, +			      event->ip.ip, &al);  	if (al.map != NULL)  		al.map->dso->hit = 1; @@ -43,16 +43,16 @@ static int build_id__mark_dso_hit(struct perf_event_ops *ops __used,  static int perf_event__exit_del_thread(struct perf_event_ops *ops __used,  				       union perf_event *event,  				       struct perf_sample *sample __used, -				       struct perf_session *session) +				       struct machine *machine)  { -	struct thread *thread = perf_session__findnew(session, event->fork.tid); +	struct thread *thread = machine__findnew_thread(machine, event->fork.tid);  	dump_printf("(%d:%d):(%d:%d)\n", event->fork.pid, event->fork.tid,  		    event->fork.ppid, event->fork.ptid);  	if (thread) { -		rb_erase(&thread->rb_node, &session->host_machine.threads); -		session->host_machine.last_match = NULL; +		rb_erase(&thread->rb_node, &machine->threads); +		machine->last_match = NULL;  		thread__delete(thread);  	}  |