#
3cb46d40 |
| 14-Jul-2020 |
Rory Sexton <rory.sexton@intel.com> |
examples/vm_power: allow managing idle cores
This change is required to allow the branch ratio algorithm to power manage cores with no workload running on them. This is useful both when idle cores d
examples/vm_power: allow managing idle cores
This change is required to allow the branch ratio algorithm to power manage cores with no workload running on them. This is useful both when idle cores don't use C-states and for a number of hyperthreading scenarios.
Signed-off-by: Rory Sexton <rory.sexton@intel.com> Reviewed-by: David Hunt <david.hunt@intel.com> Acked-by: Reshma Pattan <reshma.pattan@intel.com>
show more ...
|
#
95f648ff |
| 14-Jul-2020 |
Rory Sexton <rory.sexton@intel.com> |
examples/vm_power: make branch ratio threshold per core
This modification allows for the branch ratio threshold to be set per core rather than system wide. This gives greater flexibility to the bran
examples/vm_power: make branch ratio threshold per core
This modification allows for the branch ratio threshold to be set per core rather than system wide. This gives greater flexibility to the branch ratio monitoring allowing it to manage different workloads with different characteristics on the same system.
Signed-off-by: Rory Sexton <rory.sexton@intel.com> Reviewed-by: David Hunt <david.hunt@intel.com> Acked-by: Reshma Pattan <reshma.pattan@intel.com>
show more ...
|
#
31c9a664 |
| 24-Jul-2019 |
David Hunt <david.hunt@intel.com> |
examples/vm_power: fix OOB frequency oscillations
The branch ratio algorithm in the vm_power_manager sample application can be very sensitive at patricular loads in a workload, causing oscillations
examples/vm_power: fix OOB frequency oscillations
The branch ratio algorithm in the vm_power_manager sample application can be very sensitive at patricular loads in a workload, causing oscillations between min and max frequency. For example, if a workload is at 50%, scaling up may change the ratio enough that it immediately thinks it needs to scale down again.
This patch introduces a sliding window recording the scale up/down direction for the last 32 samples, and scales up if any samples indicate we should scale up, otherwise scale down. Each core has it's own window.
Fixes: 4b1a631b8a8a ("examples/vm_power: add oob monitoring functions") Cc: stable@dpdk.org
Signed-off-by: David Hunt <david.hunt@intel.com> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
show more ...
|
#
7e7b7a1f |
| 11-Apr-2019 |
Reshma Pattan <reshma.pattan@intel.com> |
examples/power: fix overflowed value
Fix the data type of last_branches, last_branch_misses from uint32_t to uint64_t, and for hits_diff, miss_diff from int to int64_t respectively to fix possible o
examples/power: fix overflowed value
Fix the data type of last_branches, last_branch_misses from uint32_t to uint64_t, and for hits_diff, miss_diff from int to int64_t respectively to fix possible overflow or truncation.
Coverity issue: 337677 Fixes: 4b1a631b8a ("examples/vm_power: add oob monitoring functions") Cc: stable@dpdk.org
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com> Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
show more ...
|
#
711f43ba |
| 13-Jul-2018 |
David Hunt <david.hunt@intel.com> |
examples/vm_power: make branch ratio configurable
For different workloads and poll loops, the theshold may be different for when you want to scale up and down.
This patch allows changing of the def
examples/vm_power: make branch ratio configurable
For different workloads and poll loops, the theshold may be different for when you want to scale up and down.
This patch allows changing of the default branch ratio by using the -b command line argument (or --branch-ratio=)
Signed-off-by: David Hunt <david.hunt@intel.com> Acked-by: Radu Nicolau <radu.nicolau@intel.com>
show more ...
|
#
4b1a631b |
| 13-Jul-2018 |
David Hunt <david.hunt@intel.com> |
examples/vm_power: add oob monitoring functions
This patch introduces the out-of-band (oob) core monitoring functions.
The functions are similar to the channel manager functions. There are function
examples/vm_power: add oob monitoring functions
This patch introduces the out-of-band (oob) core monitoring functions.
The functions are similar to the channel manager functions. There are function to add and remove cores from the list of cores being monitored. There is a function to initialise the monitor setup, run the monitor thread, and exit the monitor.
The monitor thread runs in it's own lcore, and is separate functionality to the channel monitor which is epoll based. THis thread is timer based. It loops through all monitored cores, calculates the branch ratio, scales up or down the core, then sleeps for an interval (~250 uS).
The method it uses to read the branch counters is a pread on the /dev/cpu/x/msr file, so the 'msr' kernel module needs to be loaded. Also, since the msr.h file has been made unavailable in recent kernels, we have #defines for the relevant MSRs included in the code.
The makefile has a switch for x86 and non-x86 platforms, and compiles stub function for non-x86 platforms.
Signed-off-by: David Hunt <david.hunt@intel.com> Acked-by: Radu Nicolau <radu.nicolau@intel.com>
show more ...
|