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: <20130913095057.GB11611@gmail.com>
Date:	Fri, 13 Sep 2013 11:50:57 +0200
From:	Ingo Molnar <mingo@...nel.org>
To:	Peter Zijlstra <peterz@...radead.org>
Cc:	Andi Kleen <andi@...stfloor.org>, Vince Weaver <vince@...ter.net>,
	Andi Kleen <ak@...ux.intel.com>, acme@...radead.org,
	linux-kernel@...r.kernel.org,
	Stephane Eranian <eranian@...gle.com>,
	torvalds@...ux-foundation.org, trinity@...r.kernel.org,
	Thomas Gleixner <tglx@...utronix.de>,
	Frédéric Weisbecker <fweisbec@...il.com>,
	Jiri Olsa <jolsa@...hat.com>, Namhyung Kim <namhyung@...il.com>
Subject: Re: [PATCH 1/2] tools, perf: Add a precise event qualifier v2


* Peter Zijlstra <peterz@...radead.org> wrote:

> On Thu, Sep 12, 2013 at 07:36:17PM +0200, Andi Kleen wrote:
> > > Your feature to export 'precise' requirements on events looks useful to 
> > > me. We could implement it not by special casing it implicitly but by 
> > > saying that if ../format/precise contains something like:
> > > 
> > >    attr:240-241
> 
> Since we currently have the pattern $name:bits to mean 
> perf_event_attr::$name the above would imply and create a possible 
> collision with perf_event_attr::attr.
> 
> If we're going to do this I'd propose using something like _:240-241, 
> for while '_' is a valid name in C its not something we're ever going to 
> allow in perf_event_attr.

Ok - and I'm not against adding individual 'names' one by one as well, 
that allows us to expose only the fields that relate to event 
configuration.

For example if we added 'type' as well we could expose the generic, 
hardware-independent events via sysfs as well.

( Eventually this scheme would be fit to expose more advanced events as
  well: such as composite groups of events with simple arithmetic 
  operations between them. That would allow the exposure of E1+E2-E3 type 
  of simple calculations. )

> > Wouldn't we need different bits for each architecture then? 
> > 32bit/64bit, some archs with weird alignment rules, maybe different 
> > for BE/LE too?
> 
> Typically PMU drivers are per arch and all the format stuff is per pmu 
> driver so I'd not worry about that just yet.

ok.

> But yes, while the perf_event_attr thing is ABI its not identical across 
> archs.

Yeah, like syscalls - it's not an on-disk format.

> > Ok I suppose it could be somehow auto generated in asm-offsets.c, 
> > although I'm not sure how to get a bitfield offset there.
> 
> Yes, that is an unfortunate situation. I (and either Acme or Jolsa) 
> tried wrapping the bitfield in an anonymous union to create a named 
> variable for the entire u64 but older GCC completely fails with that.

We could be careful with bitfields and enumerate their offsets explicitly, 
with a build time testcase that makes sure that the offsets match reality.

Thanks,

	Ingo
--
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