summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorDavid Hunt <david.hunt@intel.com>2019-01-07 11:39:20 +0000
committerThomas Monjalon <thomas@monjalon.net>2019-01-15 02:40:41 +0100
commitd38e6a6a454d177852bc16b4cb0622fd32852f48 (patch)
treeb2b22cb2b1d52534dd8dd14c919f1be9dbfc26b7 /examples
parent6ff7b996a8a4cf12e0d54110bb2db4c87f72e9f4 (diff)
downloaddpdk-next-eventdev-d38e6a6a454d177852bc16b4cb0622fd32852f48.zip
dpdk-next-eventdev-d38e6a6a454d177852bc16b4cb0622fd32852f48.tar.gz
dpdk-next-eventdev-d38e6a6a454d177852bc16b4cb0622fd32852f48.tar.xz
examples/power: fix core id with JSON commands
This patch fixes a bug introduced in the 64-core limitation enhancement where the core_id is inadvertently converted from virtual to physical even though it may already be a physical core_id. We should be using the core_type field, and only converting via hypervisor when core_type is set to CORE_TYPE_VIRTUAL Fixes: 5776b7a371d1 ("examples/power: allow VM to use lcores over 63") Signed-off-by: David Hunt <david.hunt@intel.com> Reviewed-by: Lei Yao <lei.a.yao@intel.com> Tested-by: Lei Yao <lei.a.yao@intel.com>
Diffstat (limited to 'examples')
-rw-r--r--examples/vm_power_manager/channel_monitor.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/examples/vm_power_manager/channel_monitor.c b/examples/vm_power_manager/channel_monitor.c
index 85622e7..1a3a0fa 100644
--- a/examples/vm_power_manager/channel_monitor.c
+++ b/examples/vm_power_manager/channel_monitor.c
@@ -640,7 +640,10 @@ process_request(struct channel_packet *pkt, struct channel_info *chan_info)
if (pkt->command == CPU_POWER) {
unsigned int core_num;
- core_num = get_pcpu(chan_info, pkt->resource_id);
+ if (pkt->core_type == CORE_TYPE_VIRTUAL)
+ core_num = get_pcpu(chan_info, pkt->resource_id);
+ else
+ core_num = pkt->resource_id;
switch (pkt->unit) {
case(CPU_POWER_SCALE_MIN):