From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Hunt Subject: [RFC 03/10] lib/librte_power: add extra msg type for policies Date: Fri, 4 Aug 2017 14:54:40 +0100 Message-ID: <1501854887-42427-4-git-send-email-david.hunt@intel.com> References: <1501854887-42427-1-git-send-email-david.hunt@intel.com> Cc: thomas@monjalon.net, jingjing.wu@intel.com, David Hunt , Nemanja Marjanovic , Rory Sexton To: dev@dpdk.org Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 95BA638EB for ; Fri, 4 Aug 2017 15:55:06 +0200 (CEST) In-Reply-To: <1501854887-42427-1-git-send-email-david.hunt@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Signed-off-by: Nemanja Marjanovic Signed-off-by: Rory Sexton Signed-off-by: David Hunt --- lib/librte_power/channel_commands.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/lib/librte_power/channel_commands.h b/lib/librte_power/channel_commands.h index 383897b..79799b7 100644 --- a/lib/librte_power/channel_commands.h +++ b/lib/librte_power/channel_commands.h @@ -46,17 +46,50 @@ extern "C" { /* Valid Commands */ #define CPU_POWER 1 #define CPU_POWER_CONNECT 2 +#define PKT_POLICY 3 /* CPU Power Command Scaling */ #define CPU_POWER_SCALE_UP 1 #define CPU_POWER_SCALE_DOWN 2 #define CPU_POWER_SCALE_MAX 3 #define CPU_POWER_SCALE_MIN 4 +#define HOURS 24 +#define MAX_VFS 10 + +typedef enum {false, true} bool; + +struct t_boost_status { + bool tbEnabled; +}; + +struct timer_profile { + int busy_hours[HOURS]; + int quiet_hours[HOURS]; + int hours_to_use_traffic_profile[HOURS]; +}; + +enum workload {HIGH, MEDIUM, LOW}; +enum policy_to_use {TRAFFIC, TIME, WORKLOAD}; + +struct traffic { + uint32_t min_packet_thresh; + uint32_t avg_max_packet_thresh; + uint32_t max_max_packet_thresh; +}; struct channel_packet { uint64_t resource_id; /**< core_num, device */ uint32_t unit; /**< scale down/up/min/max */ uint32_t command; /**< Power, IO, etc */ + char vm_name[32]; + uint64_t vfid[MAX_VFS]; + int nb_mac_to_monitor; + uint8_t vcpu_to_control[5]; + struct traffic traffic_policy; + struct timer_profile timer_policy; + enum workload workload; + enum policy_to_use policy_to_use; + struct t_boost_status t_boost_status; }; -- 2.7.4