Hello gerry, hello kit I tested your fix proposal on my opteron system (before kit answered).
With this fix, the system boots, but the lgrp framework doesn't seem to be initialized properly. The latency stats are weird. > lgrp_plat_node_domain::print [ { exists = 0x1 prox_domain = 0x2 } { exists = 0x1 prox_domain = 0x1 } { exists = 0 prox_domain = 0 } { exists = 0 prox_domain = 0 } { exists = 0 prox_domain = 0 } { exists = 0 prox_domain = 0 } { exists = 0 prox_domain = 0 } { exists = 0 prox_domain = 0 } ] > lgrp_plat_cpu_node::print [ { exists = 0x1 node = 0x1 apicid = 0 prox_domain = 0x1 } { exists = 0x1 node = 0 apicid = 0x2 prox_domain = 0x2 } { exists = 0x1 node = 0x1 apicid = 0x1 prox_domain = 0x1 } { exists = 0x1 node = 0 apicid = 0x3 prox_domain = 0x2 } { exists = 0 node = 0 apicid = 0 prox_domain = 0 } { exists = 0 node = 0 apicid = 0 prox_domain = 0 } { exists = 0 node = 0 apicid = 0 prox_domain = 0 } { exists = 0 node = 0 apicid = 0 prox_domain = 0 } { exists = 0 node = 0 apicid = 0 > lgrp_plat_node_memory::print [ { start = 0x80000 end = 0xfffff exists = 0x1 prox_domain = 0x2 } { start = 0 end = 0x7ffff exists = 0x1 prox_domain = 0x1 } { start = 0 end = 0 exists = 0 prox_domain = 0 } { start = 0 end = 0 exists = 0 prox_domain = 0 } { start = 0 end = 0 exists = 0 prox_domain = 0 } { start = 0 end = 0 exists = 0 prox_domain = 0 } { start = 0 end = 0 exists = 0 prox_domain = 0 } { start = 0 end = 0 exists = 0 prox_domain = 0 } ] > lgrp_plat_lat_stats::print { latencies = [ [ 0x2, 0x3, 0, 0, 0, 0, 0, 0 ] [ 0x3, 0x2, 0, 0, 0, 0, 0, 0 ] [ 0, 0, 0, 0, 0, 0, 0, 0 ] [ 0, 0, 0, 0, 0, 0, 0, 0 ] [ 0, 0, 0, 0, 0, 0, 0, 0 ] [ 0, 0, 0, 0, 0, 0, 0, 0 ] [ 0, 0, 0, 0, 0, 0, 0, 0 ] [ 0, 0, 0, 0, 0, 0, 0, 0 ] ] latency_max = 0x3 latency_min = 0x2 } bash-3.2# lgrpinfo -Ta $0 |-- 1 | CPUs: 0 2 | Memory: installed 2.0G, allocated 196M, free 1.8G | Load: 4.58e-05 | Latency: 2 `-- 2 CPUs: 1 3 Memory: installed 1.8G, allocated 519M, free 1.3G Load: 0.603 Latency: 2 Lgroup latencies: --------- | 0 1 2 --------- 0 | 3 3 3 1 | 3 2 3 2 | 3 3 2 --------- bash-3.2# lgrpinfo lgroup 0 (root): Children: 1 2 CPUs: 0-3 Memory: installed 3.8G, allocated 715M, free 3.1G Lgroup resources: 1 2 (CPU); 1 2 (memory) Latency: 3 lgroup 1 (leaf): Children: none, Parent: 0 CPUs: 0 2 Memory: installed 2.0G, allocated 198M, free 1.8G Lgroup resources: 1 (CPU); 1 (memory) Load: 0.503 Latency: 2 lgroup 2 (leaf): Children: none, Parent: 0 CPUs: 1 3 Memory: installed 1.8G, allocated 517M, free 1.3G Lgroup resources: 2 (CPU); 2 (memory) Load: 0.13 Latency: 2 The result is very different from what we get when srat is disabled (with my patch proposal) : bash-3.2# lgrpinfo lgroup 0 (root): Children: 1 2 CPUs: 0-3 Memory: installed 3.8G, allocated 1.1G, free 2.7G Lgroup resources: 1 2 (CPU); 1 2 (memory) Latency: 139 lgroup 1 (leaf): Children: none, Parent: 0 CPUs: 0 2 Memory: installed 2.0G, allocated 411M, free 1.6G Lgroup resources: 1 (CPU); 1 (memory) Load: 0.497 Latency: 105 lgroup 2 (leaf): Children: none, Parent: 0 CPUs: 1 3 Memory: installed 1.8G, allocated 722M, free 1.1G Lgroup resources: 2 (CPU); 2 (memory) Load: 0.0722 Latency: 105 bash-3.2# lgrpinfo -Ta 0 |-- 1 | CPUs: 0 2 | Memory: installed 2.0G, allocated 409M, free 1.6G | Load: 0.0392 | Latency: 105 `-- 2 CPUs: 1 3 Memory: installed 1.8G, allocated 724M, free 1.1G Load: 0.54 Latency: 105 Lgroup latencies: --------------- | 0 1 2 --------------- 0 | 139 139 139 1 | 139 105 139 2 | 139 139 105 --------------- Thank you Guy -- This message posted from opensolaris.org _______________________________________________ opensolaris-code mailing list opensolaris-code@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/opensolaris-code