public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Anton Blanchard <anton@samba.org>
Cc: a.p.zijlstra@chello.nl, paulus@samba.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] perf_counter: Add alignment-faults and emulation-faults sw events
Date: Sat, 18 Jul 2009 11:35:00 +0200	[thread overview]
Message-ID: <20090718093500.GC9142@elte.hu> (raw)
In-Reply-To: <20090715120319.GE9805@kryten>


* Anton Blanchard <anton@samba.org> wrote:

> Hi Ingo,
> 
> > Looks useful.
> > 
> > I'm wondering about the enumeration space: in other cases when 
> > some simple event was further refined we went to add a new 
> > perf_type_id and a separate enumeration space, with no limits to 
> > extensibility. We'd have a new 'enum perf_sw_fault_id' space.
> > 
> > Page faults are special anyway, because they carry a 'data' 
> > (faulting address) sample as well.
> > 
> > So i'm wondering how a good, generic enumeration of all things 
> > page faults would look like. If we extend perf_sw_ids linearly 
> > we might lose some structure.
> > 
> > For example major versus minor might be a dimension (bit) in the 
> > enumeration space, so we'd have:
> > 
> >    { major | minor } x { native, unaligned, emulated }
> > 
> > This provides an advantage already: the current 'all' page 
> > faults counter would become the 'major|minor' case in the new 
> > enumeration.
> > 
> > We could still keep around the old events as well for some time, 
> > but the tools would use the new enumeration.
> 
> My initial feeling is that emulation and alignment faults 
> shouldn't roll up into page faults, because that may cause cause 
> someone to think the problem is something to do with translation. 
> I don't have a strong opinion on it however :)

I have no strong feelings either so please pick the variant that 
feels most natural. I do think we should try to generalize it a bit 
and move it into its own enumeration space, out of the generic sw 
counters - do you agree with that?

> Since we are talking about SW events, I thought I'd bring up some 
> ideas I was discussing with Paul the other day. The hardware guys 
> like to build CPI stacks, basically breaking down the CPI into its 
> components (CPI due to TLB misses, CPI due to dcache misses etc). 
> This offers a great high level view of what needs to be fixed in 
> order to improve performance.
> 
> Taking a step back, it would be great if we could have enough SW 
> events and counters to be able to do this at the kernel level. A 
> few events/counters that come to mind are cputime lost due to 
> swap, IO initiated by the process, interrupts and other processes 
> being scheduled. I wonder if the delay accounting code has 
> anything we can reuse for this.
> 
> With these events we could simply run perf stat and instantly see 
> what needs fixing at both the cpu level (via CPI analysis) and at 
> the kernel level (via SW counters).

Yeah, i like this direction.

Mind extending your patch-set in this way, and also do the more 
structured pagefault enumeration thing? (unless you have better 
suggestions)

Thanks,

	Ingo

      reply	other threads:[~2009-07-18  9:36 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-06 12:08 [PATCH] perf_counter: Add alignment-faults and emulation-faults sw events Anton Blanchard
2009-07-10  9:37 ` Ingo Molnar
2009-07-15 12:03   ` Anton Blanchard
2009-07-18  9:35     ` Ingo Molnar [this message]

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=20090718093500.GC9142@elte.hu \
    --to=mingo@elte.hu \
    --cc=a.p.zijlstra@chello.nl \
    --cc=anton@samba.org \
    --cc=linux-kernel@vger.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