@@ -158,7 +158,7 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology,
158
158
159
159
else if (!strcmp (name , "cache_size" )) {
160
160
unsigned long long lvalue = strtoull (value , NULL , 10 );
161
- if (hwloc__obj_type_is_cache (obj -> type ) || obj -> type == _HWLOC_OBJ_CACHE_OLD )
161
+ if (hwloc__obj_type_is_cache (obj -> type ) || obj -> type == _HWLOC_OBJ_CACHE_OLD || obj -> type == HWLOC_OBJ_MEMCACHE )
162
162
obj -> attr -> cache .size = lvalue ;
163
163
else if (hwloc__xml_verbose ())
164
164
fprintf (stderr , "%s: ignoring cache_size attribute for non-cache object type\n" ,
@@ -167,7 +167,7 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology,
167
167
168
168
else if (!strcmp (name , "cache_linesize" )) {
169
169
unsigned long lvalue = strtoul (value , NULL , 10 );
170
- if (hwloc__obj_type_is_cache (obj -> type ) || obj -> type == _HWLOC_OBJ_CACHE_OLD )
170
+ if (hwloc__obj_type_is_cache (obj -> type ) || obj -> type == _HWLOC_OBJ_CACHE_OLD || obj -> type == HWLOC_OBJ_MEMCACHE )
171
171
obj -> attr -> cache .linesize = lvalue ;
172
172
else if (hwloc__xml_verbose ())
173
173
fprintf (stderr , "%s: ignoring cache_linesize attribute for non-cache object type\n" ,
@@ -176,7 +176,7 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology,
176
176
177
177
else if (!strcmp (name , "cache_associativity" )) {
178
178
int lvalue = atoi (value );
179
- if (hwloc__obj_type_is_cache (obj -> type ) || obj -> type == _HWLOC_OBJ_CACHE_OLD )
179
+ if (hwloc__obj_type_is_cache (obj -> type ) || obj -> type == _HWLOC_OBJ_CACHE_OLD || obj -> type == HWLOC_OBJ_MEMCACHE )
180
180
obj -> attr -> cache .associativity = lvalue ;
181
181
else if (hwloc__xml_verbose ())
182
182
fprintf (stderr , "%s: ignoring cache_associativity attribute for non-cache object type\n" ,
@@ -185,7 +185,7 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology,
185
185
186
186
else if (!strcmp (name , "cache_type" )) {
187
187
unsigned long lvalue = strtoul (value , NULL , 10 );
188
- if (hwloc__obj_type_is_cache (obj -> type ) || obj -> type == _HWLOC_OBJ_CACHE_OLD ) {
188
+ if (hwloc__obj_type_is_cache (obj -> type ) || obj -> type == _HWLOC_OBJ_CACHE_OLD || obj -> type == HWLOC_OBJ_MEMCACHE ) {
189
189
if (lvalue == HWLOC_OBJ_CACHE_UNIFIED
190
190
|| lvalue == HWLOC_OBJ_CACHE_DATA
191
191
|| lvalue == HWLOC_OBJ_CACHE_INSTRUCTION )
@@ -211,7 +211,7 @@ hwloc__xml_import_object_attr(struct hwloc_topology *topology,
211
211
212
212
else if (!strcmp (name , "depth" )) {
213
213
unsigned long lvalue = strtoul (value , NULL , 10 );
214
- if (hwloc__obj_type_is_cache (obj -> type ) || obj -> type == _HWLOC_OBJ_CACHE_OLD ) {
214
+ if (hwloc__obj_type_is_cache (obj -> type ) || obj -> type == _HWLOC_OBJ_CACHE_OLD || obj -> type == HWLOC_OBJ_MEMCACHE ) {
215
215
obj -> attr -> cache .depth = lvalue ;
216
216
} else if (obj -> type == HWLOC_OBJ_GROUP || obj -> type == HWLOC_OBJ_BRIDGE ) {
217
217
/* will be overwritten by the core */
@@ -796,13 +796,6 @@ hwloc__xml_import_object(hwloc_topology_t topology,
796
796
state -> global -> msgprefix );
797
797
goto error_with_object ;
798
798
}
799
- } else if (!strcasecmp (attrvalue , "MemCache" )) {
800
- /* ignore likely-future types */
801
- obj -> type = _HWLOC_OBJ_FUTURE ;
802
- ignored = 1 ;
803
- if (hwloc__xml_verbose ())
804
- fprintf (stderr , "%s: %s object not-supported, will be ignored\n" ,
805
- state -> global -> msgprefix , attrvalue );
806
799
} else {
807
800
if (hwloc__xml_verbose ())
808
801
fprintf (stderr , "%s: unrecognized object type string %s\n" ,
@@ -2034,6 +2027,7 @@ hwloc__xml_export_object_contents (hwloc__xml_export_state_t state, hwloc_topolo
2034
2027
case HWLOC_OBJ_L1ICACHE :
2035
2028
case HWLOC_OBJ_L2ICACHE :
2036
2029
case HWLOC_OBJ_L3ICACHE :
2030
+ case HWLOC_OBJ_MEMCACHE :
2037
2031
sprintf (tmp , "%llu" , (unsigned long long ) obj -> attr -> cache .size );
2038
2032
state -> new_prop (state , "cache_size" , tmp );
2039
2033
sprintf (tmp , "%u" , obj -> attr -> cache .depth );
0 commit comments