mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andi Kleen <ak@suse.de>
To: discuss@x86-64.org
Cc: linux-kernel@vger.kernel.org
Subject: Enabling RDPMC in user space by default
Date: Tue, 29 Nov 2005 16:15:15 +0100	[thread overview]
Message-ID: <20051129151515.GG19515@wotan.suse.de> (raw)

Hallo,

I'm considering to enable CR4.PCE by default on x86-64/i386. Currently it's 0
which means RDPMC doesn't work. On x86-64 PMC 0 is always programmed
to be a cycle counter, so it would be useful to be able to access
this for measuring instructions. That's especially useful because RDTSC 
does not necessarily count cycles in the current P state (already
the case on Intel CPUs and AMD's future direction seems to also
to decouple it from cycles) Drawback is that it stops during idle, but 
that shouldn't be a big issue for normal measuring. It's not useful
as a real timer anyways.

On Pentium 4 it also has the advantage that unlike RDTSC it's not
serializing so should be much faster.

The kernel change would be to always set CR4.PCE to allow RDPMC
in ring 3. 

It would be actually a good idea to disable RDTSC in ring 3 too
(because user space usually doesn't have enough information to make
good use of it and gets it wrong), but I fear that will break 
too many applications right now.

Any comments on this? 

-Andi


             reply	other threads:[~2005-11-29 15:15 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-29 15:15 Andi Kleen [this message]
2005-11-29 16:04 ` Mikael Pettersson
2005-11-29 16:17   ` Andi Kleen
2005-11-29 16:56 ` Ray Bryant
2005-11-29 16:15   ` Andi Kleen
2005-11-29 18:09   ` [Perfctr-devel] " Stephane Eranian
2005-11-29 18:13     ` Andi Kleen
2005-11-29 18:29       ` John Reiser
2005-11-29 18:38         ` Andi Kleen
2005-11-29 19:05         ` Lee Revell
2005-11-29 21:43       ` Nicholas Miell
2005-11-29 21:52         ` Andi Kleen
2005-11-29 22:19           ` Stephane Eranian
2005-11-29 22:51             ` [discuss] " Andi Kleen
2005-11-30 16:01               ` Stephane Eranian
2005-11-30 16:23                 ` Andi Kleen
2005-12-01 23:41                   ` Stephane Eranian
2005-12-02  0:07                     ` Andi Kleen
2005-12-02  7:09                       ` Stephane Eranian
2005-12-02 11:36                         ` Andi Kleen
2005-11-29 22:33           ` Nicholas Miell
2005-11-29 22:43             ` Andi Kleen
2005-11-29 23:02               ` Nicholas Miell
2005-11-29 23:17                 ` Andi Kleen
2005-11-29 23:29                   ` Nicholas Miell
2005-11-29 23:39                     ` Andi Kleen
2005-11-29 23:56                       ` David Gibson
2005-11-30  0:34                         ` Andi Kleen
2005-11-30  0:52                           ` David Gibson
2005-11-30  1:04                             ` [discuss] " Andi Kleen
2005-11-30  0:50                       ` Ray Bryant
2005-11-30  0:38                         ` Andi Kleen
2005-11-30  7:38                     ` Stephane Eranian
2005-11-30  8:22                       ` Nicholas Miell
2005-11-30 15:48                         ` Stephane Eranian
2005-11-29 23:07               ` David Gibson
2005-11-29 23:18                 ` [discuss] " Andi Kleen
2005-11-29 23:28               ` Bernd Schmidt
2005-11-29 23:46                 ` [discuss] " Andi Kleen
2005-11-30  2:39 ` Zwane Mwaikambo
2005-11-30  3:38   ` Andi Kleen
2005-12-01  4:08     ` Zwane Mwaikambo
2005-12-01 13:05       ` Andi Kleen
2005-12-01 17:01         ` Zwane Mwaikambo

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=20051129151515.GG19515@wotan.suse.de \
    --to=ak@suse.de \
    --cc=discuss@x86-64.org \
    --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

all inboxes | Powered by JetHome®