On Thu, Feb 02, 2006 at 03:01:12PM -0800, Roman wrote:
> I thought an OS kernel was supposed to synchronise hardware counters
> on multiple CPUs when it was loading??

It does when it can.  On x86 hardware, depending on how the BIOS sets things
up, it can be impossible.  On Sparc, there *will* be a tick register that
is synchronized across all chips, but it may not be %tick;  for USIII and
greater, it's %stick (shared tick), an MSR.

> In regard to %tick being privileged register: yes and no. There is
> flag in that register the kernel can set, to allow user processes
> access to it. Earlier versions of Solaris made it privileged, but the
> later version allow user processes to read it.

Ah, you're right;  I was using "rdpr" instead of "rd"; it works, now.

The thing is, %tick is not guaranteed to be in sync, or even constant-rate,
on USIII and later UltraSparc chips.  Power management, in particular, can
cause it to slow down.

Cheers,
- jonathan

-- 
Jonathan Adams, Solaris Kernel Development
_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org

Reply via email to