Page MenuHomeFreeBSD

D17465.1790725722.diff
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

D17465.1790725722.diff

Index: sys/x86/x86/mp_x86.c
===================================================================
--- sys/x86/x86/mp_x86.c
+++ sys/x86/x86/mp_x86.c
@@ -492,7 +492,7 @@
int type;
int subtype;
int id_shift;
- } topo_layers[MAX_CACHE_LEVELS + 4];
+ } topo_layers[MAX_CACHE_LEVELS + 5];
struct topo_node *parent;
struct topo_node *node;
int layer;
@@ -524,6 +524,12 @@
printf("Package ID shift: %u\n", topo_layers[nlayers].id_shift);
nlayers++;
+ topo_layers[nlayers].type = TOPO_TYPE_NODE;
+ topo_layers[nlayers].id_shift = pkg_id_shift;
+ if (bootverbose)
+ printf("Node ID shift: %u\n", topo_layers[nlayers].id_shift);
+ nlayers++;
+
if (pkg_id_shift > node_id_shift && node_id_shift != 0) {
topo_layers[nlayers].type = TOPO_TYPE_GROUP;
topo_layers[nlayers].id_shift = node_id_shift;
@@ -796,7 +802,8 @@
node = root;
while (node != NULL) {
if ((node->type != TOPO_TYPE_GROUP &&
- node->type != TOPO_TYPE_CACHE) ||
+ node->type != TOPO_TYPE_CACHE &&
+ node->type != TOPO_TYPE_NODE) ||
(root->type != TOPO_TYPE_SYSTEM &&
CPU_CMP(&node->cpuset, &root->cpuset) == 0)) {
node = topo_next_node(root, node);
@@ -817,7 +824,8 @@
i = 0;
while (node != NULL) {
if ((node->type != TOPO_TYPE_GROUP &&
- node->type != TOPO_TYPE_CACHE) ||
+ node->type != TOPO_TYPE_CACHE &&
+ node->type != TOPO_TYPE_NODE) ||
(root->type != TOPO_TYPE_SYSTEM &&
CPU_CMP(&node->cpuset, &root->cpuset) == 0)) {
node = topo_next_node(root, node);

File Metadata

Mime Type
text/plain
Expires
Tue, Sep 29, 11:48 PM (7 h, 7 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30020502
Default Alt Text
D17465.1790725722.diff (1 KB)

Event Timeline