summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/benchmark.h26
-rw-r--r--includes/cpu_util.h1
-rw-r--r--includes/hardinfo.h1
-rw-r--r--includes/x86/processor-platform.h3
4 files changed, 28 insertions, 3 deletions
diff --git a/includes/benchmark.h b/includes/benchmark.h
index 39de042b..277f0c07 100644
--- a/includes/benchmark.h
+++ b/includes/benchmark.h
@@ -27,9 +27,29 @@ void benchmark_nqueens(void);
void benchmark_raytrace(void);
void benchmark_zlib(void);
-gdouble benchmark_parallel_for(guint start, guint end,
+typedef struct {
+ double result;
+ double elapsed_time;
+ int threads_used;
+} bench_value;
+
+#define EMPTY_BENCH_VALUE {-1.0f,0,0}
+
+char *bench_value_to_str(bench_value r);
+bench_value bench_value_from_str(const char* str);
+
+/* Note:
+ * benchmark_parallel_for(): element [start] included, but [end] is excluded.
+ * callback(): expected to processes elements [start] through [end] inclusive.
+ */
+bench_value benchmark_parallel_for(gint n_threads, guint start, guint end,
+ gpointer callback, gpointer callback_data);
+
+bench_value benchmark_parallel(gint n_threads, gpointer callback, gpointer callback_data);
+
+bench_value benchmark_crunch_for(float seconds, gint n_threads,
gpointer callback, gpointer callback_data);
-extern gdouble bench_results[BENCHMARK_N_ENTRIES];
+extern bench_value bench_results[BENCHMARK_N_ENTRIES];
-#endif /* __BENCHMARK_H__ */ \ No newline at end of file
+#endif /* __BENCHMARK_H__ */
diff --git a/includes/cpu_util.h b/includes/cpu_util.h
index da581a78..c11d3f69 100644
--- a/includes/cpu_util.h
+++ b/includes/cpu_util.h
@@ -25,6 +25,7 @@ typedef struct {
gint cpukhz_max, cpukhz_min, cpukhz_cur;
gchar *scaling_driver, *scaling_governor;
gint transition_latency;
+ gchar *shared_list;
} cpufreq_data;
typedef struct {
diff --git a/includes/hardinfo.h b/includes/hardinfo.h
index f42f1e6c..637aa1fd 100644
--- a/includes/hardinfo.h
+++ b/includes/hardinfo.h
@@ -55,6 +55,7 @@ struct _ProgramParameters {
gchar **use_modules;
gchar *run_benchmark;
+ gchar *result_format;
gchar *path_lib;
gchar *path_data;
gchar *argv0;
diff --git a/includes/x86/processor-platform.h b/includes/x86/processor-platform.h
index 57a9830c..a89a831f 100644
--- a/includes/x86/processor-platform.h
+++ b/includes/x86/processor-platform.h
@@ -30,6 +30,9 @@ struct _ProcessorCache {
gint size;
gchar *type;
gint ways_of_associativity;
+ gint uid; /* uid is unique among caches with the same (type, level) */
+ gchar *shared_cpu_list; /* some kernel's don't give a uid, so try shared_cpu_list */
+ gint phy_sock;
};
struct _Processor {