Hi Eduardo,

Thanks for your review.

On 2020/12/19 2:47, Eduardo Habkost wrote:
> On Wed, Nov 25, 2020 at 07:54:17PM +0800, Zhenyu Ye wrote:
>> From 0b4318c9dbf6fa152ec14eab29837ea06e2d78e5 Mon Sep 17 00:00:00 2001
>> From: eillon <yezhen...@huawei.com>
>> Date: Wed, 25 Nov 2020 19:17:03 +0800
>> Subject: [PATCH] x86/cpu: initialize the CPU concurrently
>>
>> Currently we initialize cpu one by one in qemu_init_vcpu(), every cpu
>> should have to wait util cpu->created = true.  When 
>> cpus_accel->create_vcpu_thread
>> costs too long time or the number of CPUs is too large, this will prolong
>> the boot time.
>>
> 
> How long was boot time before and after the patch?
> 

When using haxm as the accelerator on windows, it takes at least
200ms to initialize one cpu.  For a 4-core VM, it takes:

        before          800ms -- 1000ms
        after           200ms

Information about the processor on the host:

        Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz


> 
> I suggest doing this "wait for all CPUs" step outside qemu_init_vcpu().
> 
> What about not making the last CPU special, and just providing a
> optional mechanism to wait for all VCPU threads after the CPU
> objects were created?  e.g.:
> 

Thanks for your suggestion and I will send PATCH v2 soon.

Thanks,
Zhenyu

Reply via email to