On 09/08/20 16:24, Igor Mammedov wrote: > Add comment explaining why while_ctx2 restarts from the last processed CPU. > > Signed-off-by: Igor Mammedov <imamm...@redhat.com> > Reviewed-by: Laszlo Ersek <ler...@redhat.com> > Tested-by: Laszlo Ersek <ler...@redhat.com> > --- > hw/acpi/cpu.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/hw/acpi/cpu.c b/hw/acpi/cpu.c > index 1283972001..8dd4d8ebbf 100644 > --- a/hw/acpi/cpu.c > +++ b/hw/acpi/cpu.c > @@ -601,6 +601,15 @@ void build_cpus_aml(Aml *table, MachineState *machine, > CPUHotplugFeatures opts, > aml_append(while_ctx, aml_increment(cpu_idx)); > } > aml_append(while_ctx2, while_ctx); > + /* > + * If another batch is needed, then it will resume scanning > + * exactly at -- and not after -- the last CPU that's > currently > + * in CPU_ADDED_LIST. In other words, the last CPU in > + * CPU_ADDED_LIST is going to be re-checked. That's OK: we've > + * just cleared the insert event for *all* CPUs in > + * CPU_ADDED_LIST, including the last one. So the scan will > + * simply seek past it. > + */ > } > aml_append(method, while_ctx2); > aml_append(method, aml_release(ctrl_lock)); >
Thank you! Laszlo