search for: lbrs

Displaying 8 results from an estimated 8 matches for "lbrs".

Did you mean: lars
2017 Sep 25
2
[PATCH v1 4/4] KVM/vmx: enable lbr for the guest
...; + add_atomic_switch_msr(vmx, lbr_stack.lbr_to + i, 0, 0); > + if (lbr_stack.lbr_info) > + add_atomic_switch_msr(vmx, lbr_stack.lbr_info + i, 0, > + 0); > + } That will be really expensive and add a lot of overhead to every entry/exit. perf can already context switch the LBRs on task context switch. With that you can just switch LBR_SELECT, which is *much* cheaper because there are far less context switches than exit/entries. It implies that when KVM is running it needs to prevent perf from enabling LBRs in the context of KVM, but that should be straight forward. -And...
2017 Sep 25
2
[PATCH v1 4/4] KVM/vmx: enable lbr for the guest
...; + add_atomic_switch_msr(vmx, lbr_stack.lbr_to + i, 0, 0); > + if (lbr_stack.lbr_info) > + add_atomic_switch_msr(vmx, lbr_stack.lbr_info + i, 0, > + 0); > + } That will be really expensive and add a lot of overhead to every entry/exit. perf can already context switch the LBRs on task context switch. With that you can just switch LBR_SELECT, which is *much* cheaper because there are far less context switches than exit/entries. It implies that when KVM is running it needs to prevent perf from enabling LBRs in the context of KVM, but that should be straight forward. -And...
2017 Sep 26
0
[PATCH v1 4/4] KVM/vmx: enable lbr for the guest
...r(vmx, lbr_stack.lbr_to + i, 0, 0); >> + if (lbr_stack.lbr_info) >> + add_atomic_switch_msr(vmx, lbr_stack.lbr_info + i, 0, >> + 0); >> + } > That will be really expensive and add a lot of overhead to every entry/exit. > perf can already context switch the LBRs on task context switch. With that > you can just switch LBR_SELECT, which is *much* cheaper because there > are far less context switches than exit/entries. > > It implies that when KVM is running it needs to prevent perf from enabling > LBRs in the context of KVM, but that should be...
2017 Sep 26
1
[PATCH v1 4/4] KVM/vmx: enable lbr for the guest
...a normal perf PMI does at least 1 MSR reads and 4+ MSR writes for a single counter. With multiple counters it gets worse. For each of those you'll need to exit. Adding something to the entry/exit list is similar to the cost of doing explicit RD/WRMSRs. On Skylake we have 32*3=96 MSRs for the LBRs. So with the 5 exits and entries, you're essentually doing 5*2*96=18432 extra MSR accesses for each PMI. MSR access is 100+ cycles at least, for writes it is far more expensive. -Andi
2017 Sep 26
1
[PATCH v1 4/4] KVM/vmx: enable lbr for the guest
...a normal perf PMI does at least 1 MSR reads and 4+ MSR writes for a single counter. With multiple counters it gets worse. For each of those you'll need to exit. Adding something to the entry/exit list is similar to the cost of doing explicit RD/WRMSRs. On Skylake we have 32*3=96 MSRs for the LBRs. So with the 5 exits and entries, you're essentually doing 5*2*96=18432 extra MSR accesses for each PMI. MSR access is 100+ cycles at least, for writes it is far more expensive. -Andi
2017 Sep 25
10
[PATCH v1 0/4] Enable LBR for the guest
This patch series enables the Last Branch Recording feature for the guest. Instead of trapping each LBR stack MSR access, the MSRs are passthroughed to the guest. Those MSRs are switched (i.e. load and saved) on VMExit and VMEntry. Test: Try "perf record -b ./test_program" on guest. Wei Wang (4): KVM/vmx: re-write the msr auto switch feature KVM/vmx: auto switch
2017 Sep 25
10
[PATCH v1 0/4] Enable LBR for the guest
This patch series enables the Last Branch Recording feature for the guest. Instead of trapping each LBR stack MSR access, the MSRs are passthroughed to the guest. Those MSRs are switched (i.e. load and saved) on VMExit and VMEntry. Test: Try "perf record -b ./test_program" on guest. Wei Wang (4): KVM/vmx: re-write the msr auto switch feature KVM/vmx: auto switch
2015 Jul 31
2
EFI: HP + syslinux = crash
...00000000000040 13=0000000000000000 R14=00000000772CCDD8 15=000000006BBC566F SI=000000006BBC55B0 DI=000000006BBC55B0 CR2=0000000000000000 CR3=000000006BB25000 CR0=80000013 CR4=00000668 CR8=00000000 CS=0038 DS=0038 SS=0030 ES=0038 RFLAGS=00010A07 MSR1D9=4801 345=32C4 1C9=0003 LBRs From To From To From To From To 01h 00093009->746EC191 7846C3B4->0005E598 7846C39A->7846C3B4 7846E2B5->7846C392 05h 746ECBEB->7846E290 0005E598->746ECBE0 7846C3B4->00000BC4 7846C39A->7846C3B4 09h 7846E2B5->7846C3...