[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3] rcu: reduce more than 7MB heap memory by mal
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v3] rcu: reduce more than 7MB heap memory by malloc_trim() |
Date: |
Wed, 6 Dec 2017 10:48:45 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 |
On 06/12/2017 10:26, Yang Zhong wrote:
> Hello Paolo,
>
> The best option is only trim one time after guest kernel bootup or VM
> bootup, and as for
> hotplug/unhotplug operations during the VM running, the trim still can do
> for each batch
> memory free because trim will not impact VM performance during VM running
> status.
>
> So, the key point is qemu is hard to know when guest ernel bootup is over.
> If you have some
> suggestions, please let me know. thanks!
It shouldn't be hard. Does QEMU's RCU thread actually get any
significant activity after bootup? Hence the suggestion of keeping
malloc_trim in the RCU thread, but only do it if some time has passed
since the last time.
Maybe something like this every time the RCU thread runs:
static uint64_t next_trim_time, last_trim_time;
if (current time < next_trim_time) {
next_trim_time -= last_trim_time / 2 /* or higher */
last_trim_time -= last_trim_time / 2 /* same as previous line */
} else {
trim_start_time = current time
malloc_trim(...)
last_trim_time = current time - trim_start_time
next_trim_time = current time + last_trim_time
}
Where the "2" factor should be tuned so that both your and Shannon's
scenario work fine.
Thanks,
Paolo
- Re: [Qemu-devel] [PATCH v3] rcu: reduce more than 7MB heap memory by malloc_trim(), Yang Zhong, 2017/12/04
- Re: [Qemu-devel] [PATCH v3] rcu: reduce more than 7MB heap memory by malloc_trim(), Daniel P. Berrange, 2017/12/04
- Re: [Qemu-devel] [PATCH v3] rcu: reduce more than 7MB heap memory by malloc_trim(), Shannon Zhao, 2017/12/04
- Re: [Qemu-devel] [PATCH v3] rcu: reduce more than 7MB heap memory by malloc_trim(), Yang Zhong, 2017/12/05
- Re: [Qemu-devel] [PATCH v3] rcu: reduce more than 7MB heap memory by malloc_trim(), Paolo Bonzini, 2017/12/05
- Re: [Qemu-devel] [PATCH v3] rcu: reduce more than 7MB heap memory by malloc_trim(), Yang Zhong, 2017/12/06
- Re: [Qemu-devel] [PATCH v3] rcu: reduce more than 7MB heap memory by malloc_trim(),
Paolo Bonzini <=
- Re: [Qemu-devel] [PATCH v3] rcu: reduce more than 7MB heap memory by malloc_trim(), Yang Zhong, 2017/12/07
- Re: [Qemu-devel] [PATCH v3] rcu: reduce more than 7MB heap memory by malloc_trim(), Paolo Bonzini, 2017/12/11
- Re: [Qemu-devel] [PATCH v3] rcu: reduce more than 7MB heap memory by malloc_trim(), Yang Zhong, 2017/12/12
- Re: [Qemu-devel] [PATCH v3] rcu: reduce more than 7MB heap memory by malloc_trim(), Shannon Zhao, 2017/12/12
- Re: [Qemu-devel] [PATCH v3] rcu: reduce more than 7MB heap memory by malloc_trim(), Shannon Zhao, 2017/12/18
- Re: [Qemu-devel] [PATCH v3] rcu: reduce more than 7MB heap memory by malloc_trim(), Yang Zhong, 2017/12/18
- Re: [Qemu-devel] [PATCH v3] rcu: reduce more than 7MB heap memory by malloc_trim(), Paolo Bonzini, 2017/12/19
- Re: [Qemu-devel] [PATCH v3] rcu: reduce more than 7MB heap memory by malloc_trim(), Yang Zhong, 2017/12/08