|
Re: Using perf to access hardware events in pre-launched VM
Just synced with my colleague, the issue could be caused in your kernel configure of pre-launched VM:
CONFIG_SERIAL_8250_DETECT_IRQ=y
Please confirm.
Thanks
Minggui
Just synced with my colleague, the issue could be caused in your kernel configure of pre-launched VM:
CONFIG_SERIAL_8250_DETECT_IRQ=y
Please confirm.
Thanks
Minggui
|
By
Minggui Cao
·
#1157
·
|
|
Re: CAT definition in the scenario xmls
Yes i already tested on ACRN console, what i'm trying to achieve is a permanent configuration
When you say RDT code. do you mean this below path to code?
hypervisor/arch/x86/rdt.c
Yes i already tested on ACRN console, what i'm trying to achieve is a permanent configuration
When you say RDT code. do you mean this below path to code?
hypervisor/arch/x86/rdt.c
|
By
jordan.nowak22@...
·
#1156
·
|
|
Re: CAT definition in the scenario xmls
Hi, Jordan,
You can use “wrmsr “ in ACRN console first to configure L2 CAT. If it works for your expectation. You can it into rdt code.
Thanks!
Minggui
Hi, Jordan,
You can use “wrmsr “ in ACRN console first to configure L2 CAT. If it works for your expectation. You can it into rdt code.
Thanks!
Minggui
|
By
Minggui Cao
·
#1155
·
|
|
Re: Using perf to access hardware events in pre-launched VM
Yes, with the vm terminal I meant ACRN console. After the boot (vm_console 0), the console becomes unusable but the kernel starts correctly.
Yes, with the vm terminal I meant ACRN console. After the boot (vm_console 0), the console becomes unusable but the kernel starts correctly.
|
By
Paolo Crotti
·
#1154
·
|
|
Re: CAT definition in the scenario xmls
Hi Minggui,
For both L2 and L3 CAT support, do you have any example when you say hard code?
or is there any documentation that states this?
Hi Minggui,
For both L2 and L3 CAT support, do you have any example when you say hard code?
or is there any documentation that states this?
|
By
jordan.nowak22@...
·
#1153
·
Edited
|
|
Re: Using perf to access hardware events in pre-launched VM
I don’t meet that issue. If you have Pre-launched RTVM / Service VM, you can check in ACRN console: vm_list
And then vm_console N to switch the VM console.
Thanks
Minggui
I don’t meet that issue. If you have Pre-launched RTVM / Service VM, you can check in ACRN console: vm_list
And then vm_console N to switch the VM console.
Thanks
Minggui
|
By
Minggui Cao
·
#1152
·
|
|
Re: CAT definition in the scenario xmls
Yes, it is for L3 CAT. You can check tgl-rvp.xml the board file, there are some changes for L3 info.
Current, ACRN just supports one of L2/L3 CAT, if you need support both, you can do it as hard
Yes, it is for L3 CAT. You can check tgl-rvp.xml the board file, there are some changes for L3 info.
Current, ACRN just supports one of L2/L3 CAT, if you need support both, you can do it as hard
|
By
Minggui Cao
·
#1151
·
|
|
Re: Using perf to access hardware events in pre-launched VM
IT WORKS! I set the scenario as you said and now I can read the cache events.
Thank you so much for the help.
Only one small note: when I use the GUEST_FLAG_LAPIC_PASSTHROUGH flag, the terminal of the
IT WORKS! I set the scenario as you said and now I can read the cache events.
Thank you so much for the help.
Only one small note: when I use the GUEST_FLAG_LAPIC_PASSTHROUGH flag, the terminal of the
|
By
Paolo Crotti
·
#1150
·
|
|
Re: CAT definition in the scenario xmls
Hi Minggui,
Do you mean that for L3 CAT setting, i also need specify it in the board xmls in the CLOS info portion?
if i want to use both L2 and L3 CAT, how would i definte that in the board xmls?
Hi Minggui,
Do you mean that for L3 CAT setting, i also need specify it in the board xmls in the CLOS info portion?
if i want to use both L2 and L3 CAT, how would i definte that in the board xmls?
|
By
jordan.nowak22@...
·
#1149
·
|
|
Re: CAT definition in the scenario xmls
Hi, for CAT support (L2/L3), you can check it by cpuid;
For L2, if on core platform it is private for a physical core, L3/LLC is shared between cores, if hyper-threading is not enabled, L2 CAT
Hi, for CAT support (L2/L3), you can check it by cpuid;
For L2, if on core platform it is private for a physical core, L3/LLC is shared between cores, if hyper-threading is not enabled, L2 CAT
|
By
Minggui Cao
·
#1148
·
|
|
Re: Using perf to access hardware events in pre-launched VM
That is reasonable. It means APIC pass-through not set. Let me check,
You can refer this file to modify yours:
misc/config_tools/data/whl-ipc-i5/hybrid_rt.xml
<vm id="0">
That is reasonable. It means APIC pass-through not set. Let me check,
You can refer this file to modify yours:
misc/config_tools/data/whl-ipc-i5/hybrid_rt.xml
<vm id="0">
|
By
Minggui Cao
·
#1147
·
|
|
CAT definition in the scenario xmls
Hi ACRN experts,
based on this guide https://projectacrn.github.io/latest/tutorials/rdt_configuration.html#configure-rdt-for-vm-using-vm-configuration
I see that L2 cache is enabled for CAT but i'm
Hi ACRN experts,
based on this guide https://projectacrn.github.io/latest/tutorials/rdt_configuration.html#configure-rdt-for-vm-using-vm-configuration
I see that L2 cache is enabled for CAT but i'm
|
By
jordan.nowak22@...
·
#1146
·
|
|
Re: Using perf to access hardware events in pre-launched VM
Hi Minggui,
I'm sorry, I didn't realize I had to read the 0x186 register from inside the VM. I had read it from the ACRN shell (ACRN: \> rdmsr 0x186).
Actually, I cannot read these registers from the
Hi Minggui,
I'm sorry, I didn't realize I had to read the 0x186 register from inside the VM. I had read it from the ACRN shell (ACRN: \> rdmsr 0x186).
Actually, I cannot read these registers from the
|
By
Paolo Crotti
·
#1145
·
|
|
Re: Using perf to access hardware events in pre-launched VM
Hi, Paolo,
Could you check again to rdmsr 0x186 and 0x38f? If the ACRN has not pass-through PMU to VM, it shall like following:
root@10239146109sos-dom0:~# dmesg | grep -i pmu
[
Hi, Paolo,
Could you check again to rdmsr 0x186 and 0x38f? If the ACRN has not pass-through PMU to VM, it shall like following:
root@10239146109sos-dom0:~# dmesg | grep -i pmu
[
|
By
Minggui Cao
·
#1144
·
|
|
Re: Extracting scenario xml information
noted, would this be implemented in the future?
i don't have a use case for this, just want to double confirm my changes on scenario xml in the target board itself
noted, would this be implemented in the future?
i don't have a use case for this, just want to double confirm my changes on scenario xml in the target board itself
|
By
jordan.nowak22@...
·
#1143
·
|
|
Re: Using perf to access hardware events in pre-launched VM
Hi Minggui,
I checked "dmesg | grep -i pmu" and it returned me:
[ 0.075539] Performance Events: unsupported p6 CPU model 150 no PMU driver, software events only.
And all the events in your perf
Hi Minggui,
I checked "dmesg | grep -i pmu" and it returned me:
[ 0.075539] Performance Events: unsupported p6 CPU model 150 no PMU driver, software events only.
And all the events in your perf
|
By
Paolo Crotti
·
#1142
·
|
|
Re: Using perf to access hardware events in pre-launched VM
Following is an example from my side:
./perf stat -C 1 -e mem_load_retired.l2_hit,mem_load_retired.l2_miss,mem_load_retired.l3_hit,mem_load_retired.l3_miss ./pmu_mem -a 1 -p 80 -l 1 -m 12
Following is an example from my side:
./perf stat -C 1 -e mem_load_retired.l2_hit,mem_load_retired.l2_miss,mem_load_retired.l3_hit,mem_load_retired.l3_miss ./pmu_mem -a 1 -p 80 -l 1 -m 12
|
By
Minggui Cao
·
#1141
·
|
|
Re: Using perf to access hardware events in pre-launched VM
Hi, Paolo,
If you can read 0x186, it means, you can read PMU MSRs, it shall work for perf to sample some events, like LLC misses.
You can also check by: dmesg | grep -i pmu
To
Hi, Paolo,
If you can read 0x186, it means, you can read PMU MSRs, it shall work for perf to sample some events, like LLC misses.
You can also check by: dmesg | grep -i pmu
To
|
By
Minggui Cao
·
#1140
·
|
|
Re: Using perf to access hardware events in pre-launched VM
Scenario files:
By
Paolo Crotti
·
#1139
·
|
|
Re: Using perf to access hardware events in pre-launched VM
Hi Minggui,
Thanks for the quick answer. With my original scenario, I tried rdmsr 0x186 and it returned rdmsr(0x186):0x0. Is it ok?
Then I modified the scenario and i get a lot of errors:
First I
Hi Minggui,
Thanks for the quick answer. With my original scenario, I tried rdmsr 0x186 and it returned rdmsr(0x186):0x0. Is it ok?
Then I modified the scenario and i get a lot of errors:
First I
|
By
Paolo Crotti
·
#1138
·
|