[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 07/15] qapi: use mmap for QmpInputVisitor
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] [PATCH 07/15] qapi: use mmap for QmpInputVisitor |
Date: |
Tue, 28 Jun 2016 10:29:18 +0100 |
User-agent: |
Mutt/1.6.1 (2016-04-27) |
* Peter Lieven (address@hidden) wrote:
> this struct is approx 75kB
I wonder why it's so large.
The stack size in QmpInputVisitor; it's got a 1024 element stack
(QIV_STACK_SIZE) and I bet we never use anywhere near that.
But even then that's 1024 * a 3 pointer stack object, 24 bytes -
I don't see where the rest of that 75kB comes from.
I'm a little wary about turning all these malloc's into mmap's
because we do seem to use things like input visitors for small
things; don't the cost of doing the mmap's add up in time
instead of space?
Dave
> Signed-off-by: Peter Lieven <address@hidden>
> ---
> qapi/qmp-input-visitor.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/qapi/qmp-input-visitor.c b/qapi/qmp-input-visitor.c
> index aea90a1..b6f5dfd 100644
> --- a/qapi/qmp-input-visitor.c
> +++ b/qapi/qmp-input-visitor.c
> @@ -17,6 +17,7 @@
> #include "qapi/qmp-input-visitor.h"
> #include "qapi/visitor-impl.h"
> #include "qemu/queue.h"
> +#include "qemu/mmap-alloc.h"
> #include "qemu-common.h"
> #include "qapi/qmp/types.h"
> #include "qapi/qmp/qerror.h"
> @@ -378,14 +379,14 @@ Visitor *qmp_input_get_visitor(QmpInputVisitor *v)
> void qmp_input_visitor_cleanup(QmpInputVisitor *v)
> {
> qobject_decref(v->root);
> - g_free(v);
> + qemu_anon_ram_munmap(v, sizeof(*v));
> }
>
> QmpInputVisitor *qmp_input_visitor_new(QObject *obj, bool strict)
> {
> QmpInputVisitor *v;
>
> - v = g_malloc0(sizeof(*v));
> + v = qemu_anon_ram_mmap(sizeof(*v));
>
> v->visitor.type = VISITOR_INPUT;
> v->visitor.start_struct = qmp_input_start_struct;
> --
> 1.9.1
>
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK
- Re: [Qemu-devel] [PATCH 11/15] qom: use mmap for bigger Objects, (continued)
[Qemu-devel] [PATCH 12/15] util: add a function to realloc mmapped memory, Peter Lieven, 2016/06/28
[Qemu-devel] [PATCH 09/15] loader: use mmap for ROMs, Peter Lieven, 2016/06/28
[Qemu-devel] [PATCH 07/15] qapi: use mmap for QmpInputVisitor, Peter Lieven, 2016/06/28
- Re: [Qemu-devel] [PATCH 07/15] qapi: use mmap for QmpInputVisitor,
Dr. David Alan Gilbert <=
- Re: [Qemu-devel] [PATCH 07/15] qapi: use mmap for QmpInputVisitor, Peter Lieven, 2016/06/28
- Re: [Qemu-devel] [PATCH 07/15] qapi: use mmap for QmpInputVisitor, Daniel P. Berrange, 2016/06/28
- Re: [Qemu-devel] [PATCH 07/15] qapi: use mmap for QmpInputVisitor, Dr. David Alan Gilbert, 2016/06/28
- Re: [Qemu-devel] [PATCH 07/15] qapi: use mmap for QmpInputVisitor, Daniel P. Berrange, 2016/06/28
- Re: [Qemu-devel] [PATCH 07/15] qapi: use mmap for QmpInputVisitor, Eric Blake, 2016/06/28
Re: [Qemu-devel] [PATCH 07/15] qapi: use mmap for QmpInputVisitor, Paolo Bonzini, 2016/06/28
Re: [Qemu-devel] [PATCH 07/15] qapi: use mmap for QmpInputVisitor, Markus Armbruster, 2016/06/30
[Qemu-devel] [PATCH 10/15] vmware_svga: use mmap for scratch pad, Peter Lieven, 2016/06/28
[Qemu-devel] [PATCH 04/15] coroutine: add a knob to disable the shared release pool, Peter Lieven, 2016/06/28