diff for duplicates of <Y3PzhANShVlTXVg1@google.com> diff --git a/a/1.txt b/N1/1.txt index 314b62a..6bfcaf3 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -2,9 +2,9 @@ On Thu, Nov 10, 2022, Huang, Kai wrote: > On Thu, 2022-11-10 at 01:33 +0000, Huang, Kai wrote: > > > @@ -9283,7 +9283,13 @@ static int > > > kvm_x86_check_processor_compatibility(struct kvm_x86_init_ops *ops) -> > > ? int cpu = smp_processor_id(); -> > > ? struct cpuinfo_x86 *c = &cpu_data(cpu); -> > > ? +> > > int cpu = smp_processor_id(); +> > > struct cpuinfo_x86 *c = &cpu_data(cpu); +> > > > > > - WARN_ON(!irqs_disabled()); > > > + /* > > > + * Compatibility checks are done when loading KVM and when enabling @@ -14,7 +14,7 @@ On Thu, Nov 10, 2022, Huang, Kai wrote: > > > + * an offline CPU. > > > + */ > > > + WARN_ON(!irqs_disabled() && cpu_active(cpu)); -> > > ? +> > > > > > > Also, the logic of: > > @@ -27,7 +27,7 @@ On Thu, Nov 10, 2022, Huang, Kai wrote: > > the IRQ is indeed disabled. > > > > But this doesn't make sense anymore after we move to ONLINE section, in which -> > IRQ has already been enabled (see start_secondary()).? IIUC the WARN_ON() +> > IRQ has already been enabled (see start_secondary()). IIUC the WARN_ON() > > doesn't get exploded is purely because there's an additional cpu_active(cpu) > > check. > > @@ -54,3 +54,7 @@ the reason for that is because you're wrong about the hotplug case. In this ver of things, the compatibility checks are routed through hardware enabling, i.e. this flow is used only when loading KVM. This helper should only be called via SMP function call, which means that IRQs should always be disabled. +_______________________________________________ +kvmarm mailing list +kvmarm@lists.cs.columbia.edu +https://lists.cs.columbia.edu/mailman/listinfo/kvmarm diff --git a/a/content_digest b/N1/content_digest index 6c5c63a..61a069e 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -3,18 +3,53 @@ "ref\088e920944de70e7d69a98f74005b49c59b5aaa3b.camel@intel.com\0" "ref\0b198fe971cecd301f0c7c66028cfd71dd7ba7e62.camel@intel.com\0" "From\0Sean Christopherson <seanjc@google.com>\0" - "Subject\0[PATCH 38/44] KVM: Disable CPU hotplug during hardware enabling\0" + "Subject\0Re: [PATCH 38/44] KVM: Disable CPU hotplug during hardware enabling\0" "Date\0Tue, 15 Nov 2022 20:16:04 +0000\0" - "To\0kvm-riscv@lists.infradead.org\0" + "To\0Huang" + " Kai <kai.huang@intel.com>\0" + "Cc\0mjrosato@linux.ibm.com <mjrosato@linux.ibm.com>" + david@redhat.com <david@redhat.com> + Yao + Yuan <yuan.yao@intel.com> + paul.walmsley@sifive.com <paul.walmsley@sifive.com> + linux-mips@vger.kernel.org <linux-mips@vger.kernel.org> + mpe@ellerman.id.au <mpe@ellerman.id.au> + linux-riscv@lists.infradead.org <linux-riscv@lists.infradead.org> + imbrenda@linux.ibm.com <imbrenda@linux.ibm.com> + kvmarm@lists.cs.columbia.edu <kvmarm@lists.cs.columbia.edu> + linux-s390@vger.kernel.org <linux-s390@vger.kernel.org> + frankja@linux.ibm.com <frankja@linux.ibm.com> + maz@kernel.org <maz@kernel.org> + chenhuacai@kernel.org <chenhuacai@kernel.org> + aleksandar.qemu.devel@gmail.com <aleksandar.qemu.devel@gmail.com> + borntraeger@linux.ibm.com <borntraeger@linux.ibm.com> + Gao + Chao <chao.gao@intel.com> + farman@linux.ibm.com <farman@linux.ibm.com> + aou@eecs.berkeley.edu <aou@eecs.berkeley.edu> + kvm@vger.kernel.org <kvm@vger.kernel.org> + atishp@atishpatra.org <atishp@atishpatra.org> + kvmarm@lists.linux.dev <kvmarm@lists.linux.dev> + tglx@linutronix.de <tglx@linutronix.de> + linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org> + Yamahata + Isaku <isaku.yamahata@intel.com> + farosas@linux.ibm.com <farosas@linux.ibm.com> + linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org> + palmer@dabbelt.com <palmer@dabbelt.com> + kvm-riscv@lists.infradead.org <kvm-riscv@lists.infradead.org> + pbonzini@redhat.com <pbonzini@redhat.com> + vkuznets@redhat.com <vkuznets@redhat.com> + " linuxppc-dev@lists.ozlabs.org <linuxppc-dev@lists.ozlabs.org>\0" "\00:1\0" "b\0" "On Thu, Nov 10, 2022, Huang, Kai wrote:\n" "> On Thu, 2022-11-10 at 01:33 +0000, Huang, Kai wrote:\n" "> > > @@ -9283,7 +9283,13 @@ static int\n" "> > > kvm_x86_check_processor_compatibility(struct kvm_x86_init_ops *ops)\n" - "> > > ?\tint cpu = smp_processor_id();\n" - "> > > ?\tstruct cpuinfo_x86 *c = &cpu_data(cpu);\n" - "> > > ?\n" + "> > > \302\240\tint cpu = smp_processor_id();\n" + "> > > \302\240\tstruct cpuinfo_x86 *c = &cpu_data(cpu);\n" + "> > > \302\240\n" "> > > -\tWARN_ON(!irqs_disabled());\n" "> > > +\t/*\n" "> > > +\t * Compatibility checks are done when loading KVM and when enabling\n" @@ -24,7 +59,7 @@ "> > > +\t * an offline CPU.\n" "> > > +\t */\n" "> > > +\tWARN_ON(!irqs_disabled() && cpu_active(cpu));\n" - "> > > ?\n" + "> > > \302\240\n" "> > \n" "> > Also, the logic of:\n" "> > \n" @@ -37,7 +72,7 @@ "> > the IRQ is indeed disabled.\n" "> > \n" "> > But this doesn't make sense anymore after we move to ONLINE section, in which\n" - "> > IRQ has already been enabled (see start_secondary()).? IIUC the WARN_ON()\n" + "> > IRQ has already been enabled (see start_secondary()).\302\240 IIUC the WARN_ON()\n" "> > doesn't get exploded is purely because there's an additional cpu_active(cpu)\n" "> > check.\n" "> > \n" @@ -63,6 +98,10 @@ "the reason for that is because you're wrong about the hotplug case. In this version\n" "of things, the compatibility checks are routed through hardware enabling, i.e. this\n" "flow is used only when loading KVM. This helper should only be called via SMP function\n" - call, which means that IRQs should always be disabled. + "call, which means that IRQs should always be disabled.\n" + "_______________________________________________\n" + "kvmarm mailing list\n" + "kvmarm@lists.cs.columbia.edu\n" + https://lists.cs.columbia.edu/mailman/listinfo/kvmarm -e0cb11509840f6884d91018f831cf79f61dcbb98c09ee339b718532b800cc5ac +9606b843a2ce3c2054f4be984dc6d6cac916e2eae608b86da2162e952b76b9eb
diff --git a/a/1.txt b/N2/1.txt index 314b62a..fd960eb 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -2,9 +2,9 @@ On Thu, Nov 10, 2022, Huang, Kai wrote: > On Thu, 2022-11-10 at 01:33 +0000, Huang, Kai wrote: > > > @@ -9283,7 +9283,13 @@ static int > > > kvm_x86_check_processor_compatibility(struct kvm_x86_init_ops *ops) -> > > ? int cpu = smp_processor_id(); -> > > ? struct cpuinfo_x86 *c = &cpu_data(cpu); -> > > ? +> > > int cpu = smp_processor_id(); +> > > struct cpuinfo_x86 *c = &cpu_data(cpu); +> > > > > > - WARN_ON(!irqs_disabled()); > > > + /* > > > + * Compatibility checks are done when loading KVM and when enabling @@ -14,7 +14,7 @@ On Thu, Nov 10, 2022, Huang, Kai wrote: > > > + * an offline CPU. > > > + */ > > > + WARN_ON(!irqs_disabled() && cpu_active(cpu)); -> > > ? +> > > > > > > Also, the logic of: > > @@ -27,7 +27,7 @@ On Thu, Nov 10, 2022, Huang, Kai wrote: > > the IRQ is indeed disabled. > > > > But this doesn't make sense anymore after we move to ONLINE section, in which -> > IRQ has already been enabled (see start_secondary()).? IIUC the WARN_ON() +> > IRQ has already been enabled (see start_secondary()). IIUC the WARN_ON() > > doesn't get exploded is purely because there's an additional cpu_active(cpu) > > check. > > diff --git a/a/content_digest b/N2/content_digest index 6c5c63a..a670f84 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -3,18 +3,58 @@ "ref\088e920944de70e7d69a98f74005b49c59b5aaa3b.camel@intel.com\0" "ref\0b198fe971cecd301f0c7c66028cfd71dd7ba7e62.camel@intel.com\0" "From\0Sean Christopherson <seanjc@google.com>\0" - "Subject\0[PATCH 38/44] KVM: Disable CPU hotplug during hardware enabling\0" + "Subject\0Re: [PATCH 38/44] KVM: Disable CPU hotplug during hardware enabling\0" "Date\0Tue, 15 Nov 2022 20:16:04 +0000\0" - "To\0kvm-riscv@lists.infradead.org\0" + "To\0Huang" + " Kai <kai.huang@intel.com>\0" + "Cc\0farman@linux.ibm.com <farman@linux.ibm.com>" + frankja@linux.ibm.com <frankja@linux.ibm.com> + mjrosato@linux.ibm.com <mjrosato@linux.ibm.com> + vkuznets@redhat.com <vkuznets@redhat.com> + chenhuacai@kernel.org <chenhuacai@kernel.org> + aou@eecs.berkeley.edu <aou@eecs.berkeley.edu> + palmer@dabbelt.com <palmer@dabbelt.com> + paul.walmsley@sifive.com <paul.walmsley@sifive.com> + maz@kernel.org <maz@kernel.org> + anup@brainfault.org <anup@brainfault.org> + imbrenda@linux.ibm.com <imbrenda@linux.ibm.com> + pbonzini@redhat.com <pbonzini@redhat.com> + borntraeger@linux.ibm.com <borntraeger@linux.ibm.com> + aleksandar.qemu.devel@gmail.com <aleksandar.qemu.devel@gmail.com> + kvm@vger.kernel.org <kvm@vger.kernel.org> + atishp@atishpatra.org <atishp@atishpatra.org> + farosas@linux.ibm.com <farosas@linux.ibm.com> + david@redhat.com <david@redhat.com> + Yao + Yuan <yuan.yao@intel.com> + mpe@ellerman.id.au <mpe@ellerman.id.au> + alexandru.elisei@arm.com <alexandru.elisei@arm.com> + linux-s390@vger.kernel.org <linux-s390@vger.kernel.org> + linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org> + tglx@linutronix.de <tglx@linutronix.de> + Yamahata + Isaku <isaku.yamahata@intel.com> + kvmarm@lists.linux.dev <kvmarm@lists.linux.dev> + james.morse@arm.com <james.morse@arm.com> + kvm-riscv@lists.infradead.org <kvm-riscv@lists.infradead.org> + suzuki.poulose@arm.com <suzuki.poulose@arm.com> + linuxppc-dev@lists.ozlabs.org <linuxppc-dev@lists.ozlabs.org> + linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org> + linux-mips@vger.kernel.org <linux-mips@vger.kernel.org> + Gao + Chao <chao.gao@intel.com> + oliver.upton@linux.dev <oliver.upton@linux.dev> + kvmarm@lists.cs.columbia.edu <kvmarm@lists.cs.columbia.edu> + " linux-riscv@lists.infradead.org <linux-riscv@lists.infradead.org>\0" "\00:1\0" "b\0" "On Thu, Nov 10, 2022, Huang, Kai wrote:\n" "> On Thu, 2022-11-10 at 01:33 +0000, Huang, Kai wrote:\n" "> > > @@ -9283,7 +9283,13 @@ static int\n" "> > > kvm_x86_check_processor_compatibility(struct kvm_x86_init_ops *ops)\n" - "> > > ?\tint cpu = smp_processor_id();\n" - "> > > ?\tstruct cpuinfo_x86 *c = &cpu_data(cpu);\n" - "> > > ?\n" + "> > > \302\240\tint cpu = smp_processor_id();\n" + "> > > \302\240\tstruct cpuinfo_x86 *c = &cpu_data(cpu);\n" + "> > > \302\240\n" "> > > -\tWARN_ON(!irqs_disabled());\n" "> > > +\t/*\n" "> > > +\t * Compatibility checks are done when loading KVM and when enabling\n" @@ -24,7 +64,7 @@ "> > > +\t * an offline CPU.\n" "> > > +\t */\n" "> > > +\tWARN_ON(!irqs_disabled() && cpu_active(cpu));\n" - "> > > ?\n" + "> > > \302\240\n" "> > \n" "> > Also, the logic of:\n" "> > \n" @@ -37,7 +77,7 @@ "> > the IRQ is indeed disabled.\n" "> > \n" "> > But this doesn't make sense anymore after we move to ONLINE section, in which\n" - "> > IRQ has already been enabled (see start_secondary()).? IIUC the WARN_ON()\n" + "> > IRQ has already been enabled (see start_secondary()).\302\240 IIUC the WARN_ON()\n" "> > doesn't get exploded is purely because there's an additional cpu_active(cpu)\n" "> > check.\n" "> > \n" @@ -65,4 +105,4 @@ "flow is used only when loading KVM. This helper should only be called via SMP function\n" call, which means that IRQs should always be disabled. -e0cb11509840f6884d91018f831cf79f61dcbb98c09ee339b718532b800cc5ac +2e535a93807a1c85156db90cb40b3f4ba31d9e9deb31cfb848169d0e7f0ab2c1
diff --git a/a/1.txt b/N3/1.txt index 314b62a..2a1b0db 100644 --- a/a/1.txt +++ b/N3/1.txt @@ -2,9 +2,9 @@ On Thu, Nov 10, 2022, Huang, Kai wrote: > On Thu, 2022-11-10 at 01:33 +0000, Huang, Kai wrote: > > > @@ -9283,7 +9283,13 @@ static int > > > kvm_x86_check_processor_compatibility(struct kvm_x86_init_ops *ops) -> > > ? int cpu = smp_processor_id(); -> > > ? struct cpuinfo_x86 *c = &cpu_data(cpu); -> > > ? +> > > int cpu = smp_processor_id(); +> > > struct cpuinfo_x86 *c = &cpu_data(cpu); +> > > > > > - WARN_ON(!irqs_disabled()); > > > + /* > > > + * Compatibility checks are done when loading KVM and when enabling @@ -14,7 +14,7 @@ On Thu, Nov 10, 2022, Huang, Kai wrote: > > > + * an offline CPU. > > > + */ > > > + WARN_ON(!irqs_disabled() && cpu_active(cpu)); -> > > ? +> > > > > > > Also, the logic of: > > @@ -27,7 +27,7 @@ On Thu, Nov 10, 2022, Huang, Kai wrote: > > the IRQ is indeed disabled. > > > > But this doesn't make sense anymore after we move to ONLINE section, in which -> > IRQ has already been enabled (see start_secondary()).? IIUC the WARN_ON() +> > IRQ has already been enabled (see start_secondary()). IIUC the WARN_ON() > > doesn't get exploded is purely because there's an additional cpu_active(cpu) > > check. > > @@ -54,3 +54,8 @@ the reason for that is because you're wrong about the hotplug case. In this ver of things, the compatibility checks are routed through hardware enabling, i.e. this flow is used only when loading KVM. This helper should only be called via SMP function call, which means that IRQs should always be disabled. + +_______________________________________________ +linux-riscv mailing list +linux-riscv@lists.infradead.org +http://lists.infradead.org/mailman/listinfo/linux-riscv diff --git a/a/content_digest b/N3/content_digest index 6c5c63a..392c455 100644 --- a/a/content_digest +++ b/N3/content_digest @@ -3,18 +3,58 @@ "ref\088e920944de70e7d69a98f74005b49c59b5aaa3b.camel@intel.com\0" "ref\0b198fe971cecd301f0c7c66028cfd71dd7ba7e62.camel@intel.com\0" "From\0Sean Christopherson <seanjc@google.com>\0" - "Subject\0[PATCH 38/44] KVM: Disable CPU hotplug during hardware enabling\0" + "Subject\0Re: [PATCH 38/44] KVM: Disable CPU hotplug during hardware enabling\0" "Date\0Tue, 15 Nov 2022 20:16:04 +0000\0" - "To\0kvm-riscv@lists.infradead.org\0" + "To\0Huang" + " Kai <kai.huang@intel.com>\0" + "Cc\0farman@linux.ibm.com <farman@linux.ibm.com>" + frankja@linux.ibm.com <frankja@linux.ibm.com> + mjrosato@linux.ibm.com <mjrosato@linux.ibm.com> + vkuznets@redhat.com <vkuznets@redhat.com> + chenhuacai@kernel.org <chenhuacai@kernel.org> + aou@eecs.berkeley.edu <aou@eecs.berkeley.edu> + palmer@dabbelt.com <palmer@dabbelt.com> + paul.walmsley@sifive.com <paul.walmsley@sifive.com> + maz@kernel.org <maz@kernel.org> + anup@brainfault.org <anup@brainfault.org> + imbrenda@linux.ibm.com <imbrenda@linux.ibm.com> + pbonzini@redhat.com <pbonzini@redhat.com> + borntraeger@linux.ibm.com <borntraeger@linux.ibm.com> + aleksandar.qemu.devel@gmail.com <aleksandar.qemu.devel@gmail.com> + kvm@vger.kernel.org <kvm@vger.kernel.org> + atishp@atishpatra.org <atishp@atishpatra.org> + farosas@linux.ibm.com <farosas@linux.ibm.com> + david@redhat.com <david@redhat.com> + Yao + Yuan <yuan.yao@intel.com> + mpe@ellerman.id.au <mpe@ellerman.id.au> + alexandru.elisei@arm.com <alexandru.elisei@arm.com> + linux-s390@vger.kernel.org <linux-s390@vger.kernel.org> + linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org> + tglx@linutronix.de <tglx@linutronix.de> + Yamahata + Isaku <isaku.yamahata@intel.com> + kvmarm@lists.linux.dev <kvmarm@lists.linux.dev> + james.morse@arm.com <james.morse@arm.com> + kvm-riscv@lists.infradead.org <kvm-riscv@lists.infradead.org> + suzuki.poulose@arm.com <suzuki.poulose@arm.com> + linuxppc-dev@lists.ozlabs.org <linuxppc-dev@lists.ozlabs.org> + linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org> + linux-mips@vger.kernel.org <linux-mips@vger.kernel.org> + Gao + Chao <chao.gao@intel.com> + oliver.upton@linux.dev <oliver.upton@linux.dev> + kvmarm@lists.cs.columbia.edu <kvmarm@lists.cs.columbia.edu> + " linux-riscv@lists.infradead.org <linux-riscv@lists.infradead.org>\0" "\00:1\0" "b\0" "On Thu, Nov 10, 2022, Huang, Kai wrote:\n" "> On Thu, 2022-11-10 at 01:33 +0000, Huang, Kai wrote:\n" "> > > @@ -9283,7 +9283,13 @@ static int\n" "> > > kvm_x86_check_processor_compatibility(struct kvm_x86_init_ops *ops)\n" - "> > > ?\tint cpu = smp_processor_id();\n" - "> > > ?\tstruct cpuinfo_x86 *c = &cpu_data(cpu);\n" - "> > > ?\n" + "> > > \302\240\tint cpu = smp_processor_id();\n" + "> > > \302\240\tstruct cpuinfo_x86 *c = &cpu_data(cpu);\n" + "> > > \302\240\n" "> > > -\tWARN_ON(!irqs_disabled());\n" "> > > +\t/*\n" "> > > +\t * Compatibility checks are done when loading KVM and when enabling\n" @@ -24,7 +64,7 @@ "> > > +\t * an offline CPU.\n" "> > > +\t */\n" "> > > +\tWARN_ON(!irqs_disabled() && cpu_active(cpu));\n" - "> > > ?\n" + "> > > \302\240\n" "> > \n" "> > Also, the logic of:\n" "> > \n" @@ -37,7 +77,7 @@ "> > the IRQ is indeed disabled.\n" "> > \n" "> > But this doesn't make sense anymore after we move to ONLINE section, in which\n" - "> > IRQ has already been enabled (see start_secondary()).? IIUC the WARN_ON()\n" + "> > IRQ has already been enabled (see start_secondary()).\302\240 IIUC the WARN_ON()\n" "> > doesn't get exploded is purely because there's an additional cpu_active(cpu)\n" "> > check.\n" "> > \n" @@ -63,6 +103,11 @@ "the reason for that is because you're wrong about the hotplug case. In this version\n" "of things, the compatibility checks are routed through hardware enabling, i.e. this\n" "flow is used only when loading KVM. This helper should only be called via SMP function\n" - call, which means that IRQs should always be disabled. + "call, which means that IRQs should always be disabled.\n" + "\n" + "_______________________________________________\n" + "linux-riscv mailing list\n" + "linux-riscv@lists.infradead.org\n" + http://lists.infradead.org/mailman/listinfo/linux-riscv -e0cb11509840f6884d91018f831cf79f61dcbb98c09ee339b718532b800cc5ac +68da014c3445b555d9ae938c7b430afdc15c7611b728cfed39feebfbec84e186
diff --git a/a/1.txt b/N4/1.txt index 314b62a..fd960eb 100644 --- a/a/1.txt +++ b/N4/1.txt @@ -2,9 +2,9 @@ On Thu, Nov 10, 2022, Huang, Kai wrote: > On Thu, 2022-11-10 at 01:33 +0000, Huang, Kai wrote: > > > @@ -9283,7 +9283,13 @@ static int > > > kvm_x86_check_processor_compatibility(struct kvm_x86_init_ops *ops) -> > > ? int cpu = smp_processor_id(); -> > > ? struct cpuinfo_x86 *c = &cpu_data(cpu); -> > > ? +> > > int cpu = smp_processor_id(); +> > > struct cpuinfo_x86 *c = &cpu_data(cpu); +> > > > > > - WARN_ON(!irqs_disabled()); > > > + /* > > > + * Compatibility checks are done when loading KVM and when enabling @@ -14,7 +14,7 @@ On Thu, Nov 10, 2022, Huang, Kai wrote: > > > + * an offline CPU. > > > + */ > > > + WARN_ON(!irqs_disabled() && cpu_active(cpu)); -> > > ? +> > > > > > > Also, the logic of: > > @@ -27,7 +27,7 @@ On Thu, Nov 10, 2022, Huang, Kai wrote: > > the IRQ is indeed disabled. > > > > But this doesn't make sense anymore after we move to ONLINE section, in which -> > IRQ has already been enabled (see start_secondary()).? IIUC the WARN_ON() +> > IRQ has already been enabled (see start_secondary()). IIUC the WARN_ON() > > doesn't get exploded is purely because there's an additional cpu_active(cpu) > > check. > > diff --git a/a/content_digest b/N4/content_digest index 6c5c63a..122d743 100644 --- a/a/content_digest +++ b/N4/content_digest @@ -3,18 +3,57 @@ "ref\088e920944de70e7d69a98f74005b49c59b5aaa3b.camel@intel.com\0" "ref\0b198fe971cecd301f0c7c66028cfd71dd7ba7e62.camel@intel.com\0" "From\0Sean Christopherson <seanjc@google.com>\0" - "Subject\0[PATCH 38/44] KVM: Disable CPU hotplug during hardware enabling\0" + "Subject\0Re: [PATCH 38/44] KVM: Disable CPU hotplug during hardware enabling\0" "Date\0Tue, 15 Nov 2022 20:16:04 +0000\0" - "To\0kvm-riscv@lists.infradead.org\0" + "To\0Huang" + " Kai <kai.huang@intel.com>\0" + "Cc\0mjrosato@linux.ibm.com <mjrosato@linux.ibm.com>" + david@redhat.com <david@redhat.com> + Yao + Yuan <yuan.yao@intel.com> + paul.walmsley@sifive.com <paul.walmsley@sifive.com> + linux-mips@vger.kernel.org <linux-mips@vger.kernel.org> + linux-riscv@lists.infradead.org <linux-riscv@lists.infradead.org> + imbrenda@linux.ibm.com <imbrenda@linux.ibm.com> + kvmarm@lists.cs.columbia.edu <kvmarm@lists.cs.columbia.edu> + linux-s390@vger.kernel.org <linux-s390@vger.kernel.org> + frankja@linux.ibm.com <frankja@linux.ibm.com> + maz@kernel.org <maz@kernel.org> + chenhuacai@kernel.org <chenhuacai@kernel.org> + aleksandar.qemu.devel@gmail.com <aleksandar.qemu.devel@gmail.com> + james.morse@arm.com <james.morse@arm.com> + borntraeger@linux.ibm.com <borntraeger@linux.ibm.com> + Gao + Chao <chao.gao@intel.com> + farman@linux.ibm.com <farman@linux.ibm.com> + aou@eecs.berkeley.edu <aou@eecs.berkeley.edu> + suzuki.poulose@arm.com <suzuki.poulose@arm.com> + kvm@vger.kernel.org <kvm@vg er.kernel.org> + atishp@atishpatra.org <atishp@atishpatra.org> + kvmarm@lists.linux.dev <kvmarm@lists.linux.dev> + tglx@linutronix.de <tglx@linutronix.de> + alexandru.elisei@arm.com <alexandru.elisei@arm.com> + linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org> + Yamahata + Isaku <isaku.yamahata@intel.com> + farosas@linux.ibm.com <farosas@linux.ibm.com> + linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org> + oliver.upton@linux.dev <oliver.upton@linux.dev> + palmer@dabbelt.com <palmer@dabbelt.com> + kvm-riscv@lists.infradead.org <kvm-riscv@lists.infradead.org> + anup@brainfault.org <anup@brainfault.org> + pbonzini@redhat.com <pbonzini@redhat.com> + vkuznets@redhat.com <vkuznets@redhat.com> + " linuxppc-dev@lists.ozlabs.org <linuxppc-dev@lists.ozlabs.org>\0" "\00:1\0" "b\0" "On Thu, Nov 10, 2022, Huang, Kai wrote:\n" "> On Thu, 2022-11-10 at 01:33 +0000, Huang, Kai wrote:\n" "> > > @@ -9283,7 +9283,13 @@ static int\n" "> > > kvm_x86_check_processor_compatibility(struct kvm_x86_init_ops *ops)\n" - "> > > ?\tint cpu = smp_processor_id();\n" - "> > > ?\tstruct cpuinfo_x86 *c = &cpu_data(cpu);\n" - "> > > ?\n" + "> > > \302\240\tint cpu = smp_processor_id();\n" + "> > > \302\240\tstruct cpuinfo_x86 *c = &cpu_data(cpu);\n" + "> > > \302\240\n" "> > > -\tWARN_ON(!irqs_disabled());\n" "> > > +\t/*\n" "> > > +\t * Compatibility checks are done when loading KVM and when enabling\n" @@ -24,7 +63,7 @@ "> > > +\t * an offline CPU.\n" "> > > +\t */\n" "> > > +\tWARN_ON(!irqs_disabled() && cpu_active(cpu));\n" - "> > > ?\n" + "> > > \302\240\n" "> > \n" "> > Also, the logic of:\n" "> > \n" @@ -37,7 +76,7 @@ "> > the IRQ is indeed disabled.\n" "> > \n" "> > But this doesn't make sense anymore after we move to ONLINE section, in which\n" - "> > IRQ has already been enabled (see start_secondary()).? IIUC the WARN_ON()\n" + "> > IRQ has already been enabled (see start_secondary()).\302\240 IIUC the WARN_ON()\n" "> > doesn't get exploded is purely because there's an additional cpu_active(cpu)\n" "> > check.\n" "> > \n" @@ -65,4 +104,4 @@ "flow is used only when loading KVM. This helper should only be called via SMP function\n" call, which means that IRQs should always be disabled. -e0cb11509840f6884d91018f831cf79f61dcbb98c09ee339b718532b800cc5ac +643954d69e53b0c34b78acd98a19f7e5199d03d8932149cb9be080c49d396032
diff --git a/a/1.txt b/N5/1.txt index 314b62a..8dfec5a 100644 --- a/a/1.txt +++ b/N5/1.txt @@ -2,9 +2,9 @@ On Thu, Nov 10, 2022, Huang, Kai wrote: > On Thu, 2022-11-10 at 01:33 +0000, Huang, Kai wrote: > > > @@ -9283,7 +9283,13 @@ static int > > > kvm_x86_check_processor_compatibility(struct kvm_x86_init_ops *ops) -> > > ? int cpu = smp_processor_id(); -> > > ? struct cpuinfo_x86 *c = &cpu_data(cpu); -> > > ? +> > > int cpu = smp_processor_id(); +> > > struct cpuinfo_x86 *c = &cpu_data(cpu); +> > > > > > - WARN_ON(!irqs_disabled()); > > > + /* > > > + * Compatibility checks are done when loading KVM and when enabling @@ -14,7 +14,7 @@ On Thu, Nov 10, 2022, Huang, Kai wrote: > > > + * an offline CPU. > > > + */ > > > + WARN_ON(!irqs_disabled() && cpu_active(cpu)); -> > > ? +> > > > > > > Also, the logic of: > > @@ -27,7 +27,7 @@ On Thu, Nov 10, 2022, Huang, Kai wrote: > > the IRQ is indeed disabled. > > > > But this doesn't make sense anymore after we move to ONLINE section, in which -> > IRQ has already been enabled (see start_secondary()).? IIUC the WARN_ON() +> > IRQ has already been enabled (see start_secondary()). IIUC the WARN_ON() > > doesn't get exploded is purely because there's an additional cpu_active(cpu) > > check. > > @@ -54,3 +54,8 @@ the reason for that is because you're wrong about the hotplug case. In this ver of things, the compatibility checks are routed through hardware enabling, i.e. this flow is used only when loading KVM. This helper should only be called via SMP function call, which means that IRQs should always be disabled. + +_______________________________________________ +linux-arm-kernel mailing list +linux-arm-kernel@lists.infradead.org +http://lists.infradead.org/mailman/listinfo/linux-arm-kernel diff --git a/a/content_digest b/N5/content_digest index 6c5c63a..329a176 100644 --- a/a/content_digest +++ b/N5/content_digest @@ -3,18 +3,58 @@ "ref\088e920944de70e7d69a98f74005b49c59b5aaa3b.camel@intel.com\0" "ref\0b198fe971cecd301f0c7c66028cfd71dd7ba7e62.camel@intel.com\0" "From\0Sean Christopherson <seanjc@google.com>\0" - "Subject\0[PATCH 38/44] KVM: Disable CPU hotplug during hardware enabling\0" + "Subject\0Re: [PATCH 38/44] KVM: Disable CPU hotplug during hardware enabling\0" "Date\0Tue, 15 Nov 2022 20:16:04 +0000\0" - "To\0kvm-riscv@lists.infradead.org\0" + "To\0Huang" + " Kai <kai.huang@intel.com>\0" + "Cc\0farman@linux.ibm.com <farman@linux.ibm.com>" + frankja@linux.ibm.com <frankja@linux.ibm.com> + mjrosato@linux.ibm.com <mjrosato@linux.ibm.com> + vkuznets@redhat.com <vkuznets@redhat.com> + chenhuacai@kernel.org <chenhuacai@kernel.org> + aou@eecs.berkeley.edu <aou@eecs.berkeley.edu> + palmer@dabbelt.com <palmer@dabbelt.com> + paul.walmsley@sifive.com <paul.walmsley@sifive.com> + maz@kernel.org <maz@kernel.org> + anup@brainfault.org <anup@brainfault.org> + imbrenda@linux.ibm.com <imbrenda@linux.ibm.com> + pbonzini@redhat.com <pbonzini@redhat.com> + borntraeger@linux.ibm.com <borntraeger@linux.ibm.com> + aleksandar.qemu.devel@gmail.com <aleksandar.qemu.devel@gmail.com> + kvm@vger.kernel.org <kvm@vger.kernel.org> + atishp@atishpatra.org <atishp@atishpatra.org> + farosas@linux.ibm.com <farosas@linux.ibm.com> + david@redhat.com <david@redhat.com> + Yao + Yuan <yuan.yao@intel.com> + mpe@ellerman.id.au <mpe@ellerman.id.au> + alexandru.elisei@arm.com <alexandru.elisei@arm.com> + linux-s390@vger.kernel.org <linux-s390@vger.kernel.org> + linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org> + tglx@linutronix.de <tglx@linutronix.de> + Yamahata + Isaku <isaku.yamahata@intel.com> + kvmarm@lists.linux.dev <kvmarm@lists.linux.dev> + james.morse@arm.com <james.morse@arm.com> + kvm-riscv@lists.infradead.org <kvm-riscv@lists.infradead.org> + suzuki.poulose@arm.com <suzuki.poulose@arm.com> + linuxppc-dev@lists.ozlabs.org <linuxppc-dev@lists.ozlabs.org> + linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org> + linux-mips@vger.kernel.org <linux-mips@vger.kernel.org> + Gao + Chao <chao.gao@intel.com> + oliver.upton@linux.dev <oliver.upton@linux.dev> + kvmarm@lists.cs.columbia.edu <kvmarm@lists.cs.columbia.edu> + " linux-riscv@lists.infradead.org <linux-riscv@lists.infradead.org>\0" "\00:1\0" "b\0" "On Thu, Nov 10, 2022, Huang, Kai wrote:\n" "> On Thu, 2022-11-10 at 01:33 +0000, Huang, Kai wrote:\n" "> > > @@ -9283,7 +9283,13 @@ static int\n" "> > > kvm_x86_check_processor_compatibility(struct kvm_x86_init_ops *ops)\n" - "> > > ?\tint cpu = smp_processor_id();\n" - "> > > ?\tstruct cpuinfo_x86 *c = &cpu_data(cpu);\n" - "> > > ?\n" + "> > > \302\240\tint cpu = smp_processor_id();\n" + "> > > \302\240\tstruct cpuinfo_x86 *c = &cpu_data(cpu);\n" + "> > > \302\240\n" "> > > -\tWARN_ON(!irqs_disabled());\n" "> > > +\t/*\n" "> > > +\t * Compatibility checks are done when loading KVM and when enabling\n" @@ -24,7 +64,7 @@ "> > > +\t * an offline CPU.\n" "> > > +\t */\n" "> > > +\tWARN_ON(!irqs_disabled() && cpu_active(cpu));\n" - "> > > ?\n" + "> > > \302\240\n" "> > \n" "> > Also, the logic of:\n" "> > \n" @@ -37,7 +77,7 @@ "> > the IRQ is indeed disabled.\n" "> > \n" "> > But this doesn't make sense anymore after we move to ONLINE section, in which\n" - "> > IRQ has already been enabled (see start_secondary()).? IIUC the WARN_ON()\n" + "> > IRQ has already been enabled (see start_secondary()).\302\240 IIUC the WARN_ON()\n" "> > doesn't get exploded is purely because there's an additional cpu_active(cpu)\n" "> > check.\n" "> > \n" @@ -63,6 +103,11 @@ "the reason for that is because you're wrong about the hotplug case. In this version\n" "of things, the compatibility checks are routed through hardware enabling, i.e. this\n" "flow is used only when loading KVM. This helper should only be called via SMP function\n" - call, which means that IRQs should always be disabled. + "call, which means that IRQs should always be disabled.\n" + "\n" + "_______________________________________________\n" + "linux-arm-kernel mailing list\n" + "linux-arm-kernel@lists.infradead.org\n" + http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -e0cb11509840f6884d91018f831cf79f61dcbb98c09ee339b718532b800cc5ac +357474b172ad7654b06bfd8dc7858131b71cce76349c51895abe419f74e0bfaf
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.