examples/l3fwd: fix error checking
[dpdk.git] / examples / vm_power_manager / power_manager.h
index 8a8a84a..e324766 100644 (file)
@@ -9,8 +9,41 @@
 extern "C" {
 #endif
 
-/* Maximum number of CPUS to manage */
-#define POWER_MGR_MAX_CPUS 64
+#define FREQ_WINDOW_SIZE 32
+
+enum {
+       FREQ_UNKNOWN,
+       FREQ_MIN,
+       FREQ_MAX
+};
+
+struct core_details {
+       uint64_t last_branches;
+       uint64_t last_branch_misses;
+       uint16_t global_enabled_cpus;
+       uint16_t oob_enabled;
+       int msr_fd;
+       uint16_t freq_directions[FREQ_WINDOW_SIZE];
+       uint16_t freq_window_idx;
+       uint16_t freq_state;
+};
+
+struct core_info {
+       uint16_t core_count;
+       struct core_details *cd;
+       float branch_ratio_threshold;
+};
+
+#define BRANCH_RATIO_THRESHOLD 0.1
+
+struct core_info *
+get_core_info(void);
+
+int
+core_info_init(void);
+
+#define RTE_LOGTYPE_POWER_MANAGER RTE_LOGTYPE_USER1
+
 /**
  * Initialize power management.
  * Initializes resources and verifies the number of CPUs on the system.