site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com Am 29.09.2004 um 15:54 schrieb John Siracusa: One theory presented to explain the results was that the kernel is taking CPU temperature into account when doling out CPU cycles. Well, I'm not really a kernel expert, but the scheduler's task is to decide which process/thread gets the next CPU quantum, where a CPU quantum is about 10 ms. If there's no process in need of processing time, it sends the CPU into doze mode. Cheers, -- stix _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... On Thursday, Sep 30, 2004, at 01:00 Australia/Sydney, John Siracusa wrote: On Wed, 29 Sep 2004 16:27:38 +0200, Markus Hitter <mah@jump-ing.de> wrote: The observed result of the test program is that it runs at X iterations/sec for some time, then drops to X - N iterations/sec for the remainder. The drop seems to coincide with a CPU temp that passes some threshold. Well, it appears the thermal throttling that could be done in the T_THERMAL interrupt handler in: xnu/osfmk/ppc/interrupt.c: interrupt() is #ifdef'ed out, at least in the older publicly available versions I've checked. I note that this code has been removed somewhere between 10.3.2 and 10.3.5. Looks like something else is doing this throttling now, judging by the "deprecated" comments in xnu/osfmk/ppc/machine_routines_asm.s, and the fact that the only reference I can find in the 10.3.5 xnu source to CPU thermal interrupts is in CHUD, and that's just a counter. Just curious: Are any "THERMAL" type messages dumped to the syslog? Another option may be to look at CHUD - maybe the above counter is accessible; I don't have a 10.3.x capable machine ATM to check. This email sent to site_archiver@lists.apple.com