Jason Baron <jba...@redhat.com> writes: > On Wed, Aug 01, 2012 at 01:21:57PM -0500, Anthony Liguori wrote: >> Jason Baron <jba...@redhat.com> 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 <jba...@redhat.com> >> > --- >> > 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