All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Robert Richter <robert.richter@amd.com>,
	Paul Mackerras <paulus@samba.org>,
	Corey Ashford <cjashfor@linux.vnet.ibm.com>,
	linux-kernel@vger.kernel.org
Subject: Re: perf_counter: request for three more sample data options
Date: Fri, 3 Apr 2009 19:05:45 +0200	[thread overview]
Message-ID: <20090403170545.GE19982@elte.hu> (raw)
In-Reply-To: <1238777954.798.266.camel@twins>


* Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:

> On Fri, 2009-04-03 at 18:41 +0200, Ingo Molnar wrote:
> > * Robert Richter <robert.richter@amd.com> wrote:
> > 
> > > On 03.04.09 19:51:11, Paul Mackerras wrote:
> > > > Peter Zijlstra writes:
> > > > 
> > > > > What I was thinking of was re-using some of the cpu_clock()
> > > > > infrastructure. That provides us with a jiffy based GTOD sample,
> > > > > cpu_clock() then uses TSC and a few filters to compute a current
> > > > > timestamp.
> > > > > 
> > > > > I was thinking about cutting back those filters and thus trusting the
> > > > > TSC more -- which on x86 can do any random odd thing. So provided the
> > > > > TSC is not doing funny the results will be ok-ish.
> > > > > 
> > > > > This does mean however, that its not possible to know when its gone bad.
> > > > 
> > > > I would expect that perfmon would be just reading the TSC and
> > > > recording that.  If you can read the TSC and do some correction then
> > > > we're ahead. :)
> > > > 
> > > > > The question to Paul is, does the powerpc sched_clock() call work in NMI
> > > > > -- or hard irq disable -- context?
> > > > 
> > > > Yes - timekeeping is one area where us powerpc guys can be smug. 
> > > > :) We have a per-core, 64-bit timebase register which counts at 
> > > > a constant frequency and is synchronized across all cores.  So 
> > > > sched_clock works in any context on powerpc - all it does is 
> > > > read the timebase and do some simple integer arithmetic on it.
> > > 
> > > Ftrace is using ring_buffer_time_stamp() that finally uses 
> > > sched_clock(). But I am not sure if the time is correct when 
> > > calling from an NMI handler.
> > 
> > Yeah, that's a bit icky. Right now we have the following 
> > accelerator:
> > 
> > u64 sched_clock_cpu(int cpu)
> > {
> >         u64 now, clock, this_clock, remote_clock;
> >         struct sched_clock_data *scd;
> > 
> >         if (sched_clock_stable)
> >                 return sched_clock();
> > 
> > which works rather well on CPUs that set sched_clock_stable. Do you 
> > think we could set it on Barcelona?
> 
> I think you should couple it to the tsc clocksource detection 
> thingy. On all systems the tsc is good enough to use as 
> clocksource, we can short-circuit.

No principal objections, if it works.

	Ingo

  reply	other threads:[~2009-04-03 17:06 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-03  1:46 perf_counter: request for three more sample data options Corey Ashford
2009-04-03  7:01 ` Peter Zijlstra
2009-04-03  7:25   ` Corey Ashford
2009-04-03  7:51     ` Peter Zijlstra
2009-04-03  8:51       ` Paul Mackerras
2009-04-03 16:38         ` Robert Richter
2009-04-03 16:41           ` Ingo Molnar
2009-04-03 16:59             ` Peter Zijlstra
2009-04-03 17:05               ` Ingo Molnar [this message]
2009-04-03 16:32       ` Ingo Molnar

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=20090403170545.GE19982@elte.hu \
    --to=mingo@elte.hu \
    --cc=a.p.zijlstra@chello.nl \
    --cc=cjashfor@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paulus@samba.org \
    --cc=robert.richter@amd.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.