diff for duplicates of <545D1BC3.8040807@samsung.com> diff --git a/a/content_digest b/N1/content_digest index 4c0d7c6..8712882 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,8 +1,24 @@ + "ref\01415320848-13813-1-git-send-email-m.smarduch@samsung.com\0" "ref\01415320848-13813-8-git-send-email-m.smarduch@samsung.com\0" + "ref\0545C9FF0.7010802@arm.com\0" "From\0Mario Smarduch <m.smarduch@samsung.com>\0" "Subject\0Re: [PATCH v13 7/7] arm: KVM: ARMv7 dirty page logging 2nd stage page fault\0" "Date\0Fri, 07 Nov 2014 19:21:39 +0000\0" - "To\0kvm-ia64@vger.kernel.org\0" + "To\0Marc Zyngier <marc.zyngier@arm.com>\0" + "Cc\0pbonzini@redhat.com <pbonzini@redhat.com>" + james.hogan@imgtec.com <james.hogan@imgtec.com> + christoffer.dall@linaro.org <christoffer.dall@linaro.org> + agraf@suse.de <agraf@suse.de> + cornelia.huck@de.ibm.com <cornelia.huck@de.ibm.com> + borntraeger@de.ibm.com <borntraeger@de.ibm.com> + Catalin Marinas <Catalin.Marinas@arm.com> + kvmarm@lists.cs.columbia.edu <kvmarm@lists.cs.columbia.edu> + kvm@vger.kernel.org <kvm@vger.kernel.org> + kvm-ppc@vger.kernel.org <kvm-ppc@vger.kernel.org> + kvm-ia64@vger.kernel.org <kvm-ia64@vger.kernel.org> + linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org> + Steve Capper <Steve.Capper@arm.com> + " peter.maydell@linaro.org <peter.maydell@linaro.org>\0" "\00:1\0" "b\0" "On 11/07/2014 02:33 AM, Marc Zyngier wrote:\n" @@ -160,4 +176,4 @@ "> \tM.\n" > -30f5efd32a8a5139e51924f39e1db8c5755d56aae987ea4f9ec915e7bb287bd7 +2ee03a7da7b73b0fba4f904e1f68d53e5a7a49959c8cf76cc0eec51aec216517
diff --git a/a/1.txt b/N2/1.txt index 10cb2ba..2ba7005 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -4,7 +4,7 @@ On 11/07/2014 02:33 AM, Marc Zyngier wrote: >> it disables faulting in huge pages, and dissolves huge pages to page tables. >> In case migration is canceled huge pages are used again. >> ->> Reviewed-by: Christoffer Dall <christoffer.dall at linaro.org> +>> Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org> >> Signed-off-by: Mario Smarduch <m.smarduch@samsung.com> >> --- >> arch/arm/kvm/mmu.c | 47 ++++++++++++++++++++++++++++++++++++++++------- @@ -95,7 +95,7 @@ put in here now other then it's not supported >> + bool logging_active = kvm_get_logging_state(memslot); >> >> write_fault = kvm_is_write_fault(kvm_vcpu_get_hsr(vcpu)); ->> if (fault_status = FSC_PERM && !write_fault) { +>> if (fault_status == FSC_PERM && !write_fault) { >> @@ -920,7 +943,7 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa, >> /* Let's check if we will get back a huge page backed by hugetlbfs */ >> down_read(¤t->mm->mmap_sem); @@ -118,8 +118,8 @@ put in here now other then it's not supported >> } >> coherent_cache_guest_page(vcpu, hva, PAGE_SIZE); >> ret = stage2_set_pte(kvm, memcache, fault_ipa, &new_pte, ->> - mem_type = PAGE_S2_DEVICE); ->> + mem_type = PAGE_S2_DEVICE, +>> - mem_type == PAGE_S2_DEVICE); +>> + mem_type == PAGE_S2_DEVICE, >> + logging_active); >> } >> @@ -135,7 +135,7 @@ put in here now other then it's not supported >> >> - stage2_set_pte(kvm, NULL, gpa, pte, false); >> + /* ->> + * We can always call stage2_set_pte with logging_active = false, +>> + * We can always call stage2_set_pte with logging_active == false, >> + * because MMU notifiers will have unmapped a huge PMD before calling >> + * ->change_pte() (which in turn calls kvm_set_spte_hva()) and therefore >> + * stage2_set_pte() never needs to clear out a huge PMD through this diff --git a/a/content_digest b/N2/content_digest index 4c0d7c6..e26b5be 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -1,8 +1,10 @@ + "ref\01415320848-13813-1-git-send-email-m.smarduch@samsung.com\0" "ref\01415320848-13813-8-git-send-email-m.smarduch@samsung.com\0" - "From\0Mario Smarduch <m.smarduch@samsung.com>\0" - "Subject\0Re: [PATCH v13 7/7] arm: KVM: ARMv7 dirty page logging 2nd stage page fault\0" - "Date\0Fri, 07 Nov 2014 19:21:39 +0000\0" - "To\0kvm-ia64@vger.kernel.org\0" + "ref\0545C9FF0.7010802@arm.com\0" + "From\0m.smarduch@samsung.com (Mario Smarduch)\0" + "Subject\0[PATCH v13 7/7] arm: KVM: ARMv7 dirty page logging 2nd stage page fault\0" + "Date\0Fri, 07 Nov 2014 11:21:39 -0800\0" + "To\0linux-arm-kernel@lists.infradead.org\0" "\00:1\0" "b\0" "On 11/07/2014 02:33 AM, Marc Zyngier wrote:\n" @@ -11,7 +13,7 @@ ">> it disables faulting in huge pages, and dissolves huge pages to page tables.\n" ">> In case migration is canceled huge pages are used again.\n" ">>\n" - ">> Reviewed-by: Christoffer Dall <christoffer.dall at linaro.org>\n" + ">> Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>\n" ">> Signed-off-by: Mario Smarduch <m.smarduch@samsung.com>\n" ">> ---\n" ">> arch/arm/kvm/mmu.c | 47 ++++++++++++++++++++++++++++++++++++++++-------\n" @@ -102,7 +104,7 @@ ">> +\tbool logging_active = kvm_get_logging_state(memslot);\n" ">> \n" ">> \twrite_fault = kvm_is_write_fault(kvm_vcpu_get_hsr(vcpu));\n" - ">> \tif (fault_status = FSC_PERM && !write_fault) {\n" + ">> \tif (fault_status == FSC_PERM && !write_fault) {\n" ">> @@ -920,7 +943,7 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa,\n" ">> \t/* Let's check if we will get back a huge page backed by hugetlbfs */\n" ">> \tdown_read(¤t->mm->mmap_sem);\n" @@ -125,8 +127,8 @@ ">> \t\t}\n" ">> \t\tcoherent_cache_guest_page(vcpu, hva, PAGE_SIZE);\n" ">> \t\tret = stage2_set_pte(kvm, memcache, fault_ipa, &new_pte,\n" - ">> -\t\t\t\t mem_type = PAGE_S2_DEVICE);\n" - ">> +\t\t\t\t\tmem_type = PAGE_S2_DEVICE,\n" + ">> -\t\t\t\t mem_type == PAGE_S2_DEVICE);\n" + ">> +\t\t\t\t\tmem_type == PAGE_S2_DEVICE,\n" ">> +\t\t\t\t\tlogging_active);\n" ">> \t}\n" ">> \n" @@ -142,7 +144,7 @@ ">> \n" ">> -\tstage2_set_pte(kvm, NULL, gpa, pte, false);\n" ">> +\t/*\n" - ">> +\t * We can always call stage2_set_pte with logging_active = false,\n" + ">> +\t * We can always call stage2_set_pte with logging_active == false,\n" ">> +\t * because MMU notifiers will have unmapped a huge PMD before calling\n" ">> +\t * ->change_pte() (which in turn calls kvm_set_spte_hva()) and therefore\n" ">> +\t * stage2_set_pte() never needs to clear out a huge PMD through this\n" @@ -160,4 +162,4 @@ "> \tM.\n" > -30f5efd32a8a5139e51924f39e1db8c5755d56aae987ea4f9ec915e7bb287bd7 +7711c5654b86f980238842264357b684255580a13227b496cf5a46326cfb937d
diff --git a/a/1.txt b/N3/1.txt index 10cb2ba..d9af590 100644 --- a/a/1.txt +++ b/N3/1.txt @@ -95,7 +95,7 @@ put in here now other then it's not supported >> + bool logging_active = kvm_get_logging_state(memslot); >> >> write_fault = kvm_is_write_fault(kvm_vcpu_get_hsr(vcpu)); ->> if (fault_status = FSC_PERM && !write_fault) { +>> if (fault_status == FSC_PERM && !write_fault) { >> @@ -920,7 +943,7 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa, >> /* Let's check if we will get back a huge page backed by hugetlbfs */ >> down_read(¤t->mm->mmap_sem); @@ -118,8 +118,8 @@ put in here now other then it's not supported >> } >> coherent_cache_guest_page(vcpu, hva, PAGE_SIZE); >> ret = stage2_set_pte(kvm, memcache, fault_ipa, &new_pte, ->> - mem_type = PAGE_S2_DEVICE); ->> + mem_type = PAGE_S2_DEVICE, +>> - mem_type == PAGE_S2_DEVICE); +>> + mem_type == PAGE_S2_DEVICE, >> + logging_active); >> } >> @@ -135,7 +135,7 @@ put in here now other then it's not supported >> >> - stage2_set_pte(kvm, NULL, gpa, pte, false); >> + /* ->> + * We can always call stage2_set_pte with logging_active = false, +>> + * We can always call stage2_set_pte with logging_active == false, >> + * because MMU notifiers will have unmapped a huge PMD before calling >> + * ->change_pte() (which in turn calls kvm_set_spte_hva()) and therefore >> + * stage2_set_pte() never needs to clear out a huge PMD through this diff --git a/a/content_digest b/N3/content_digest index 4c0d7c6..b005bb3 100644 --- a/a/content_digest +++ b/N3/content_digest @@ -1,8 +1,24 @@ + "ref\01415320848-13813-1-git-send-email-m.smarduch@samsung.com\0" "ref\01415320848-13813-8-git-send-email-m.smarduch@samsung.com\0" + "ref\0545C9FF0.7010802@arm.com\0" "From\0Mario Smarduch <m.smarduch@samsung.com>\0" "Subject\0Re: [PATCH v13 7/7] arm: KVM: ARMv7 dirty page logging 2nd stage page fault\0" - "Date\0Fri, 07 Nov 2014 19:21:39 +0000\0" - "To\0kvm-ia64@vger.kernel.org\0" + "Date\0Fri, 07 Nov 2014 11:21:39 -0800\0" + "To\0Marc Zyngier <marc.zyngier@arm.com>\0" + "Cc\0pbonzini@redhat.com <pbonzini@redhat.com>" + james.hogan@imgtec.com <james.hogan@imgtec.com> + christoffer.dall@linaro.org <christoffer.dall@linaro.org> + agraf@suse.de <agraf@suse.de> + cornelia.huck@de.ibm.com <cornelia.huck@de.ibm.com> + borntraeger@de.ibm.com <borntraeger@de.ibm.com> + Catalin Marinas <Catalin.Marinas@arm.com> + kvmarm@lists.cs.columbia.edu <kvmarm@lists.cs.columbia.edu> + kvm@vger.kernel.org <kvm@vger.kernel.org> + kvm-ppc@vger.kernel.org <kvm-ppc@vger.kernel.org> + kvm-ia64@vger.kernel.org <kvm-ia64@vger.kernel.org> + linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org> + Steve Capper <Steve.Capper@arm.com> + " peter.maydell@linaro.org <peter.maydell@linaro.org>\0" "\00:1\0" "b\0" "On 11/07/2014 02:33 AM, Marc Zyngier wrote:\n" @@ -102,7 +118,7 @@ ">> +\tbool logging_active = kvm_get_logging_state(memslot);\n" ">> \n" ">> \twrite_fault = kvm_is_write_fault(kvm_vcpu_get_hsr(vcpu));\n" - ">> \tif (fault_status = FSC_PERM && !write_fault) {\n" + ">> \tif (fault_status == FSC_PERM && !write_fault) {\n" ">> @@ -920,7 +943,7 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa,\n" ">> \t/* Let's check if we will get back a huge page backed by hugetlbfs */\n" ">> \tdown_read(¤t->mm->mmap_sem);\n" @@ -125,8 +141,8 @@ ">> \t\t}\n" ">> \t\tcoherent_cache_guest_page(vcpu, hva, PAGE_SIZE);\n" ">> \t\tret = stage2_set_pte(kvm, memcache, fault_ipa, &new_pte,\n" - ">> -\t\t\t\t mem_type = PAGE_S2_DEVICE);\n" - ">> +\t\t\t\t\tmem_type = PAGE_S2_DEVICE,\n" + ">> -\t\t\t\t mem_type == PAGE_S2_DEVICE);\n" + ">> +\t\t\t\t\tmem_type == PAGE_S2_DEVICE,\n" ">> +\t\t\t\t\tlogging_active);\n" ">> \t}\n" ">> \n" @@ -142,7 +158,7 @@ ">> \n" ">> -\tstage2_set_pte(kvm, NULL, gpa, pte, false);\n" ">> +\t/*\n" - ">> +\t * We can always call stage2_set_pte with logging_active = false,\n" + ">> +\t * We can always call stage2_set_pte with logging_active == false,\n" ">> +\t * because MMU notifiers will have unmapped a huge PMD before calling\n" ">> +\t * ->change_pte() (which in turn calls kvm_set_spte_hva()) and therefore\n" ">> +\t * stage2_set_pte() never needs to clear out a huge PMD through this\n" @@ -160,4 +176,4 @@ "> \tM.\n" > -30f5efd32a8a5139e51924f39e1db8c5755d56aae987ea4f9ec915e7bb287bd7 +b100e7ddfc9b65cfc0ac92353f016560e30c55ab4d4bb8f3a723dccfc2549dd5
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.