[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] fix the memory leak for share hugepage
From: |
Linhaifeng |
Subject: |
Re: [Qemu-devel] [PATCH] fix the memory leak for share hugepage |
Date: |
Sat, 18 Oct 2014 11:22:17 +0800 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Thunderbird/31.1.0 |
On 2014/10/17 16:43, zhanghailiang wrote:
> On 2014/10/17 16:27, address@hidden wrote:
>> From: linhaifeng <address@hidden>
>>
>> The VM start with share hugepage should close the hugefile fd
>> when exit.Because the hugepage fd may be send to other process
>> e.g vhost-user If qemu not close the fd the other process can
>> not free the hugepage otherwise exit process,this is ugly,so
>> qemu should close all shared fd when exit.
>>
>> Signed-off-by: linhaifeng <address@hidden>
>> ---
>> exec.c | 12 ++++++++++++
>> vl.c | 7 +++++++
>> 2 files changed, 19 insertions(+)
>>
>> diff --git a/exec.c b/exec.c
>> index 759055d..d120b73 100644
>> --- a/exec.c
>> +++ b/exec.c
>> @@ -1535,6 +1535,18 @@ void qemu_ram_remap(ram_addr_t addr, ram_addr_t
>> length)
>> }
>> }
>> }
>> +
>> +void qemu_close_all_ram_fd(void)
>> +{
>> + RAMBlock *block;
>> +
>> + qemu_mutex_lock_ramlist();
>> + QTAILQ_FOREACH(block, &ram_list.blocks, next) {
>> + close(block->fd);
>> + }
>> + qemu_mutex_unlock_ramlist();
>> +}
>> +
>> #endif /* !_WIN32 */
>>
>> int qemu_get_ram_fd(ram_addr_t addr)
>> diff --git a/vl.c b/vl.c
>> index aee73e1..0b78f3f 100644
>> --- a/vl.c
>> +++ b/vl.c
>> @@ -1658,6 +1658,7 @@ static int qemu_shutdown_requested(void)
>> return r;
>> }
>>
>> +extern void qemu_close_all_ram_fd(void);
>> static void qemu_kill_report(void)
>> {
>> if (!qtest_driver() && shutdown_signal != -1) {
>> @@ -1671,6 +1672,12 @@ static void qemu_kill_report(void)
>> fprintf(stderr, " from pid " FMT_pid "\n", shutdown_pid);
>> }
>> shutdown_signal = -1;
>> +
>> + /* Close all ram fd when exit. If the ram is shared by othter
>> process
>
> s/othter/other/
>
OK.thank you.
>> + * e.g vhost-user, it can free the hugepage by close fd after qemu
>> exit,
>> + * otherwise the process have to exit to free hugepage.
>> + */
>> + qemu_close_all_ram_fd();
>> }
>> }
>>
>>
>
>
>
> .
>
--
Regards,
Haifeng
- Re: [Qemu-devel] [PATCH] fix the memory leak for share hugepage, (continued)
- Re: [Qemu-devel] [PATCH] fix the memory leak for share hugepage, Daniel P. Berrange, 2014/10/17
- Re: [Qemu-devel] [PATCH] fix the memory leak for share hugepage, Linhaifeng, 2014/10/17
- Re: [Qemu-devel] [PATCH] fix the memory leak for share hugepage, Wen Congyang, 2014/10/19
- Re: [Qemu-devel] [PATCH] fix the memory leak for share hugepage, Linhaifeng, 2014/10/20
- Re: [Qemu-devel] [PATCH] fix the memory leak for share hugepage, Wen Congyang, 2014/10/20
- Re: [Qemu-devel] [PATCH] fix the memory leak for share hugepage, Linhaifeng, 2014/10/20
- Re: [Qemu-devel] [PATCH] fix the memory leak for share hugepage, Wen Congyang, 2014/10/20
- Re: [Qemu-devel] [PATCH] fix the memory leak for share hugepage, Linhaifeng, 2014/10/20
- Re: [Qemu-devel] [PATCH] fix the memory leak for share hugepage, Daniel P. Berrange, 2014/10/20
Re: [Qemu-devel] [PATCH] fix the memory leak for share hugepage, zhanghailiang, 2014/10/17
- Re: [Qemu-devel] [PATCH] fix the memory leak for share hugepage,
Linhaifeng <=