[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1184257734.9346.76.camel@caritas-dev.intel.com>
Date: Thu, 12 Jul 2007 16:28:54 +0000
From: "Huang, Ying" <ying.huang@...el.com>
To: Pavel Machek <pavel@....cz>
Cc: nigel@...el.suspend2.net, "Rafael J. Wysocki" <rjw@...k.pl>,
Jeremy Maitin-Shepard <jbms@....edu>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, linux-pm@...ts.linux-foundation.org
Subject: Re: [PATCH 0/2] Kexec jump: The first step to kexec base
hibernation
On Wed, 2007-07-11 at 13:13 +0200, Pavel Machek wrote:
> Hi!
>
> Looks interesting... but I was feeling strange dejavu reading
> this... and that's because you pasted the changelog twice :-).
>
Sorry, I should have re-checked the mail before sending out.
> How fast can kexec boot secondary kernel?
I measure it on my IBM T42 with CONFIG_PRINTK_TIME=y. The boot-up time
is about 4.35s from kexec is issued to root mounted in kexec kernel.
I think it is possible to optimize. Maybe the kexec kernel can
be hibernate/resume by the normal kernel too. This way, a real
kexec/boot-up is only needed for the first time.
> > 2. Compile the kexec-tools with kdump and kjump patches added, the
> > kdump patch can be found at:
> >
> > http://lse.sourceforge.net/kdump/patches/kexec-tools-1.101-dkump10.patch
>
> I got 404 error :-(.
Sorry, typo problem. The URL should be:
http://lse.sourceforge.net/kdump/patches/kexec-tools-1.101-kdump10.patch
> > 3. Boot compiled kernel, the reserved crash kernel memory region must
> > be added to kernel command line as following:
> >
> > crashkernel=<XX>M@<XX>M
> >
> > Where, <XX> should be replaced by the real memory size and position.
>
> How much memory do you suggest to reserve? 64M?
I reserved 16M RAM. I think this is sufficient for a simple disk based
hibernation.
> > 7. In the kexec booted kernel, trigger the jumping back with following
> > shell command.
> >
> > echo <a>:<b> > /sys/power/resume
> >
> > Where <a> and <b> is non-negative integer, at least one of them must
> > be non-zero.
>
> What does a and b mean?
>
a and b has no meaning. They are only used to trigger the resume
process. This will be fixed in the future version.
> > +/* Adds the kexec_backup= command line parameter to command line. */
> > +static int cmdline_add_backup(char *cmdline, unsigned long addr)
> > +{
> > + int cmdlen, len, align = 1024;
> > + char str[30], *ptr;
> > +
> > + /* Passing in kexec_backup=xxxK format. Saves space required in cmdline.
> > + * Ensure 1K alignment*/
> > + if (addr%align)
> > + return -1;
> > + addr = addr/align;
> > + ptr = str;
> > + strcpy(str, " kexec_backup=");
> > + ptr += strlen(str);
> > + ultoa(addr, ptr);
> > + strcat(str, "K");
> > + len = strlen(str);
> > + cmdlen = strlen(cmdline) + len;
> > + if (cmdlen > (COMMAND_LINE_SIZE - 1))
> > + die("Command line overflow\n");
> > + strcat(cmdline, str);
> > +#if 0
> > + printf("Command line after adding backup\n");
> > + printf("%s\n", cmdline);
> > +#endif
> > + return 0;
> > +}
>
> printf()? ...and please remove out commented code.
This is patch against kexec-tools, which is a userspace tool. So printf
is used. The commented code is just as other cmdline_add_xxx functions
of kexec-tools. But it is useless, and should be removed.
Best Regards,
Huang Ying
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists