Re: Status for 5.19 merge window

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/21/22 10:51, Paolo Bonzini wrote:
* Guest performance monitoring improvements:
** Support for PEBS
** Support for architectural LBR

These were broken so I had to revert everything and rebase. :/

I also dropped IPI virtualization.

You can check out the delta with:

$ git range-diff tags/v5.18 kvm/kvm-next-pre-20220525-rebase tags/kvm-5.18-1

The following patches were also incidental casualties of the issue:

255:  7daffe14fd0d <   -:  ------------ KVM: powerpc: remove extraneous asterisk from rm_host_ipi_action comment

will be merged through ppc tree

257:  9fd169b02731 <   -:  ------------ KVM: Drop unused @gpa param from gfn=>pfn cache's __release_gpc() helper
258:  2517f9b0f189 <   -:  ------------ KVM: Put the extra pfn reference when reusing a pfn in the gpc cache
259:  3c980f9c0ef8 <   -:  ------------ KVM: Do not incorporate page offset into gfn=>pfn cache user address
260:  8ba88973477a <   -:  ------------ KVM: Fully serialize gfn=>pfn cache refresh via mutex
261:  3b7f9dace96f <   -:  ------------ KVM: Fix multiple races in gfn=>pfn cache refresh
262:  6aaeaad98fb2 <   -:  ------------ KVM: Do not pin pages tracked by gfn=>pfn caches
298:  82f0f434fca0 <   -:  ------------ KVM: VMX: Print VM-instruction error when it may be helpful
299:  f30c7aaeda6f <   -:  ------------ KVM: VMX: Print VM-instruction error as unsigned
300:  7e345a215d35 <   -:  ------------ KVM: set_msr_mce: Permit guests to ignore single-bit ECC errors

will be merged later in 5.19

188:  121383d0107e <   -:  ------------ x86/cpu: Add new VMX feature, Tertiary VM-Execution control
189:  9fbf31ba29b0 <   -:  ------------ KVM: VMX: Extend BUILD_CONTROLS_SHADOW macro to support 64-bit variation
190:  fd351c52963a <   -:  ------------ KVM: VMX: Detect Tertiary VM-Execution control when setup VMCS config
191:  9402278c24c0 <   -:  ------------ KVM: VMX: Report tertiary_exec_control field in dump_vmcs()
192:  3fadd6b78db0 <   -:  ------------ KVM: x86: Add support for vICR APIC-write VM-Exits in x2APIC mode
193:  8236723e797c <   -:  ------------ KVM: VMX: Clean up vmx_refresh_apicv_exec_ctrl()
194:  b113d61e1d1b <   -:  ------------ KVM: Move kvm_arch_vcpu_precreate() under kvm->lock
195:  a7747898a7c6 <   -:  ------------ KVM: x86: Allow userspace to set maximum VCPU id for VM
196:  b77b7e13f827 <   -:  ------------ kvm: selftests: Add KVM_CAP_MAX_VCPU_ID cap test
197:  694599c8267d <   -:  ------------ KVM: VMX: enable IPI virtualization

200:  2c8beb526ce9 <   -:  ------------ perf/x86/intel: Add EPT-Friendly PEBS for Ice Lake Server
201:  35a6bdffbf21 <   -:  ------------ perf/x86/intel: Handle guest PEBS overflow PMI for KVM guest
202:  907508f75964 <   -:  ------------ perf/x86/core: Pass "struct kvm_pmu *" to determine the guest values
203:  0dc19fcc2471 <   -:  ------------ KVM: x86/pmu: Set MSR_IA32_MISC_ENABLE_EMON bit when vPMU is enabled
204:  4282743c110a <   -:  ------------ KVM: x86/pmu: Introduce the ctrl_mask value for fixed counter
205:  db2265f3a9ed <   -:  ------------ x86/perf/core: Add pebs_capable to store valid PEBS_COUNTER_MASK value
206:  34e028092173 <   -:  ------------ KVM: x86/pmu: Add IA32_PEBS_ENABLE MSR emulation for extended PEBS
207:  44d47de274d5 <   -:  ------------ KVM: x86/pmu: Reprogram PEBS event to emulate guest PEBS counter
208:  a095df2c5f48 <   -:  ------------ KVM: x86/pmu: Adjust precise_ip to emulate Ice Lake guest PDIR counter
209:  f32db9822ccb <   -:  ------------ KVM: x86/pmu: Add IA32_DS_AREA MSR emulation to support guest DS
210:  c873e000e103 <   -:  ------------ KVM: x86/pmu: Add PEBS_DATA_CFG MSR emulation to support adaptive PEBS
211:  aa03a92de13a <   -:  ------------ KVM: x86: Set PEBS_UNAVAIL in IA32_MISC_ENABLE when PEBS is enabled
212:  a10cabf6815c <   -:  ------------ KVM: x86/pmu: Move pmc_speculative_in_use() to arch/x86/kvm/pmu.h
213:  e1f82aee2e45 <   -:  ------------ KVM: x86/pmu: Disable guest PEBS temporarily in two rare situations
214:  8eeac7e999e8 <   -:  ------------ KVM: x86/pmu: Add kvm_pmu_cap to optimize perf_get_x86_pmu_capability
215:  1672f447172a <   -:  ------------ KVM: x86/cpuid: Refactor host/guest CPU model consistency check
216:  a3808d884612 <   -:  ------------ KVM: x86/pmu: Expose CPUIDs feature bits PDCM, DS, DTES64

217:  d73829dd797b <   -:  ------------ selftests: kvm: replace ternary operator with min()

246:  47604014f4b2 <   -:  ------------ KVM: x86/pmu: Move the vmx_icl_pebs_cpu[] definition out of the header file

248:  43e88ad5462d <   -:  ------------ KVM: x86/pmu: Update global enable_pmu when PMU is undetected
249:  f9e5edb2e20c <   -:  ------------ KVM: x86/pmu: remove useless prototype

250:  3c13551aca1e <   -:  ------------ KVM: x86/mmu: Drop RWX=0 SPTEs during ept_sync_page()
251:  c84f90442518 <   -:  ------------ KVM: x86/mmu: Comment FNAME(sync_page) to document TLB flushing logic

254:  1ae8c8cc506f <   -:  ------------ KVM: x86/pmu: Don't overwrite the pmu->global_ctrl when refreshing
256:  24045beb918e <   -:  ------------ KVM: x86/pmu: Ignore pmu->global_ctrl check if vPMU doesn't support global_ctrl

263:  8b5bb6866d73 <   -:  ------------ KVM: nSVM: Sync next_rip field from vmcb12 to vmcb02
264:  18e7b090afa3 <   -:  ------------ KVM: SVM: Don't BUG if userspace injects an interrupt with GIF=0
265:  c7b62aed6b63 <   -:  ------------ KVM: SVM: Unwind "speculative" RIP advancement if INTn injection "fails"
266:  e395d5155d5f <   -:  ------------ KVM: SVM: Stuff next_rip on emulated INT3 injection if NRIPS is supported
267:  5f04b27c5e6a <   -:  ------------ KVM: SVM: Re-inject INT3/INTO instead of retrying the instruction
268:  1808e98b3243 <   -:  ------------ KVM: SVM: Re-inject INTn instead of retrying the insn on "failure"
269:  78f035193a5d <   -:  ------------ KVM: x86: Trace re-injected exceptions
270:  6f03e4af9d88 <   -:  ------------ KVM: x86: Print error code in exception injection tracepoint iff valid
271:  87c326c9d672 <   -:  ------------ KVM: x86: Differentiate Soft vs. Hard IRQs vs. reinjected in tracepoint
272:  f1360dfcca6e <   -:  ------------ KVM: nSVM: Transparently handle L1 -> L2 NMI re-injection
273:  fcbad3abe1b0 <   -:  ------------ KVM: selftests: nSVM: Add svm_nested_soft_inject_test

274:  ecf97ee1ec70 <   -:  ------------ perf/x86/intel: Fix the comment about guest LBR support on KVM
275:  0090251780f2 <   -:  ------------ perf/x86/lbr: Simplify the exposure check for the LBR_INFO registers
276:  ca0c1c2b764f <   -:  ------------ KVM: x86: Report XSS as an MSR to be saved if there are supported features
277:  8bcfee39b078 <   -:  ------------ KVM: x86: Refresh CPUID on writes to MSR_IA32_XSS
278:  168f789aaf0d <   -:  ------------ KVM: x86: Add Arch LBR MSRs to msrs_to_save_all list
279:  e648e5300017 <   -:  ------------ KVM: vmx/pmu: Emulate MSR_ARCH_LBR_DEPTH for guest Arch LBR
280:  7876f994c671 <   -:  ------------ KVM: vmx/pmu: Emulate MSR_ARCH_LBR_CTL for guest Arch LBR
281:  1cb63133254c <   -:  ------------ KVM: x86/pmu: Refactor code to support guest Arch LBR
282:  cd71edf727a2 <   -:  ------------ KVM: x86: Refine the matching and clearing logic for supported_xss
283:  3289eaad9d28 <   -:  ------------ KVM: x86/vmx: Check Arch LBR config when return perf capabilities
284:  2c9c5610c397 <   -:  ------------ KVM: x86: Add XSAVE Support for Architectural LBR
285:  a62bb9cd4734 <   -:  ------------ KVM: nVMX: Add necessary Arch LBR settings for nested VM
286:  706408701309 <   -:  ------------ KVM: x86/vmx: Clear Arch LBREn bit before inject #DB to guest
287:  f9dccecb1e86 <   -:  ------------ KVM: x86/vmx: Flip Arch LBREn bit on guest state change
288:  a94e5937c786 <   -:  ------------ KVM: x86: Add Arch LBR data MSR access interface
289:  a80ffe249095 <   -:  ------------ KVM: x86/cpuid: Advertise Arch LBR feature in CPUID

290:  944503434b67 <   -:  ------------ KVM: x86/pmu: Update comments for AMD gp counters
291:  10b3f260a9ba <   -:  ------------ KVM: x86/pmu: Extract check_pmu_event_filter() handling both GP and fixed counters
292:  b1070b1cc80e <   -:  ------------ KVM: x86/pmu: Pass only "struct kvm_pmc *pmc" to reprogram_counter()
293:  2fe380c3736e <   -:  ------------ KVM: x86/pmu: Drop "u64 eventsel" for reprogram_gp_counter()
294:  8f348136b61e <   -:  ------------ KVM: x86/pmu: Drop "u8 ctrl, int idx" for reprogram_fixed_counter()
295:  a6717fc663bd <   -:  ------------ KVM: x86/pmu: Use only the uniform interface reprogram_counter()
296:  7d271cd6af1d <   -:  ------------ KVM: x86/pmu: Use PERF_TYPE_RAW to merge reprogram_{gp,fixed}counter()
306:  d0baf34e4f58 <   -:  ------------ perf: x86/core: Add interface to query perfmon_event_map[] directly
307:  fcfe10b4dfa6 <   -:  ------------ KVM: x86/pmu: Replace pmc_perf_hw_id() with perf_get_hw_event_config()
308:  0356ff9b1093 <   -:  ------------ KVM: x86/pmu: Drop amd_event_mapping[] in the KVM context

will be delayed to 5.20.

Paolo

Will be in 5.19 merge window:
* dirty quota
* nested dirty-log selftest

After merge window:
* APICv inhibition on APIC id change

Delayed to 5.20:
* eager page splitting
* CMCI support
* Hyper-V TLB
* pfn functions cleanup
* x2AVIC
* nested AVIC





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux