diff for duplicates of <20171214130954.GV910@cbox> diff --git a/a/1.txt b/N1/1.txt index 33dbcd2..904288e 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -46,14 +46,14 @@ Hi Jia, > problematic? > > -> vtimer_save_state (vtimer->loaded = false, cntv_ctl is 0) +> vtimer_save_state?????????? (vtimer->loaded = false, cntv_ctl is 0) > -> kvm_arch_timer_handler (read cntv_ctl and set vtimer->cnt_ctl = 0) +> kvm_arch_timer_handler????????(read cntv_ctl and set vtimer->cnt_ctl = 0) > -> vtimer_restore_state (write vtimer->cnt_ctl to cntv_ctl, +> vtimer_restore_state ? ? ? ? ?? (write vtimer->cnt_ctl to cntv_ctl, > then cntv_ctl will > -> be 0 forever) +> ??? ??? ??? ??? ?? ? ? be 0 forever) > > > If above analysis is reasonable @@ -70,14 +70,14 @@ signal fast enough... > +++ b/virt/kvm/arm/arch_timer.c > @@ -99,7 +99,7 @@ static irqreturn_t kvm_arch_timer_handler(int irq, > void *dev_id) -> } -> vtimer = vcpu_vtimer(vcpu); -> -> - if (!vtimer->irq.level) { -> + if (vtimer->loaded && !vtimer->irq.level) { -> vtimer->cnt_ctl = read_sysreg_el0(cntv_ctl); -> if (kvm_timer_irq_can_fire(vtimer)) -> kvm_timer_update_irq(vcpu, true, vtimer); +> ??????? } +> ??????? vtimer = vcpu_vtimer(vcpu); +> +> -?????? if (!vtimer->irq.level) { +> +?????? if (vtimer->loaded && !vtimer->irq.level) { +> ??????????????? vtimer->cnt_ctl = read_sysreg_el0(cntv_ctl); +> ??????????????? if (kvm_timer_irq_can_fire(vtimer)) +> ??????????????????????? kvm_timer_update_irq(vcpu, true, vtimer); > There's nothing really wrong with that patch, I just didn't think it diff --git a/a/content_digest b/N1/content_digest index 8f4a19e..130d144 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,15 +1,10 @@ "ref\01513148407-2611-1-git-send-email-hejianet@gmail.com\0" "ref\020171213091803.GQ910@cbox\0" "ref\0dc95b58c-ee6c-e5c7-1f37-8f69c789a1fc@gmail.com\0" - "From\0Christoffer Dall <christoffer.dall@linaro.org>\0" - "Subject\0Re: [PATCH] KVM: arm/arm64: don't set vtimer->cnt_ctl in kvm_arch_timer_handler\0" + "From\0christoffer.dall@linaro.org (Christoffer Dall)\0" + "Subject\0[PATCH] KVM: arm/arm64: don't set vtimer->cnt_ctl in kvm_arch_timer_handler\0" "Date\0Thu, 14 Dec 2017 14:09:54 +0100\0" - "To\0Jia He <hejianet@gmail.com>\0" - "Cc\0Marc Zyngier <marc.zyngier@arm.com>" - Jia He <jia.he@hxt-semitech.com> - kvmarm@lists.cs.columbia.edu - linux-arm-kernel@lists.infradead.org - " linux-kernel@vger.kernel.org\0" + "To\0linux-arm-kernel@lists.infradead.org\0" "\00:1\0" "b\0" "On Thu, Dec 14, 2017 at 12:57:54PM +0800, Jia He wrote:\n" @@ -60,14 +55,14 @@ "> problematic?\n" "> \n" "> \n" - "> vtimer_save_state\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 (vtimer->loaded = false, cntv_ctl is 0)\n" + "> vtimer_save_state?????????? (vtimer->loaded = false, cntv_ctl is 0)\n" "> \n" - "> kvm_arch_timer_handler\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240(read cntv_ctl and set vtimer->cnt_ctl = 0)\n" + "> kvm_arch_timer_handler????????(read cntv_ctl and set vtimer->cnt_ctl = 0)\n" "> \n" - "> vtimer_restore_state \302\240 \302\240 \302\240 \302\240 \302\240\302\240 (write vtimer->cnt_ctl to cntv_ctl,\n" + "> vtimer_restore_state ? ? ? ? ?? (write vtimer->cnt_ctl to cntv_ctl,\n" "> then cntv_ctl will\n" "> \n" - "> \302\240\302\240\302\240 \302\240\302\240\302\240 \302\240\302\240\302\240 \302\240\302\240\302\240 \302\240\302\240 \302\240 \302\240 be 0 forever)\n" + "> ??? ??? ??? ??? ?? ? ? be 0 forever)\n" "> \n" "> \n" "> If above analysis is reasonable\n" @@ -84,14 +79,14 @@ "> +++ b/virt/kvm/arm/arch_timer.c\n" "> @@ -99,7 +99,7 @@ static irqreturn_t kvm_arch_timer_handler(int irq,\n" "> void *dev_id)\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240 }\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240 vtimer = vcpu_vtimer(vcpu);\n" + "> ??????? }\n" + "> ??????? vtimer = vcpu_vtimer(vcpu);\n" "> \n" - "> -\302\240\302\240\302\240\302\240\302\240\302\240 if (!vtimer->irq.level) {\n" - "> +\302\240\302\240\302\240\302\240\302\240\302\240 if (vtimer->loaded && !vtimer->irq.level) {\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 vtimer->cnt_ctl = read_sysreg_el0(cntv_ctl);\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 if (kvm_timer_irq_can_fire(vtimer))\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 kvm_timer_update_irq(vcpu, true, vtimer);\n" + "> -?????? if (!vtimer->irq.level) {\n" + "> +?????? if (vtimer->loaded && !vtimer->irq.level) {\n" + "> ??????????????? vtimer->cnt_ctl = read_sysreg_el0(cntv_ctl);\n" + "> ??????????????? if (kvm_timer_irq_can_fire(vtimer))\n" + "> ??????????????????????? kvm_timer_update_irq(vcpu, true, vtimer);\n" "> \n" "\n" "There's nothing really wrong with that patch, I just didn't think it\n" @@ -117,4 +112,4 @@ "Thanks,\n" -Christoffer -19a71f3142a6144d97e8fc6638a9f69e9a0289e89fcb7ed743b8a20f9eb50b42 +040ed75852cb5aab0701d82870dc2e6c95b67aecb20cccabcae138f6c4b6accc
diff --git a/a/content_digest b/N2/content_digest index 8f4a19e..4433377 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -6,10 +6,10 @@ "Date\0Thu, 14 Dec 2017 14:09:54 +0100\0" "To\0Jia He <hejianet@gmail.com>\0" "Cc\0Marc Zyngier <marc.zyngier@arm.com>" - Jia He <jia.he@hxt-semitech.com> - kvmarm@lists.cs.columbia.edu linux-arm-kernel@lists.infradead.org - " linux-kernel@vger.kernel.org\0" + kvmarm@lists.cs.columbia.edu + linux-kernel@vger.kernel.org + " Jia He <jia.he@hxt-semitech.com>\0" "\00:1\0" "b\0" "On Thu, Dec 14, 2017 at 12:57:54PM +0800, Jia He wrote:\n" @@ -117,4 +117,4 @@ "Thanks,\n" -Christoffer -19a71f3142a6144d97e8fc6638a9f69e9a0289e89fcb7ed743b8a20f9eb50b42 +c732f05d4c123ab010342d58109e1b45e70f926fa1c435d5cc49937ce7a0a560
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.