{"push_id":2987842121,"size":1000,"distinct_size":0,"ref":"refs/heads/shuah-next-onnextmaster","head":"8c60c36d0b8c92599b8f0ec391b5250bc40e8e05","before":"85eac382fa06ac72adf891d04bf4d08fb09d80fa","commits":[{"sha":"0804c849f1df0992d39a37c4fc259f7f8b16f385","author":{"name":"Peng Hao","email":"8c0002d22ae9f34a326723c818121ff67611b65b@zte.com.cn"},"message":"kvm/x86 : add coalesced pio support\n\nCoalesced pio is based on coalesced mmio and can be used for some port\nlike rtc port, pci-host config port and so on.\n\nSpecially in case of rtc as coalesced pio, some versions of windows guest\naccess rtc frequently because of rtc as system tick. guest access rtc like\nthis: write register index to 0x70, then write or read data from 0x71.\nwriting 0x70 port is just as index and do nothing else. So we can use\ncoalesced pio to handle this scene to reduce VM-EXIT time.\n\nWhen starting and closing a virtual machine, it will access pci-host config\nport frequently. So setting these port as coalesced pio can reduce startup\nand shutdown time.\n\nwithout my patch, get the vm-exit time of accessing rtc 0x70 and piix 0xcf8\nusing perf tools: (guest OS : windows 7 64bit)\nIO Port Access  Samples Samples%  Time%  Min Time  Max Time  Avg time\n0x70:POUT        86     30.99%    74.59%   9us      29us    10.75us (+- 3.41%)\n0xcf8:POUT     1119     2.60%     2.12%   2.79us    56.83us 3.41us (+- 2.23%)\n\nwith my patch\nIO Port Access  Samples Samples%  Time%   Min Time  Max Time   Avg time\n0x70:POUT       106    32.02%    29.47%    0us      10us     1.57us (+- 7.38%)\n0xcf8:POUT      1065    1.67%     0.28%   0.41us    65.44us   0.66us (+- 10.55%)\n\nSigned-off-by: Peng Hao <peng.hao2@zte.com.cn>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/0804c849f1df0992d39a37c4fc259f7f8b16f385"},{"sha":"8daf346226b22e565baf27ccaec58fed9e108b42","author":{"name":"Wei Yang","email":"625b313770607d27ce1f12b6d57a9f50d742bd94@gmail.com"},"message":"KVM: x86: rename pte_list_remove to __pte_list_remove\n\nThis is a patch preparing for further change.\n\nSigned-off-by: Wei Yang <richard.weiyang@gmail.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/8daf346226b22e565baf27ccaec58fed9e108b42"},{"sha":"e7912386ede89d2aa1f72ebb74969e48e9d5f56c","author":{"name":"Wei Yang","email":"625b313770607d27ce1f12b6d57a9f50d742bd94@gmail.com"},"message":"KVM: x86: reintroduce pte_list_remove, but including mmu_spte_clear_track_bits\n\nrmap_remove() removes the sptep after locating the correct rmap_head but,\nin several cases, the caller has already known the correct rmap_head.\n\nThis patch introduces a new pte_list_remove(); because it is known that\nthe spte is present (or it would not have an rmap_head), it is safe\nto remove the tracking bits without any previous check.\n\nSigned-off-by: Wei Yang <richard.weiyang@gmail.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/e7912386ede89d2aa1f72ebb74969e48e9d5f56c"},{"sha":"970c0d4b94efcba5610b37f0118cb1a2286ba962","author":{"name":"Wei Yang","email":"625b313770607d27ce1f12b6d57a9f50d742bd94@gmail.com"},"message":"KVM: refine the comment of function gfn_to_hva_memslot_prot()\n\nThe original comment is little hard to understand.\n\nNo functional change, just amend the comment a little.\n\nSigned-off-by: Wei Yang <richard.weiyang@gmail.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/970c0d4b94efcba5610b37f0118cb1a2286ba962"},{"sha":"72bbf9358c3676bd89dc4bd8fb0b1f2a11c288fc","author":{"name":"Ladi Prosek","email":"727f16b97cf99ec0710180d99386e4875fb7e2eb@redhat.com"},"message":"KVM: hyperv: define VP assist page helpers\n\nThe state related to the VP assist page is still managed by the LAPIC\ncode in the pv_eoi field.\n\nSigned-off-by: Ladi Prosek <lprosek@redhat.com>\nSigned-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>\nReviewed-by: Liran Alon <liran.alon@oracle.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/72bbf9358c3676bd89dc4bd8fb0b1f2a11c288fc"},{"sha":"5d7a6443368e48ca041fea086e345420c027a8cd","author":{"name":"Vitaly Kuznetsov","email":"282517a3cdaae14e79e6d52f012bddb9ec2b7f0e@redhat.com"},"message":"KVM: VMX: refactor evmcs_sanitize_exec_ctrls()\n\nSplit off EVMCS1_UNSUPPORTED_* macros so we can re-use them when\nenabling Enlightened VMCS for Hyper-V on KVM.\n\nSigned-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/5d7a6443368e48ca041fea086e345420c027a8cd"},{"sha":"57b119da3594f5145a64fdebe0ac9ee0cc65f371","author":{"name":"Vitaly Kuznetsov","email":"282517a3cdaae14e79e6d52f012bddb9ec2b7f0e@redhat.com"},"message":"KVM: nVMX: add KVM_CAP_HYPERV_ENLIGHTENED_VMCS capability\n\nEnlightened VMCS is opt-in. The current version does not contain all\nfields supported by nested VMX so we must not advertise the\ncorresponding VMX features if enlightened VMCS is enabled.\n\nUserspace is given the enlightened VMCS version supported by KVM as\npart of enabling KVM_CAP_HYPERV_ENLIGHTENED_VMCS. The version is to\nbe advertised to the nested hypervisor, currently done via a cpuid\nleaf for Hyper-V.\n\nSuggested-by: Ladi Prosek <lprosek@redhat.com>\nSigned-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>\nReviewed-by: Liran Alon <liran.alon@oracle.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/57b119da3594f5145a64fdebe0ac9ee0cc65f371"},{"sha":"945679e301ea0de1148b64c7c3273d92059e7231","author":{"name":"Vitaly Kuznetsov","email":"282517a3cdaae14e79e6d52f012bddb9ec2b7f0e@redhat.com"},"message":"KVM: nVMX: add enlightened VMCS state\n\nAdds hv_evmcs pointer and implement copy_enlightened_to_vmcs12() and\ncopy_enlightened_to_vmcs12().\n\nprepare_vmcs02()/prepare_vmcs02_full() separation is not valid for\nEnlightened VMCS, do full sync for now.\n\nSuggested-by: Ladi Prosek <lprosek@redhat.com>\nSigned-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/945679e301ea0de1148b64c7c3273d92059e7231"},{"sha":"b8bbab928fb187530d6bb0932b86661f99e3a01d","author":{"name":"Vitaly Kuznetsov","email":"282517a3cdaae14e79e6d52f012bddb9ec2b7f0e@redhat.com"},"message":"KVM: nVMX: implement enlightened VMPTRLD and VMCLEAR\n\nPer Hyper-V TLFS 5.0b:\n\n\"The L1 hypervisor may choose to use enlightened VMCSs by writing 1 to\nthe corresponding field in the VP assist page (see section 7.8.7).\nAnother field in the VP assist page controls the currently active\nenlightened VMCS. Each enlightened VMCS is exactly one page (4 KB) in\nsize and must be initially zeroed. No VMPTRLD instruction must be\nexecuted to make an enlightened VMCS active or current.\n\nAfter the L1 hypervisor performs a VM entry with an enlightened VMCS,\nthe VMCS is considered active on the processor. An enlightened VMCS\ncan only be active on a single processor at the same time. The L1\nhypervisor can execute a VMCLEAR instruction to transition an\nenlightened VMCS from the active to the non-active state. Any VMREAD\nor VMWRITE instructions while an enlightened VMCS is active is\nunsupported and can result in unexpected behavior.\"\n\nKeep Enlightened VMCS structure for the current L2 guest permanently mapped\nfrom struct nested_vmx instead of mapping it every time.\n\nSuggested-by: Ladi Prosek <lprosek@redhat.com>\nSigned-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/b8bbab928fb187530d6bb0932b86661f99e3a01d"},{"sha":"c4ebd6295ab730bf922c96d3c4045c3a84fd1cf7","author":{"name":"Vitaly Kuznetsov","email":"282517a3cdaae14e79e6d52f012bddb9ec2b7f0e@redhat.com"},"message":"KVM: nVMX: optimize prepare_vmcs02{,_full} for Enlightened VMCS case\n\nWhen Enlightened VMCS is in use by L1 hypervisor we can avoid vmwriting\nVMCS fields which did not change.\n\nOur first goal is to achieve minimal impact on traditional VMCS case so\nwe're not wrapping each vmwrite() with an if-changed checker. We also can't\nutilize static keys as Enlightened VMCS usage is per-guest.\n\nThis patch implements the simpliest solution: checking fields in groups.\nWe skip single vmwrite() statements as doing the check will cost us\nsomething even in non-evmcs case and the win is tiny. Unfortunately, this\nmakes prepare_vmcs02_full{,_full}() code Enlightened VMCS-dependent (and\na bit ugly).\n\nSigned-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/c4ebd6295ab730bf922c96d3c4045c3a84fd1cf7"},{"sha":"12e0c6186ba44bb6194cf5d2eda8f46880126587","author":{"name":"Vitaly Kuznetsov","email":"282517a3cdaae14e79e6d52f012bddb9ec2b7f0e@redhat.com"},"message":"x86/kvm/hyperv: don't clear VP assist pages on init\n\nVP assist pages may hold valuable data which needs to be preserved across\nmigration. Clean PV EOI portion of the data on init, the guest is\nresponsible for making sure there's no garbage in the rest.\n\nThis will be used for nVMX migration, eVMCS address needs to be preserved.\n\nSigned-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/12e0c6186ba44bb6194cf5d2eda8f46880126587"},{"sha":"a7c42bb6da6b1b54b2e7bd567636d72d87b10a79","author":{"name":"Vitaly Kuznetsov","email":"282517a3cdaae14e79e6d52f012bddb9ec2b7f0e@redhat.com"},"message":"x86/kvm/lapic: preserve gfn_to_hva_cache len on cache reinit\n\nvcpu->arch.pv_eoi is accessible through both HV_X64_MSR_VP_ASSIST_PAGE and\nMSR_KVM_PV_EOI_EN so on migration userspace may try to restore them in any\norder. Values match, however, kvm_lapic_enable_pv_eoi() uses different\nlength: for Hyper-V case it's the whole struct hv_vp_assist_page, for KVM\nnative case it is 8. In case we restore KVM-native MSR last cache will\nbe reinitialized with len=8 so trying to access VP assist page beyond\n8 bytes with kvm_read_guest_cached() will fail.\n\nCheck if we re-initializing cache for the same address and preserve length\nin case it was greater.\n\nSigned-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>\nCc: stable@vger.kernel.org\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/a7c42bb6da6b1b54b2e7bd567636d72d87b10a79"},{"sha":"a1b0c1c64dfef0cff8555bb708bfc5d7c66c6ca4","author":{"name":"Vitaly Kuznetsov","email":"282517a3cdaae14e79e6d52f012bddb9ec2b7f0e@redhat.com"},"message":"x86/kvm/nVMX: allow bare VMXON state migration\n\nIt is perfectly valid for a guest to do VMXON and not do VMPTRLD. This\nstate needs to be preserved on migration.\n\nCc: stable@vger.kernel.org\nFixes: 8fcc4b5923af5de58b80b53a069453b135693304\nSigned-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/a1b0c1c64dfef0cff8555bb708bfc5d7c66c6ca4"},{"sha":"1e7ecd1b3d21a6302f3ee4a3720f682eb2467a3c","author":{"name":"Vitaly Kuznetsov","email":"282517a3cdaae14e79e6d52f012bddb9ec2b7f0e@redhat.com"},"message":"KVM: selftests: state_test: test bare VMXON migration\n\nSplit prepare_for_vmx_operation() into prepare_for_vmx_operation() and\nload_vmcs() so we can inject GUEST_SYNC() in between.\n\nSigned-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/1e7ecd1b3d21a6302f3ee4a3720f682eb2467a3c"},{"sha":"8cab6507f64eff0ccfea01fccbc7e3e05e2aaf7e","author":{"name":"Vitaly Kuznetsov","email":"282517a3cdaae14e79e6d52f012bddb9ec2b7f0e@redhat.com"},"message":"x86/kvm/nVMX: nested state migration for Enlightened VMCS\n\nAdd support for get/set of nested state when Enlightened VMCS is in use.\nA new KVM_STATE_NESTED_EVMCS flag to indicate eVMCS on the vCPU was enabled\nis added.\n\nSigned-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/8cab6507f64eff0ccfea01fccbc7e3e05e2aaf7e"},{"sha":"c939989d74e27f44229a51d8fe96b5c297965bfa","author":{"name":"Vitaly Kuznetsov","email":"282517a3cdaae14e79e6d52f012bddb9ec2b7f0e@redhat.com"},"message":"tools/headers: update kvm.h\n\nPick up the latest kvm.h definitions.\n\nSigned-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/c939989d74e27f44229a51d8fe96b5c297965bfa"},{"sha":"18178ff862170ee4c9fd7450173c6fba9e3c4c3a","author":{"name":"Vitaly Kuznetsov","email":"282517a3cdaae14e79e6d52f012bddb9ec2b7f0e@redhat.com"},"message":"KVM: selftests: add Enlightened VMCS test\n\nModify test library and add eVMCS test. This includes nVMX save/restore\ntesting.\n\nSigned-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/18178ff862170ee4c9fd7450173c6fba9e3c4c3a"},{"sha":"bba9ce58d9cb7ba9e121627108eca986760ad0e8","author":{"name":"Jim Mattson","email":"69e6c825ffb81c81b96935a61b79166dbc1f7a9d@google.com"},"message":"KVM: Documentation: Fix omission in struct kvm_vcpu_events\n\nThe header file indicates that there are 36 reserved bytes at the end\nof this structure. Adjust the documentation to agree with the header\nfile.\n\nSigned-off-by: Jim Mattson <jmattson@google.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/bba9ce58d9cb7ba9e121627108eca986760ad0e8"},{"sha":"edbb4233e7efc37dbebb10f7774b38c64080dd66","author":{"name":"Paul Burton","email":"85f1bffadddedccfafc0ae065a06aa636075387f@mips.com"},"message":"MIPS: Cleanup DSP ASE detection\n\nCurrently we hardcode a list of files for which we specify that the\ntoolchain has DSP ASE support when building for MIPSr2 only. This has a\nnumber of problems:\n\n  1) It doesn't actually ensure that the toolchain supports the DSP ASE\n     at all.\n\n  2) It's fragile if we try to use DSP ASE macros in other files.\n\n  3) It makes no provision for MIPSr6 & later systems which also support\n     the DSP ASE & end up using the .word directive implementation of\n     the DSP macros.\n\nFix this by detecting assembler support for the DSP ASE globally, not\njust for a small set of files, and not just for MIPSr2. This now exposes\nuse of toolchain DSP support to kernel builds targeting MIPSr1 and\nolder, so we add .set MIPS_ISA_LEVEL directives prior to all .set dsp\ndirectives in order to prevent the assembler from complaining that the\nDSP ASE is only supported with MIPSr2 & higher.\n\nSigned-off-by: Paul Burton <paul.burton@mips.com>\nPatchwork: https://patchwork.linux-mips.org/patch/20901/\nCc: linux-mips@linux-mips.org","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/edbb4233e7efc37dbebb10f7774b38c64080dd66"},{"sha":"c851436a34cad09388f1303e11ccb6b9420e5692","author":{"name":"Jim Mattson","email":"69e6c825ffb81c81b96935a61b79166dbc1f7a9d@google.com"},"message":"kvm: x86: Add has_payload and payload to kvm_queued_exception\n\nThe payload associated with a #PF exception is the linear address of\nthe fault to be loaded into CR2 when the fault is delivered. The\npayload associated with a #DB exception is a mask of the DR6 bits to\nbe set (or in the case of DR6.RTM, cleared) when the fault is\ndelivered. Add fields has_payload and payload to kvm_queued_exception\nto track payloads for pending exceptions.\n\nThe new fields are introduced here, but for now, they are just cleared.\n\nReported-by: Jim Mattson <jmattson@google.com>\nSuggested-by: Paolo Bonzini <pbonzini@redhat.com>\nSigned-off-by: Jim Mattson <jmattson@google.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>","distinct":false,"url":"https://api.github.com/repos/mrchapp/linux/commits/c851436a34cad09388f1303e11ccb6b9420e5692"}]}
{"actor":{"display_login":"mrchapp"}}