http://defect.opensolaris.org/bz/show_bug.cgi?id=4343


Eric Saxe <eric.saxe at sun.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ACCEPTED                    |CAUSEKNOWN




--- Comment #4 from Eric Saxe <eric.saxe at sun.com>  2008-11-04 16:22:33 ---
(In reply to comment #3)
> Do we really need to sort the PGs by number of CPUs?

Given the way the load balancing algorithm currently works, I believe that's
the case Aubrey. Given the hierarchy, it's assumed that the next level up is a
superset (in terms of the CPUs) of the current level. That's because if we're
balancing load the within the socket (for example) it's assumed that the load
is already balanced across the sockets (at a higher level). If a grouping at
the core level were to reside above the socket level, this wouldn't work.

> IMHO, the hard coded order is good enough.
> ========
> PGHW_IPIPE,
> PGHW_CACHE,
> PGHW_FPU,
> PGHW_MPIPE,
> PGHW_CHIP,
> PGHW_MEMORY,
> PGHW_POW_ACTIVE,
> PGHW_POW_IDLE,
> ========
> 
>> When the pg is added to the cmt_pgs, the order is from end to the beginning.
> So the final order looks like:
> ========
> PGHW_POW_IDLE,
> PGHW_POW_ACTIVE,
> PGHW_MEMORY,
> PGHW_CHIP,
> PGHW_MPIPE,
> PGHW_FPU,
> PGHW_CACHE,
> PGHW_IPIPE,
> ========

...and it was originally hard coded in this way. But what spoiled all the fun,
is that the groupings defined by ACPI (the power domains) appear at a variable
level of the hierarchy (some systems it's at the core level, some at the socket
level, and on some systems we see the ACTIVE domain defined by BIOS at the
system wide level. So it doesn't seem like we can know the order until run
time..

> When the policy is CMT_COALESCE, we want core level first and then package
> level. 

Well, we coalesce the load onto a small number of packages...and then within
each package we coalesce onto a small number of cores...

> And if the policy is CMT_BALANCE, we want the package level first and
> then core level.

Right, but it's the same for both. Implement policy at the across the larger
groupings first, and then within those groupings.

-- 
Configure bugmail: http://defect.opensolaris.org/bz/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

Reply via email to