qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] vl: Adjust the place of calling mlockall to


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH v2] vl: Adjust the place of calling mlockall to speedup VM's startup
Date: Fri, 26 Sep 2014 17:35:29 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.1

Il 26/09/2014 10:35, zhanghailiang ha scritto:
> Hi,
> 
> This has been reviewed, Will anyone pick this up?;)

I think mst will.  It's Jewish new year this week, so it will have to
wait for next week.

Paolo

> Thanks,
> zhanghailiang
> On 2014/9/23 18:42, zhanghailiang wrote:
>> If we configure mlock=on and memory policy=bind at the same time,
>> It will consume lots of time for system to treat with memory,
>> especially when call mbind behind mlockall.
>>
>> Adjust the place of calling mlockall, calling mbind before mlockall
>> can remarkably reduce the time of VM's startup.
>>
>> Acked-by: Michael S. Tsirkin <address@hidden>
>> Signed-off-by: zhanghailiang <address@hidden>
>> ---
>>   v2:
>> - Add Acked-by
>> - change 'int' to 'bool' (Thanks Hu Tao)
>> ---
>>   vl.c | 11 +++++------
>>   1 file changed, 5 insertions(+), 6 deletions(-)
>>
>> diff --git a/vl.c b/vl.c
>> index dc792fe..35e5de6 100644
>> --- a/vl.c
>> +++ b/vl.c
>> @@ -134,6 +134,7 @@ const char* keyboard_layout = NULL;
>>   ram_addr_t ram_size;
>>   const char *mem_path = NULL;
>>   int mem_prealloc = 0; /* force preallocation of physical target
>> memory */
>> +bool enable_mlock = false;
>>   int nb_nics;
>>   NICInfo nd_table[MAX_NICS];
>>   int autostart;
>> @@ -1421,12 +1422,8 @@ static void smp_parse(QemuOpts *opts)
>>
>>   }
>>
>> -static void configure_realtime(QemuOpts *opts)
>> +static void realtime_init(void)
>>   {
>> -    bool enable_mlock;
>> -
>> -    enable_mlock = qemu_opt_get_bool(opts, "mlock", true);
>> -
>>       if (enable_mlock) {
>>           if (os_mlock() < 0) {
>>               fprintf(stderr, "qemu: locking memory failed\n");
>> @@ -3973,7 +3970,7 @@ int main(int argc, char **argv, char **envp)
>>                   if (!opts) {
>>                       exit(1);
>>                   }
>> -                configure_realtime(opts);
>> +                enable_mlock = qemu_opt_get_bool(opts, "mlock", true);
>>                   break;
>>               case QEMU_OPTION_msg:
>>                   opts = qemu_opts_parse(qemu_find_opts("msg"),
>> optarg, 0);
>> @@ -4441,6 +4438,8 @@ int main(int argc, char **argv, char **envp)
>>
>>       machine_class->init(current_machine);
>>
>> +    realtime_init();
>> +
>>       audio_init();
>>
>>       cpu_synchronize_all_post_init();
>>
> 
> 
> 
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]