Assignmet of CPUs

David King ketralnis at ketralnis.dyndns.org
Thu Jun 2 17:35:34 PDT 2005


> 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 <oceanare at pacific.net.sg> 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.
>
> _______________________________________________
> freebsd-smp at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-smp
> To unsubscribe, send any mail to "freebsd-smp-unsubscribe at freebsd.org"



More information about the freebsd-smp mailing list