From: Andi Kleen <ak@suse.de>
To: eranian@hpl.hp.com
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH 14/18] 2.6.17.9 perfmon2 patch for review: new i386 files
Date: Fri, 25 Aug 2006 16:53:52 +0200 [thread overview]
Message-ID: <200608251653.52898.ak@suse.de> (raw)
In-Reply-To: <20060825142759.GH5330@frankl.hpl.hp.com>
On Friday 25 August 2006 16:27, Stephane Eranian wrote:
> > BTW you might be able to simplify some of your code by exploiting
> > those. i386 currently doesn't have them, but i wouldn't see a problem
> > with adding them there too.
> >
> I think I will drop the EXCL_IDLE feature given that most PMU stop
> counting when you go low-power. The feature does not quite do what
> we want because it totally exclude the idle from monitoring, yet
> the idle may be doing useful kernel work, such as fielding interrupts.
Ok fine. Anything that makes the code less complex is good.
Currently it is very big and hard to understand.
(actually at least one newer Intel system I saw seemed to continue counting
in idle, but that might have been a specific quirk)
>
> > > Don't you need more than one counter for this?
> >
> > I don't think so. Why?
>
> For NMI, you want the counter to overflow at a certain frequency:
>
> wrmsrl(MSR_K7_PERFCTR0, -((u64)cpu_khz * 1000 / nmi_hz));
>
> But for RDTSC, I would think you'd simply want the counter to count
> monotonically. Given that perfctr0 is not 64-bit but 40, it will also
> overflow (or wraparound) but presumably at a lower frequency than the
> watchdog timer. I think I am not so clear on the intended usage user
> level usage of perfctr0 as a substitute for RDTSC.
Yes we need to underflow. But the users have to live with that.
I can make it longer than before though, but the period will be
<10s or so.
Two counters would be too much I think.
> Perfmon2 would need to check and atomically secure registers
> its users could use. The trick is when is a good time to do this?
> It cannot just be done at initialiazation of perfmon2. It needs to be
> done each time a context is created, or each time a context is actually
> attached because there is where you really need to access the HW resource.
If you do it global per system (which the curren scheme is anyways) you can
just do it when the user uses system calls.
> It is important that we get this allocator in place fairly soon
It's already there.
-Andi
next prev parent reply other threads:[~2006-08-25 14:54 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-23 8:06 [PATCH 14/18] 2.6.17.9 perfmon2 patch for review: new i386 files Stephane Eranian
2006-08-23 10:58 ` Andi Kleen
2006-08-25 12:49 ` Stephane Eranian
2006-08-25 13:13 ` Andi Kleen
2006-08-25 14:27 ` Stephane Eranian
2006-08-25 14:53 ` Andi Kleen [this message]
2006-08-25 15:00 ` Stephane Eranian
2006-08-25 15:18 ` Andi Kleen
2006-08-25 15:10 ` Stephane Eranian
2006-09-12 14:04 ` Stephane Eranian
2006-09-12 14:25 ` Stephane Eranian
2006-08-28 16:10 ` Stephane Eranian
2006-08-23 23:18 ` Adrian Bunk
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=200608251653.52898.ak@suse.de \
--to=ak@suse.de \
--cc=eranian@hpl.hp.com \
--cc=linux-kernel@vger.kernel.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