@@ -59,7 +59,7 @@ Step 1. Launch VM using libvirt::
Step 2. Launch VM power manager example on the host to monitor the channel from VM::
- ./examples/vm_power_manager/build/vm_power_mgr -c 0xfffe -n 4 --no-pci
+ ./<build_target>/examples/dpdk-vm_power_manager -c 0xfffe -n 4 --no-pci
vmpower> add_vm [vm name]
vmpower> add_channels [vm name] all
vmpower> set_channel_status [vm name] all enabled
@@ -71,9 +71,9 @@ Step 2. Launch VM power manager example on the host to monitor the channel from
vmpower> set_channel_status ubuntu all enabled
vmpower> show_vm ubuntu
-Step 3. In the VM, launch guest_vm_power_mgr to set and send the power manager policy to the host power example::
+Step 3. In the VM, launch dpdk-guest_cli to set and send the power manager policy to the host power example::
- ./examples/vm_power_manager/guest_cli/build/guest_vm_power_mgr -c 0xfe -n 4 -m 1024 --no-pci --file-prefix=vm_power -- --vm-name=ubuntu --vcpu-list=0-7
+ ./<build_target>/examples/dpdk-guest_cli -c 0xfe -n 4 -m 1024 --no-pci --file-prefix=vm_power -- --vm-name=ubuntu --vcpu-list=0-7
Send command to the core 7 on host APP:
vmpower(guest)> set_cpu_freq 7 down
@@ -100,14 +100,14 @@ Step 1. Launch VM using libvirt::
Step 2. Launch VM power manager example on the host to monitor the channel from VM::
- ./examples/vm_power_manager/build/vm_power_mgr -c 0xfffe -n 4 --no-pci
+ ./<build_target>/examples/dpdk-vm_power_manager -c 0xfffe -n 4 --no-pci
vmpower> add_vm [vm name]
vmpower> add_channels [vm name] all
vmpower> set_channel_status [vm name] all enabled
vmpower> show_vm [vm name]
vmpower> set_query <vm_name> <enable|disable>
-Step 3. Enable the query permission for target VM from host vm_power_mgr example::
+Step 3. Enable the query permission for target VM from host dpdk-vm_power_manager example::
Command format: set_query <vm_name> <enable|disable>
if vm name is ubuntu,command as following:
@@ -115,7 +115,7 @@ Step 3. Enable the query permission for target VM from host vm_power_mgr example
Step 4. Query the CPU frequency for all CPU cores from VM side::
- ./examples/vm_power_manager/guest_cli/build/guest_vm_power_mgr -c 0xfe -n 4 -m 1024 --no-pci --file-prefix=vm_power -- --vm-name=ubuntu --vcpu-list=0-7
+ ./<build_target>/examples/dpdk-guest_cli -c 0xfe -n 4 -m 1024 --no-pci --file-prefix=vm_power -- --vm-name=ubuntu --vcpu-list=0-7
vmpower> query_cpu_freq <core_num> | all
Check vcpu 0~7 frequency info will be returned, for example:
@@ -130,7 +130,7 @@ Step 4. Query the CPU frequency for all CPU cores from VM side::
Step 5. Disable query permission from VM, check the host CPU frequency won't be returned::
- at host side, disable query permission by vm_power_mgr example:
+ at host side, disable query permission by dpdk-vm_power_manager example:
vmpower> set_query ubuntu disable
at VM side, query CPU frequency again, this action should not be executed successfully, log as following:
@@ -164,7 +164,7 @@ Step 5: Query CPU capability for core out of scope, check no CPU info will be re
Step 6: Disable query permission from VM, check the host CPU capability won't be returned::
- at host side, disable query permission by vm_power_mgr example:
+ at host side, disable query permission by dpdk-vm_power_manager example:
vmpower> set_query ubuntu disable
at VM side, query CPU capability again, this action should not be executed successfully, log as following:
@@ -58,17 +58,17 @@ no_turbo_max=$(rdmsr -p 2 0x0CE -f 15:8 -d)00000
Test Case 1 : Set Branch-Ratio Test Rate by User ====================================================================================
1. Launch VM power manager sample on the host to run branch monitor.
-./x86_64-native-linuxapp-gcc/examples/dpdk-vm_power_manager -v -c 0xe -n 1 -m 1024 --no-pci -- --core-branch-ratio=1-3:0.3
+./<build_target>/examples/dpdk-vm_power_manager -v -c 0xe -n 1 -m 1024 --no-pci -- --core-branch-ratio=1-3:0.3
2. Launch testpmd with fwd io mode::
- ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -v -c 0x6 -n 1 -m 1024 --file-prefix=vmpower2 -- -i
+ ./<build_target>/app/dpdk-testpmd -v -c 0x6 -n 1 -m 1024 --file-prefix=vmpower2 -- -i
> start
3. Inject packet with packet generator to the NIC, with line rate,
check the branch ratio and the related CPU frequency, in this case, the
core 2 will be used by testpmd as worker core, branch ratio will be shown as
-following in vm_power_mgr's log output::
+following in dpdk-vm_power_manager's log output::
1: 0.0048 {250065} {20001}
0: 0.0307 {35782} {20000}
@@ -124,7 +124,7 @@ Test Case1 : Basic Training mode test based on one NIC with l3fwd-power
=======================================================================
Step 1. Bind One NIC to DPDK driver, launch l3fwd-power with empty-poll enabled
- ./l3fwd-power -l 1-2 -n 4 -- -p 0x1 -P --config="(0,0,2)" --empty-poll="1,0,0" -l 10 -m 6 -h 1
+ ./<build_target>/examples/dpdk-l3fwd-power -l 1-2 -n 4 -- -p 0x1 -P --config="(0,0,2)" --empty-poll="1,0,0" -l 10 -m 6 -h 1
Step 2. Check the log also when changing the inject packet rate as following:
@@ -139,6 +139,6 @@ Test Case2: No-Training mode test based on one NIC with l3fwd-power
===================================================================
Step 1. Bind One NIC to DPDK driver, launch l3fwd-power with empty-poll enabled
- ./l3fwd-power -l 1-2 -n 4 -- -p 0x1 -P --config="(0,0,2)" --empty-poll="0,350000,500000" -l 10 -m 6 -h 1
+ ./<build_target>/examples/dpdk-l3fwd-power -l 1-2 -n 4 -- -p 0x1 -P --config="(0,0,2)" --empty-poll="0,350000,500000" -l 10 -m 6 -h 1
Step 2. Check no training steps are executed in sample's launch log.
@@ -46,18 +46,18 @@ Preparation work
Test Case1: Inject Malformed JSON Command file to fifo channel
===============================================================
-Step 1. Create powermonitor fold for vm_power_manager sample::
+Step 1. Create powermonitor fold for dpdk-vm_power_manager sample::
mkdir /tmp/powermonitor
chmod 777 /tmp/powermonitor
Step 2. Luanch VM power manager sample::
- ./x86_64-native-linuxapp-gcc/examples/dpdk-vm_power_manager -l 1-3 -n 4 --file-prefix=test1 --no-pci
+ ./<build_target>/examples/dpdk-vm_power_manager -l 1-3 -n 4 --file-prefix=test1 --no-pci
Step 3. Prepare policy in JSON format then send it to the fifo channel:
Prepare different command in JSON format then send it to the fifo channel
- Modify "name", "resource_id", "command" to large character string to check if the vm_power_mgr sample will crash
+ Modify "name", "resource_id", "command" to large character string to check if the dpdk-vm_power_manager sample will crash
For example::
{"policy": {
@@ -71,20 +71,20 @@ Step 4. Send Json format command to the fifo channel::
cat command.json > /tmp/powermonitor/fifo22
-Check point: no crash at the vm_power_mgr application side.
+Check point: no crash at the dpdk-vm_power_manager application side.
Potential issue: no warning for the user for the name too long, now is char[32], but no crash as strlcpy is uesed
Test Case2: Send invalid command through JSON channel
======================================================
-Step 1. Create powermonitor fold for vm_power_manager sample::
+Step 1. Create powermonitor fold for dpdk-vm_power_manager sample::
mkdir /tmp/powermonitor
chmod 777 /tmp/powermonitor
Step 2. Luanch VM power manager sample::
- ./x86_64-native-linuxapp-gcc/examples/dpdk-vm_power_manager -l 1-3 -n 4 --file-prefix=test1 --no-pci
+ ./<build_target>/examples/dpdk-vm_power_manager -l 1-3 -n 4 --file-prefix=test1 --no-pci
Step 3. Prepare policy in JSON format then send it to the fifo channel:
@@ -118,22 +118,22 @@ Note: For the VM xml file which will be used for creating the VM, it can re-use
Step 2. Luanch VM power manager sample on the host to monitor the channel from VM::
- ./x86_64-native-linuxapp-gcc/examples/dpdk-vm_power_manager -l 12-14 -n 4 --no-pci
+ ./<build_taget>/examples/dpdk-vm_power_manager -l 12-14 -n 4 --no-pci
> add_vm [vm name]
> add_channels [vm name] all
> set_channel_status [vm name] all enabled
> show_vm [vm name]
- Check the invalid input command for vm_power_mgr sample::
+ Check the invalid input command for dpdk-vm_power_manager sample::
> add_channels ubuntu 128
> add_channel ubuntu 10000000000000000
-Check point: No crash should be occur at vm_power_mgr sample
+Check point: No crash should be occur at dpdk-vm_power_manager sample
-Step 3. In the VM, launch guest_vm_power_mgr to set and send the power manager policy to the host power sample::
+Step 3. In the VM, launch dpdk-guest_cli to set and send the power manager policy to the host power sample::
- ./x86_64-native-linuxapp-gcc/examples/dpdk-guest_cli -c 0xff -n 4 -m 1024 --no-pci --file-prefix=yaolei \
+ ./<build_target>/examples/dpdk-guest_cli -c 0xff -n 4 -m 1024 --no-pci --file-prefix=yaolei \
-- --vm-name=ubuntu --vcpu-list=0-7
> set_cpu_freq 128 down
> set_cpu_freq 1000000000000 down
@@ -146,14 +146,14 @@ Step 3. In the VM, launch guest_vm_power_mgr to set and send the power manager p
Test Case4: TRAFFIC Policy Test based on JSON configure file with large integer number
========================================================================================
-Step 1. Generate 1 VF under vfio-pci driver, launch vm_power_mgr sample with PF, for example::
+Step 1. Generate 1 VF under vfio-pci driver, launch dpdk-vm_power_manager sample with PF, for example::
echo 1 > /sys/bus/pci/drivers/vfio-pci/0000\:82\:00.0/max_vfs
- ./x86_64-native-linuxapp-gcc/examples/dpdk-vm_power_manager -l 1-4 -n 4 --socket-mem=1024,1024 --file-prefix=test1 -a 82:00.0 -- -p 0x01
+ ./<build_target>/examples/dpdk-vm_power_manager -l 1-4 -n 4 --socket-mem=1024,1024 --file-prefix=test1 -a 82:00.0 -- -p 0x01
Step 2. Launch testpmd with VF::
- ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 5-6 -n 4 --socket-mem=1024,1024 --file-prefix=test2 -a 0000:82:02.0 -- -i
+ ./<build_target>/app/dpdk-testpmd -l 5-6 -n 4 --socket-mem=1024,1024 --file-prefix=test2 -a 0000:82:02.0 -- -i
> set fwd macswap
> start
@@ -172,4 +172,4 @@ Step 4. Send Json format command to the fifo channel::
cat traffic.json > /tmp/powermonitor/fifo6
-Check point: No crash should be occur at vm_power_mgr sample
+Check point: No crash should be occur at dpdk-vm_power_manager sample
@@ -59,7 +59,7 @@ Step 1. Create powermonitor fold for::
Step 2. Compile DPDK with Power Lib debug info on, then Luanch VM power manager sample::
- ./examples/vm_power_manager/build/vm_power_mgr -l 1-46 -n 4 --file-prefix=power --no-pci
+ ./<build_target>/examples/dpdk-vm_power_manager -l 1-46 -n 4 --file-prefix=power --no-pci
Check two different base_max frequency will be shown in log, for example on Intel 6230N Processor:
The log will be like as following
@@ -87,7 +87,7 @@ Step 1. Create powermonitor fold for::
Step 2. Compile DPDK with Power Lib debug info on, then aunch VM power manager sample::
- ./examples/vm_power_manager/build/vm_power_mgr -l 1-46 -n 4 --file-prefix=power --no-pci
+ ./<build_target>/examples/dpdk-vm_power_manager -l 1-46 -n 4 --file-prefix=power --no-pci
Step 3. Prepare different command in JSON format::
@@ -102,7 +102,7 @@ Step 3. Prepare different command in JSON format::
Step 4: Send different command to power sample, then check the frequency::
Command Steps: ENABLE_TURBO-> SCALE_MAX-> SCALE_DOWN-> SCALE_MIN
- Send action JSON file to vm_power_mgr's fifo channel, each core will have it's own channel:
+ Send action JSON file to dpdk-vm_power_manager's fifo channel, each core will have it's own channel:
cat command.json >/tmp/powermonitor/fifo{core_number}
Check the CPU frequency is changed accordingly in previous list by following method:
@@ -129,7 +129,7 @@ Step 1. Create powermonitor fold for::
Step 2. Compile DPDK with Power Lib debug info on, then launch VM power manager sample::
- ./examples/vm_power_manager/build/vm_power_mgr -l 1-46 -n 4 --file-prefix=power --no-pci
+ ./<build_target>/examples/dpdk-vm_power_manager -l 1-46 -n 4 --file-prefix=power --no-pci
Step 3. Prepare Several command in JSON format then send it to the fifo channel for the high priority core::
@@ -53,7 +53,7 @@ no_turbo_max = [rdmsr -p 1 0x0CE -f 15:8 -d]00000
Note:
For Intel Processor, If "Hyper Threading" enabled in BIOS, need change frequency on both HT core
at the same time to let the frequency take effect.
-From DPDK 19.08, vm_power_manager will set fifo channel for each core.
+From DPDK 19.08, dpdk-vm_power_manager will set fifo channel for each core.
Before DPDK 19.08, all core will share 1 fifo channel
Test Case1 : Test Pstate lib basic action based on directly power command
@@ -64,7 +64,7 @@ Step 1. Create powermonitor fold for::
Step 2. Luanch VM power manager sample::
- ./examples/vm_power_manager/build/vm_power_mgr -l 1-4 -n 4 --file-prefix=power --no-pci
+ ./<build_target>/examples/dpdk-vm_power_manager -l 1-4 -n 4 --file-prefix=power --no-pci
Step 3. Prepare different command in JSON format then send it to the fifo channel::
@@ -63,7 +63,7 @@ Test Case 1 : Check all 3 type of power related info reported by Telemetry Syste
=================================================================================
1. Launch l3fwd-power sample with telemetry enabled, bind one NIC to DPDK driver, launch l3fwd-power::
- ./l3fwd-power -l 1-2 -n 4 --telemetry -- -p 0x1 -P --config="(0,0,2)" --telemetry
+ ./<build_target>/examples/dpdk-l3fwd-power -l 1-2 -n 4 --telemetry -- -p 0x1 -P --config="(0,0,2)" --telemetry
2. Get the telemetry info using dpdk-telemetry-client.py script, then choose mode 3 ``Send for global Metrics``::
@@ -121,15 +121,15 @@ Test Case 1: VM Power Management Channel
<address type='virtio-serial' controller='0' bus='0' port='4'/>
</channel>
-3. Run power-manager in Host::
+3. Run dpdk-guest_cli in Host::
- x86_64-native-linuxapp-gcc/examples/dpdk-guest_cli -c 0x3 -n 4
+ ./<build_target>/examples/dpdk-guest_cli -c 0x3 -n 4
-4. Startup VM and run guest_vm_power_mgr::
+4. Startup VM and run dpdk-guest_cli::
- x86_64-native-linuxapp-gcc/examples/dpdk-guest_cli -c 0x1f -n 4 -- -i
+ ./<build_target>/examples/dpdk-guest_cli -c 0x1f -n 4 -- -i
-5. Add vm in host and check vm_power_mgr can get frequency normally::
+5. Add vm in host and check dpdk-vm_power_manager can get frequency normally::
vmpower> add_vm <vm_name>
vmpower> add_channels <vm_name> all
@@ -153,9 +153,9 @@ Test Case 1: VM Power Management Channel
[3]: Physical CPU Mask 0x10
[4]: Physical CPU Mask 0x20
-7. Run vm_power_mgr in vm::
+7. Run dpdk-guest_cli in vm::
- x86_64-native-linuxapp-gcc/examples/dpdk-guest_cli -c 0x1f -n 4
+ ./<build_target>/examples/dpdk-guest_cli -c 0x1f -n 4
Check monitor channel for all cores has been connected.
@@ -168,11 +168,13 @@ Set up testing environment
#. Compile and run power-manager in host, core number should >= 3, add vm in host.
- export RTE_SDK=`pwd`
- export RTE_TARGET=x86_64-native-linuxapp-gcc
- make -C examples/vm_power_manager
+ CC=gcc meson -Denable_kmods=True -Dlibdir=lib --default-library=static <build_target>
+ ninja -C <build_target>
- ./examples/vm_power_manager/build/vm_power_mgr -c 0xffff -n 4
+ meson configure -Dexamples=vm_power_manager <build_target>
+ ninja -C <build_target>
+
+ ./<build_target>/examples/dpdk-vm_power_manager -c 0xffff -n 4
vmpower> add_vm <vm_name>
vmpower> add_channels <vm_name> all
@@ -181,20 +183,22 @@ Set up testing environment
#. Run testpmd on vm0 when do traffic policy testing, other test cases ignore
this step.
- ./testpmd -c 0x3 -n 1 -v -m 1024 --file-prefix=vmpower1 -- -i --port-topology=loop
+ ./<build_target>/app/dpdk-testpmd -c 0x3 -n 1 -v -m 1024 --file-prefix=vmpower1 -- -i --port-topology=loop
testpmd> set fwd mac
testpmd> set promisc all on
testpmd> port start all
testpmd> start
-#. Compile and run guest_vm_power_mgr on VM.
+#. Compile and run dpdk-guest_cli on VM.
+
+ CC=gcc meson -Denable_kmods=True -Dlibdir=lib --default-library=static <build_target>
+ ninja -C <build_target>
- export RTE_SDK=`pwd`
- export RTE_TARGET=x86_64-native-linuxapp-gcc
- make -C examples/vm_power_manager/guest_cli
+ meson configure -Dexamples=vm_power_manager/guest_cli <build_target>
+ ninja -C <build_target>
- ./examples/vm_power_manager/guest_cli/build/guest_vm_power_mgr \
+ ./<build_target>/examples/dpdk-guest_cli \
-c 0xff -n 4 --file-prefix=vmpower2 -- -i --vm-name=<vm name> \
--policy=<policy name> --vcpu-list=<vcpus list> --busy-hours=<time stage>
@@ -227,7 +231,7 @@ check these content.
#. when dut clock is set to a desired busy hours, put core to max freq.
#. when dut clock is set to a desired quiet hours, put core to min freq.
-This case test multiple guest_vm_power_mgr options, they are composited
+This case test multiple dpdk-guest_cli options, they are composited
by these content as below::
#. --policy
@@ -252,7 +256,7 @@ steps:
#. set up testing environment refer to ``Set up testing environment`` steps.
-#. trigger policy on vm DUT from guest_vm_power_mgr console::
+#. trigger policy on vm DUT from dpdk-guest_cli console::
vmpower(guest)> send_policy now
@@ -269,7 +273,7 @@ vcpus frequency will run at med frequency.
#. use packet generator to send a stream with a pps rate less than 1800000,
vcpu frequency will run at min frequency.
-This case test multiple guest_vm_power_mgr options, they are composited
+This case test multiple dpdk-guest_cli options, they are composited
by these content as below::
#. --policy
@@ -288,7 +292,7 @@ steps:
#. set up testing environment refer to ``Set up testing environment`` steps.
-#. trigger policy on vm DUT from guest_vm_power_mgr console::
+#. trigger policy on vm DUT from dpdk-guest_cli console::
vmpower(guest)> send_policy now
@@ -306,7 +310,7 @@ steps:
#. set up testing environment refer to ``Set up testing environment`` steps.
-#. set cpu turbo disable on vm DUT from guest_vm_power_mgr console::
+#. set cpu turbo disable on vm DUT from dpdk-guest_cli console::
vmpower(guest)> set_cpu_freq <core_num> disable_turbo
@@ -324,7 +328,7 @@ steps:
#. set up testing environment refer to ``Set up testing environment`` steps.
-#. set cpu turbo enable on vm DUT from guest_vm_power_mgr console::
+#. set cpu turbo enable on vm DUT from dpdk-guest_cli console::
vmpower(guest)> set_cpu_freq <vm_core_num> enable_turbo