diff mbox

[v2] vl: Ensure the cpu_synchronize_all_post_init() in the appropriate location

Message ID 1484746795-19523-1-git-send-email-douly.fnst@cn.fujitsu.com
State New
Headers show

Commit Message

Dou Liyang Jan. 18, 2017, 1:39 p.m. UTC
At the Qemu initialization, we call the cpu_synchronize_all_post_init()
to synchronize All CPU states to KVM in the ./vl.c::main().

Currently, it is called before we initialize the CPUs, which created by
"-device" command, So, these CPUs may be ignored to synchronize.

The patch moves the numa_post_machine_init func in the appropriate
location to make sure that all the CPUs has already been created
when it is called.

Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com>
---

Change log v1-> v2:
1. Split it from 
https://lists.nongnu.org/archive/html/qemu-devel/2017-01/msg03354.html
2. Rewrite the log.

 vl.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Alex Bennée Jan. 27, 2017, 2:03 p.m. UTC | #1
Dou Liyang <douly.fnst@cn.fujitsu.com> writes:

> At the Qemu initialization, we call the cpu_synchronize_all_post_init()
> to synchronize All CPU states to KVM in the ./vl.c::main().
>
> Currently, it is called before we initialize the CPUs, which created by
> "-device" command, So, these CPUs may be ignored to synchronize.
>
> The patch moves the numa_post_machine_init func in the appropriate
> location to make sure that all the CPUs has already been created
> when it is called.

This doesn't match what the patch does (the function is
cpu_synchronise_all_post_init) but I see another patch is already merged
that moved the NUMA one.

I'm afraid you'll need to re-base anyway because it no longer applies
cleanly.


>
> Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com>
> ---
>
> Change log v1-> v2:
> 1. Split it from
> https://lists.nongnu.org/archive/html/qemu-devel/2017-01/msg03354.html
> 2. Rewrite the log.
>
>  vl.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/vl.c b/vl.c
> index c643d3f..38269be 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -4547,8 +4547,6 @@ int main(int argc, char **argv, char **envp)
>
>      audio_init();
>
> -    cpu_synchronize_all_post_init();
> -
>      numa_post_machine_init();
>
>      if (qemu_opts_foreach(qemu_find_opts("fw_cfg"),
> @@ -4571,6 +4569,9 @@ int main(int argc, char **argv, char **envp)
>                            device_init_func, NULL, NULL)) {
>          exit(1);
>      }
> +
> +    cpu_synchronize_all_post_init();
> +
>      rom_reset_order_override();
>
>      /* Did we create any drives that we failed to create a device for? */


--
Alex Bennée
Dou Liyang Feb. 1, 2017, 1:29 a.m. UTC | #2
Hi, Alex

Sorry for late reply.

At 01/27/2017 10:03 PM, Alex Bennée wrote:
>
> Dou Liyang <douly.fnst@cn.fujitsu.com> writes:
>
>> At the Qemu initialization, we call the cpu_synchronize_all_post_init()
>> to synchronize All CPU states to KVM in the ./vl.c::main().
>>
>> Currently, it is called before we initialize the CPUs, which created by
>> "-device" command, So, these CPUs may be ignored to synchronize.
>>
>> The patch moves the numa_post_machine_init func in the appropriate
>> location to make sure that all the CPUs has already been created
>> when it is called.
>
> This doesn't match what the patch does (the function is
> cpu_synchronise_all_post_init) but I see another patch is already merged
> that moved the NUMA one.
>

Oops, Yes, I make the mistake.

> I'm afraid you'll need to re-base anyway because it no longer applies
> cleanly.
>

Yes, I will re-base it.

Thanks,

	Liyang


>
>>
>> Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com>
>> ---
>>
>> Change log v1-> v2:
>> 1. Split it from
>> https://lists.nongnu.org/archive/html/qemu-devel/2017-01/msg03354.html
>> 2. Rewrite the log.
>>
>>  vl.c | 5 +++--
>>  1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/vl.c b/vl.c
>> index c643d3f..38269be 100644
>> --- a/vl.c
>> +++ b/vl.c
>> @@ -4547,8 +4547,6 @@ int main(int argc, char **argv, char **envp)
>>
>>      audio_init();
>>
>> -    cpu_synchronize_all_post_init();
>> -
>>      numa_post_machine_init();
>>
>>      if (qemu_opts_foreach(qemu_find_opts("fw_cfg"),
>> @@ -4571,6 +4569,9 @@ int main(int argc, char **argv, char **envp)
>>                            device_init_func, NULL, NULL)) {
>>          exit(1);
>>      }
>> +
>> +    cpu_synchronize_all_post_init();
>> +
>>      rom_reset_order_override();
>>
>>      /* Did we create any drives that we failed to create a device for? */
>
>
> --
> Alex Bennée
>
>
>
diff mbox

Patch

diff --git a/vl.c b/vl.c
index c643d3f..38269be 100644
--- a/vl.c
+++ b/vl.c
@@ -4547,8 +4547,6 @@  int main(int argc, char **argv, char **envp)
 
     audio_init();
 
-    cpu_synchronize_all_post_init();
-
     numa_post_machine_init();
 
     if (qemu_opts_foreach(qemu_find_opts("fw_cfg"),
@@ -4571,6 +4569,9 @@  int main(int argc, char **argv, char **envp)
                           device_init_func, NULL, NULL)) {
         exit(1);
     }
+
+    cpu_synchronize_all_post_init();
+
     rom_reset_order_override();
 
     /* Did we create any drives that we failed to create a device for? */