http://defect.opensolaris.org/bz/show_bug.cgi?id=4015
--- Comment #11 from Aubrey.Li <aubrey.li at intel.com> 2008-10-24 17:48:40 ---
Hi Eric,
Let's take a look what the code does.
/*
* Balance across siblings in the CPUs CMT lineage
*/
do {
pg = GROUP_ACCESS(cmt_pgs, level);
/*
* assume level = 4, ipipe group
* 1. let's get "cmt_pgs" first.
* > cpus::print cpu_t cpu_pg | ::print cpu_pg_t cmt_pgs
* {
* cmt_pgs.grp_size = 0x5
* cmt_pgs.grp_capacity = 0x8
* cmt_pgs.grp_set = 0xffffff014e1ebf80
* }
* > 0xffffff014e1ebf80/5K
* 0xffffff014e1ebf80: ffffff014dc4a250 ffffff014dc4a198
* ffffff014dc4a308 ffffff014dc4a0e0 ffffff014dc4a478
* 2. this is pg.
* > ffffff014dc4a478::print pg_cmt_t
* {
* cmt_pg = {
* pghw_pg = {
* pg_id = 0
* pg_relation = 1 (PGR_PHYSICAL)
* pg_class = 0xffffff014e1ef3f8
* pg_cpus = {
* grp_size = 0x2
* grp_capacity = 0x2
* grp_set = 0xffffff014e04d8a8
* }
* pg_cb = {
* thread_swtch = cmt_ev_thread_swtch
* thread_remain = pg_null_op
* }
* }
* pghw_hw = 1 (PGHW_IPIPE)
* pghw_instance = 0
* pghw_handle = 0
* pghw_kstat = 0xffffff014e0e36b0
* }
* cmt_siblings = 0xffffff014e04db78
* cmt_parent = 0xffffff014dc4a0e0
* cmt_children = 0
* cmt_policy = 0x1
* cmt_utilization = 0x2
* cmt_nchildren = 0
* cmt_hint = 0
* cmt_cpus_actv = {
* grp_size = 0x2
* grp_capacity = 0x2
* grp_set = 0xffffff014e04d8f8
* }
* cmt_cpus_actv_set = {
* bs_set = 0xffffff014d73ce00
* bs_words = 0x1
* }
* }
*/
siblings = pg->cmt_siblings;
/*
* 3. get the siblings
* > 0xffffff014e04db78::print group_t
* {
* grp_size = 0x1
* grp_capacity = 0x2
* grp_set = 0xffffff014e04dba0
* }
*/
nsiblings = GROUP_SIZE(siblings); /* self inclusive */
/*
* 4. nsiblings = siblings->grp_size = 1
*/
if (nsiblings == 1)
continue; /* nobody to balance against */
/*
* 5. if nsiblings = 1, ipipe group will be ignored.
*/
----snip-----
} while (++level < GROUP_SIZE(cmt_pgs));
That is not what cmt dispatcher expected, is it?
--
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.