From: Albert Cahalan <albert@users.sf.net>
To: Segher Boessenkool <segher@koffie.nl>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Albert Cahalan <albert@users.sourceforge.net>,
oprofile-list@lists.sourceforge.net,
linuxppc-dev@lists.linuxppc.org, o.oppitz@web.de,
afleming@motorola.com, linux-kernel@vger.kernel.org
Subject: Re: [patch] oprofile for ppc
Date: 10 Mar 2003 01:31:14 -0500 [thread overview]
Message-ID: <1047277876.2012.360.camel@cube> (raw)
In-Reply-To: <3E6C0B93.5040205@koffie.nl>
On Sun, 2003-03-09 at 22:50, Segher Boessenkool wrote:
> Benjamin Herrenschmidt wrote:
>> Beware though that some G4s have a nasty bug that
>> prevents using the performance counter interrupt
>> (and the thermal interrupt as well).
>
> MPC7400 version 1.2 and lower have this problem.
MPC7410 you mean, right? Are those early revisions
even popular?
I'm wondering if the MPC7400 is also affected.
The MPC7400 has some significant differences.
The pipeline length changed.
>> The problem is that if any of those fall at the same
>> time as the DEC interrupt, the CPU messes up it's
>> internal state and you lose SRR0/SRR1, which means
>> you can't recover from the exception.
>
> But the worst that happens is that you lose that
> process, isn't it? Not all that big a problem,
> esp. since the window in which this can happen is
> very small.
I think you'd get an infinite loop of either
the decrementer or performance monitor. That's
mostly fixable by checking for the condition and
killing the affected process, but that process
could be one of the ones built into the kernel.
So the use of oprofile comes down to a choice:
a. Ignore the problem.
rare crashes
b. The decrementer goes much faster for profiling.
high overhead, awkwardness in non-time measurement
c. The performance monitor is used for clock ticks.
hard choices about sharing or frequency
Besides the obvious use of core cycles to generate
a clock tick out of the performance monitor, there
is the tbsel field in MMCR0. That has some strange
frequency choices. On a system with a 100 MHz bus,
it looks like one gets:
12.5 MHz, 49 kHz, 3 kHz, 191 Hz
So 3 kHz it is. That's 1526 Hz on a 50 MHz bus,
or 6104 Hz on a 200 MHz bus. This is enough to
get a 1000 Hz jiffies with reasonable jitter on
most machines, and a very good 100 Hz for user apps.
next prev parent reply other threads:[~2003-03-10 6:24 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-07 9:29 [patch] oprofile for ppc Albert D. Cahalan
2003-03-07 10:13 ` Benjamin Herrenschmidt
2003-03-07 18:31 ` Albert Cahalan
2003-03-08 15:10 ` Benjamin Herrenschmidt
2003-03-08 19:30 ` Albert Cahalan
2003-03-08 21:41 ` Benjamin Herrenschmidt
2003-03-10 4:00 ` Segher Boessenkool
2003-03-10 3:50 ` Segher Boessenkool
2003-03-10 6:31 ` Albert Cahalan [this message]
2003-03-10 8:43 ` Benjamin Herrenschmidt
2003-03-11 2:14 ` Segher Boessenkool
2003-03-11 21:54 ` Andrew Fleming
2003-03-11 23:13 ` Albert Cahalan
2003-03-12 0:25 ` Andrew Fleming
2003-03-11 23:30 ` mikpe
2003-03-12 0:10 ` Albert Cahalan
2003-03-12 10:42 ` mikpe
2003-03-10 8:38 ` Benjamin Herrenschmidt
2003-03-20 21:32 ` Andy Fleming
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=1047277876.2012.360.camel@cube \
--to=albert@users.sf.net \
--cc=afleming@motorola.com \
--cc=albert@users.sourceforge.net \
--cc=benh@kernel.crashing.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.linuxppc.org \
--cc=o.oppitz@web.de \
--cc=oprofile-list@lists.sourceforge.net \
--cc=segher@koffie.nl \
/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