[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] rcu: reduce half heap memory size by malloc_tri
From: |
Zhong Yang |
Subject: |
Re: [Qemu-devel] [PATCH] rcu: reduce half heap memory size by malloc_trim() |
Date: |
Mon, 20 Nov 2017 16:41:41 +0800 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Fri, Nov 17, 2017 at 01:54:09PM +0000, Stefan Hajnoczi wrote:
> On Fri, Nov 17, 2017 at 02:23:34PM +0800, Yang Zhong wrote:
> > diff --git a/util/rcu.c b/util/rcu.c
> > index ca5a63e..8d491a6 100644
> > --- a/util/rcu.c
> > +++ b/util/rcu.c
> > @@ -26,6 +26,7 @@
> > * IBM's contributions to this file may be relicensed under LGPLv2 or
> > later.
> > */
> >
> > +#include <malloc.h>
>
> This header file is not mentioned in the C99 standard or POSIX. It is
> probably not available on all host OSes that QEMU supports. Please use
> #ifdef CONFIG_LINUX.
>
Hello Stefan,
Thanks for your remind!
Regards,
Yang
> > #include "qemu/osdep.h"
> > #include "qemu-common.h"
> > #include "qemu/rcu.h"
> > @@ -272,6 +273,9 @@ static void *call_rcu_thread(void *opaque)
> > node->func(node);
> > }
> > qemu_mutex_unlock_iothread();
> > +#ifdef CONFIG_LINUX
> > + malloc_trim(0);
> > +#endif
>
> It is important that the rcu thread isn't overzealous in minimizing heap
> size if that means ordinary malloc(3) calls will experience latency
> spikes. Please leave a few MB free so that malloc(3) doesn't take the
> slow path.
>
Hello Stefan,
From the Qemu bootup procedure, the qemu malloc chunk memory from OS, not
from glibc free list which is freed before by Qemu. Maybe there are some
issues in glibc memory mechanism. I will continue to fine this parameter
to get better balance, Many thanks!
Regards,
Yang
> Stefan
Re: [Qemu-devel] [PATCH] rcu: reduce half heap memory size by malloc_trim(), Fam Zheng, 2017/11/20