lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150729151246.GH575@kernel.org>
Date:	Wed, 29 Jul 2015 12:12:46 -0300
From:	Arnaldo Carvalho de Melo <acme@...nel.org>
To:	Jiri Olsa <jolsa@...hat.com>
Cc:	kan.liang@...el.com, a.p.zijlstra@...llo.nl, luto@...nel.org,
	mingo@...hat.com, eranian@...gle.com, ak@...ux.intel.com,
	mark.rutland@....com, adrian.hunter@...el.com, jolsa@...nel.org,
	namhyung@...nel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH V3 3/5] perf,tools: Dump per-sample freq/CPU%/CORE_BUSY%
 in report -D

Em Wed, Jul 29, 2015 at 02:52:20PM +0200, Jiri Olsa escreveu:
> On Tue, Jul 28, 2015 at 07:29:33AM -0400, kan.liang@...el.com wrote:
> 
> SNIP
> 
> > -static void dump_sample(struct perf_evsel *evsel, union perf_event *event,
> > +static void dump_sample(struct perf_session *session, struct perf_evlist *evlist,
> > +			struct perf_evsel *evsel, union perf_event *event,
> >  			struct perf_sample *sample)
> >  {
> >  	u64 sample_type;
> > @@ -938,7 +963,7 @@ static void dump_sample(struct perf_evsel *evsel, union perf_event *event,
> >  		printf("... transaction: %" PRIx64 "\n", sample->transaction);
> >  
> >  	if (sample_type & PERF_SAMPLE_READ)
> > -		sample_read__printf(sample, evsel->attr.read_format);
> > +		sample_read__printf(session, evlist, sample, evsel->attr.read_format);
> >  }
> >  
> >  static struct machine *machines__find_for_cpumode(struct machines *machines,
> > @@ -1036,12 +1061,13 @@ static int
> >  					    &sample->read.one, machine);
> >  }
> >  
> > -static int machines__deliver_event(struct machines *machines,
> > +static int machines__deliver_event(struct perf_session *session,
> >  				   struct perf_evlist *evlist,
> 
> you can cut the evlist argument as well, because it's always from session->evlist

Well, perf_session is about saving/restoring from a perf.data file, and
there are tools that don't deal with perf.data files.

So I think that this running environment information, that is associated
with the evlist, should be accessible from there, i.e. when reading the
perf.data file you get it from there, when running a live tool, you get
it from the system.

I saw code in this patchkit that reads it from the system and writes it
to the perf.data header, that could sould instead get it into a data
structure accessible from the evlist and when writing a perf.data file,
get it from there.

I.e. trying not to entangle session stuff into places that don't touch
it.

Reading a bit more to see if I can come with more suggestions...

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ