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