On Wed, May 22, 2013 at 10:57:36AM +0200, Thomas Renninger wrote: > cgroup memory subsystem pre-allocates quite some memory at boot up. > Example dmesg: > allocated 469762048 bytes of page_cgroup > please try 'cgroup_disable=memory' option if you don't want memory cgroups > > Due to maxcpu=1 it is by far not that much than in a productive kernel. > It still seem to be around 4M statically as no Numa overhead exists with > only one active CPU. It is still worth to disable cgroup memory > pre-allocating in crash kernel environment. > > Signed-off-by: Thomas Renninger <trenn at suse.de> > Signed-off-by: Thomas Renninger <Thomas Renninger" trenn at suse.de> I'm not really sure this kind of logic should be hard-coded into kexec-tools. --append should allow callers of kexec to add this option if it is appropriate. > --- > kexec/arch/i386/crashdump-x86.c | 22 ++++++++++++++++++++++ > 1 files changed, 22 insertions(+), 0 deletions(-) > > diff --git a/kexec/arch/i386/crashdump-x86.c b/kexec/arch/i386/crashdump-x86.c > index 7fd1c5b..e6d60a9 100644 > --- a/kexec/arch/i386/crashdump-x86.c > +++ b/kexec/arch/i386/crashdump-x86.c > @@ -757,6 +757,23 @@ static int cmdline_add_elfcorehdr(char *cmdline, unsigned long addr) > return 0; > } > > +static void cmdline_disable_cgroup(char *cmdline) > +{ > + int cmdlen; > + char str[30] = " cgroup_disable=memory"; > + > + cmdlen = strlen(cmdline) + strlen(str); > + if (cmdlen > (COMMAND_LINE_SIZE - 1)) { > + /* Not fatal if cgroup memory is not disabled */ > + dbgprintf( > + "Command line overflow, cgroup memory not disabled\n"); > + return; > + } > + strcat(cmdline, str); > + > + dbgprintf("Command line after adding adding cgroup_disable=memory\n"); > + dbgprintf("%s\n", cmdline); > +} > > /* > * This routine is specific to i386 architecture to maintain the > @@ -1037,6 +1054,11 @@ int load_crashdump_segments(struct kexec_info *info, char* mod_cmdline, > end = mem_range[i].end; > cmdline_add_memmap_acpi(mod_cmdline, start, end); > } > + /* > + * Always add disabling cgroup_diable=memory param at the end, > + * it's not critical if it falls off > + */ > + cmdline_disable_cgroup(mod_cmdline); > return 0; > } > > -- > 1.7.6.1 > > > _______________________________________________ > kexec mailing list > kexec at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/kexec >