2 enum libbenchmark_topology_string_format
4 LIBBENCHMARK_TOPOLOGY_STRING_FORMAT_STDOUT,
5 LIBBENCHMARK_TOPOLOGY_STRING_FORMAT_GNUPLOT
8 enum libbenchmark_topology_numa_mode
10 LIBBENCHMARK_TOPOLOGY_NUMA_MODE_SMP,
11 LIBBENCHMARK_TOPOLOGY_NUMA_MODE_NUMA,
12 LIBBENCHMARK_TOPOLOGY_NUMA_MODE_NUMA_BUT_NOT_USED
15 enum libbenchmark_topology_query
17 LIBBENCHMARK_TOPOLOGY_QUERY_GET_NUMBER_OF_NODE_TYPE,
18 LIBBENCHMARK_TOPOLOGY_QUERY_GET_NUMA_NODE_FOR_LOGICAL_PROCESSOR
22 struct libbenchmark_topology_state
27 struct lfds710_btree_au_state
28 lp_printing_offset_lookup_tree,
32 struct libbenchmark_topology_logical_processor_set
34 struct lfds710_list_aso_state
37 struct lfds710_list_asu_element
41 struct libbenchmark_topology_iterate_state
43 enum libbenchmark_topology_node_type
46 struct lfds710_btree_au_element
50 struct libbenchmark_topology_numa_node
52 enum libbenchmark_topology_numa_mode
55 struct lfds710_list_asu_element
59 /***** public prototypes *****/
60 int libbenchmark_topology_init( struct libbenchmark_topology_state *ts, struct libshared_memory_state *ms );
61 void libbenchmark_topology_cleanup( struct libbenchmark_topology_state *ts );
63 void libbenchmark_topology_insert( struct libbenchmark_topology_state *ts, struct libbenchmark_topology_node_state *tns );
65 int libbenchmark_topology_compare_logical_processor_function( void const *new_key, void const *existing_key );
67 void libbenchmark_topology_generate_deduplicated_logical_processor_sets( struct libbenchmark_topology_state *ts, struct libshared_memory_state *ms, struct lfds710_list_asu_state *lp_sets );
69 void libbenchmark_topology_generate_numa_modes_list( struct libbenchmark_topology_state *ts, enum libbenchmark_topology_numa_mode numa_mode, struct libshared_memory_state *ms, struct lfds710_list_asu_state *numa_modes_list );
71 char *libbenchmark_topology_generate_string( struct libbenchmark_topology_state *ts, struct libshared_memory_state *ms, enum libbenchmark_topology_string_format format );
72 char *libbenchmark_topology_generate_lpset_string( struct libbenchmark_topology_state *ts, struct libshared_memory_state *ms, struct lfds710_list_aso_state *lpset );
74 int libbenchmark_topology_compare_lp_printing_offsets_function( void const *new_key, void const *existing_key );
75 int libbenchmark_topology_compare_node_against_lp_printing_offset_function( void const *new_key, void const *existing_key );
77 void libbenchmark_topology_iterate_init( struct libbenchmark_topology_iterate_state *tis, enum libbenchmark_topology_node_type type );
78 int libbenchmark_topology_iterate( struct libbenchmark_topology_state *ts, struct libbenchmark_topology_iterate_state *tis, struct libbenchmark_topology_node_state **tns );
80 void libbenchmark_topology_query( struct libbenchmark_topology_state *ts, enum libbenchmark_topology_query query_type, void *query_input, void *query_output );