Well, round-robin startup would at least be better than always using one process to start all processes. That would go some of the way towards improving asymmetric heating. (Says me, whose knowledge of kernel scheduling could be written on the face of a chip and still leave room for footnotes...)

In the spirit of small amounts of scheduling knowledge, are load averages kept on individual processors? Or can they be determined fast enough to not increase the process creation time significantly (or at least to be offset by the speed gained), in order to put a process or thread on the least encumbered processor? top(1) lists the assigned CPU, so it seems like it would be simple enough to determine on-the-fly, but if it's not kept somewhere, I wouldn't want to iterate every process to get its assigned CPU every time I create a new one.

Is there a "scheduling-for-dummies" feasibly (even if not easily) read by non-kernel hackers? :)

David

On 6/1/05, Erich Dollansky <[EMAIL PROTECTED]> wrote:
[...]

The last, but hardly used parameter, is the CPU temperature. I noticed
that FreeBSD tends to use always the same CPU to start a task. This
makes one CPU real hot while the other stays cool. Taking the CPU
temperature into account for starting at least new threads would also
have an advantage of systems with an less then ideal cooling system.

Spreading tasks all over the system with the coolest CPU being the one
to be started next will make systems a bit cooler.

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-smp
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-smp
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to