[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] memory: add cmd line option, to omit guest m
From: |
Anthony Liguori |
Subject: |
Re: [Qemu-devel] [PATCH v2] memory: add cmd line option, to omit guest memory from qemu core dump |
Date: |
Wed, 01 Aug 2012 13:54:44 -0500 |
User-agent: |
Notmuch/0.13.2+93~ged93d79 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) |
Jason Baron <address@hidden> writes:
> On Wed, Aug 01, 2012 at 01:21:57PM -0500, Anthony Liguori wrote:
>> Jason Baron <address@hidden> writes:
>>
>> > Add a new '[,dump_guest_core=on|off]' option to the '-machine' option. When
>> > 'dump_guest_core=off' is specified, guest memory is omitted from the core
>> > dump.
>> > The default behavior continues to be to include guest memory when a core
>> > dump is
>> > triggered. In my testing, this brought the core dump size down from 384MB
>> > to 6MB
>> > on a 2GB guest.
>> >
>> > Changelog:
>> > v2: move the option from -m to -machine, rename option dump ->
>> > dump_guest_core
>> >
>> > Signed-off-by: Jason Baron <address@hidden>
>> > ---
>> > exec.c | 13 +++++++++++++
>> > osdep.h | 7 +++++++
>> > qemu-config.c | 4 ++++
>> > qemu-options.hx | 5 ++++-
>> > sysemu.h | 1 +
>> > vl.c | 4 ++++
>> > 6 files changed, 33 insertions(+), 1 deletions(-)
>> >
>> > diff --git a/exec.c b/exec.c
>> > index feb4795..0764818 100644
>> > --- a/exec.c
>> > +++ b/exec.c
>> > @@ -35,6 +35,7 @@
>> > #include "qemu-timer.h"
>> > #include "memory.h"
>> > #include "exec-memory.h"
>> > +#include "sysemu.h"
>> > #if defined(CONFIG_USER_ONLY)
>> > #include <qemu.h>
>> > #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
>> > @@ -2514,6 +2515,7 @@ ram_addr_t qemu_ram_alloc_from_ptr(ram_addr_t size,
>> > void *host,
>> > MemoryRegion *mr)
>> > {
>> > RAMBlock *new_block;
>> > + int ret;
>> >
>> > size = TARGET_PAGE_ALIGN(size);
>> > new_block = g_malloc0(sizeof(*new_block));
>> > @@ -2555,6 +2557,17 @@ ram_addr_t qemu_ram_alloc_from_ptr(ram_addr_t size,
>> > void *host,
>> > last_ram_offset() >>
>> > TARGET_PAGE_BITS);
>> > cpu_physical_memory_set_dirty_range(new_block->offset, size, 0xff);
>> >
>> > +
>> > + /* Use MADV_DONTDUMP, if user doesn't want the guest memory in the
>> > core */
>> > + if (dont_dump_guest_core) {
>>
>> machine_opts = qemu_opts_find(qemu_find_opts("machine"), 0);
>> if (machine_opts && qemu_opt_get_bool(machine_opts, "dump-guest-core")) {
>>
>
> should be:
>
> ... && !qemu_opt_get_bool(machine_opts, "dump-guest-core", true)
>
> ??
Yes.
Regards,
Anthony Liguori