diff options
Diffstat (limited to 'include/litmus')
-rw-r--r-- | include/litmus/clustered.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/include/litmus/clustered.h b/include/litmus/clustered.h index cad12467b4ee..0c18dcb15e6c 100644 --- a/include/litmus/clustered.h +++ b/include/litmus/clustered.h | |||
@@ -19,4 +19,26 @@ const char* cache_level_name(enum cache_level level); | |||
19 | struct proc_dir_entry* create_cluster_file(struct proc_dir_entry* parent, | 19 | struct proc_dir_entry* create_cluster_file(struct proc_dir_entry* parent, |
20 | enum cache_level* level); | 20 | enum cache_level* level); |
21 | 21 | ||
22 | |||
23 | |||
24 | struct scheduling_cluster { | ||
25 | unsigned int id; | ||
26 | /* list of CPUs that are part of this cluster */ | ||
27 | struct list_head cpus; | ||
28 | }; | ||
29 | |||
30 | struct cluster_cpu { | ||
31 | unsigned int id; /* which CPU is this? */ | ||
32 | struct list_head cluster_list; /* List of the CPUs in this cluster. */ | ||
33 | struct scheduling_cluster* cluster; /* The cluster that this CPU belongs to. */ | ||
34 | }; | ||
35 | |||
36 | int get_cluster_size(enum cache_level level); | ||
37 | |||
38 | int assign_cpus_to_clusters(enum cache_level level, | ||
39 | struct scheduling_cluster* clusters[], | ||
40 | unsigned int num_clusters, | ||
41 | struct cluster_cpu* cpus[], | ||
42 | unsigned int num_cpus); | ||
43 | |||
22 | #endif | 44 | #endif |