Rafael Vanoni wrote: > I've read a good deal of code involving lpl's but I'd like to clear a > couple of ideas around it. If anyone could comment on these, I'd > appreciate it. > > (a) lpl's are used to determine the load average of lgroups, which is > used by the dispatcher to load balance threads around > > (b) each lgrp has a lpl, which in turn may have leaf lpl's for each cpu > in that lgrp > > (c) lpl topology is created by lgrp code > > (d) only leaf lpl's have CPUs > > (e) lpl's are the intersection of lgroups and CPU partitions > > I'm trying to understand where lpl's fir in the lgrp/cpus picture and > what are their goal besides keep load averages (if any).
lpls came about because of the orthogonal partitioning potential created by the use of processors sets on machines w/ lgroups. When creating a new thread in a processor set that crosses lgroups, a selection must be made using load averages that doesn't take into account CPUs on which the new thread cannot run - e.g., those outside the current processor set. As a result, we devised lpls to maintain load averages for each lgroup or fraction thereof that was present in each processor set. The code is a little fussy, but we haven't come up w/ a better way of doing this yet. - Bart -- Bart Smaalders Solaris Kernel Performance [EMAIL PROTECTED] http://blogs.sun.com/barts "You will contribute more with mercurial than with thunderbird." _______________________________________________ perf-discuss mailing list perf-discuss@opensolaris.org