From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Pavel Machek <pavel@ucw.cz>
Cc: nigel@nigel.suspend2.net,
Kexec Mailing List <kexec@lists.infradead.org>,
linux-kernel@vger.kernel.org,
"Eric W. Biederman" <ebiederm@xmission.com>,
"Huang, Ying" <ying.huang@intel.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-pm@lists.linux-foundation.org,
Jeremy Maitin-Shepard <jbms@cmu.edu>
Subject: Re: [PATCH 1/4 -mm] kexec based hibernation -v7 : kexec jump
Date: Sun, 9 Dec 2007 01:19:56 +0100 [thread overview]
Message-ID: <200712090119.57826.rjw@sisk.pl> (raw)
In-Reply-To: <20071208235344.GA17005@elf.ucw.cz>
On Sunday, 9 of December 2007, Pavel Machek wrote:
> Hi!
>
> > This patch implements the functionality of jumping between the kexeced
> > kernel and the original kernel.
> >
> > To support jumping between two kernels, before jumping to (executing)
> > the new kernel and jumping back to the original kernel, the devices
> > are put into quiescent state, and the state of devices and CPU is
> > saved. After jumping back from kexeced kernel and jumping to the new
> > kernel, the state of devices and CPU are restored accordingly. The
> > devices/CPU state save/restore code of software suspend is called to
> > implement corresponding function.
> >
> > To support jumping without reserving memory. One shadow backup page
> > (source page) is allocated for each page used by new (kexeced) kernel
> > (destination page). When do kexec_load, the image of new kernel is
> > loaded into source pages, and before executing, the destination pages
> > and the source pages are swapped, so the contents of destination pages
> > are backupped. Before jumping to the new (kexeced) kernel and after
> > jumping back to the original kernel, the destination pages and the
> > source pages are swapped too.
> >
> > A jump back protocol for kexec is defined and documented. It is an
> > extension to ordinary function calling protocol. So, the facility
> > provided by this patch can be used to call ordinary C function in real
> > mode.
> >
> > A set of flags for sys_kexec_load are added to control which state are
> > saved/restored before/after real mode code executing. For example, you
> > can specify the device state and FPU state are saved/restored
> > before/after real mode code executing.
> >
> > The states (exclude CPU state) save/restore code can be overridden
> > based on the "command" parameter of kexec jump. Because more states
> > need to be saved/restored by hibernating/resuming.
> >
> > Signed-off-by: Huang Ying <ying.huang@intel.com>
>
> I'm not kexec hacker... but maybe this is in good enough state to be
> merged? It is useful on its own: kexec jump and back means we can dump
> system then continue running, for example...
As far as I'm concerned, patches [1/4] and [2/4] can go.
The other two are not in that shape yet (especially the [3/4] patch).
Greetings,
Rafael
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
WARNING: multiple messages have this Message-ID (diff)
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Pavel Machek <pavel@ucw.cz>
Cc: "Huang, Ying" <ying.huang@intel.com>,
"Eric W. Biederman" <ebiederm@xmission.com>,
nigel@nigel.suspend2.net,
Andrew Morton <akpm@linux-foundation.org>,
Jeremy Maitin-Shepard <jbms@cmu.edu>,
linux-kernel@vger.kernel.org,
linux-pm@lists.linux-foundation.org,
Kexec Mailing List <kexec@lists.infradead.org>
Subject: Re: [PATCH 1/4 -mm] kexec based hibernation -v7 : kexec jump
Date: Sun, 9 Dec 2007 01:19:56 +0100 [thread overview]
Message-ID: <200712090119.57826.rjw@sisk.pl> (raw)
In-Reply-To: <20071208235344.GA17005@elf.ucw.cz>
On Sunday, 9 of December 2007, Pavel Machek wrote:
> Hi!
>
> > This patch implements the functionality of jumping between the kexeced
> > kernel and the original kernel.
> >
> > To support jumping between two kernels, before jumping to (executing)
> > the new kernel and jumping back to the original kernel, the devices
> > are put into quiescent state, and the state of devices and CPU is
> > saved. After jumping back from kexeced kernel and jumping to the new
> > kernel, the state of devices and CPU are restored accordingly. The
> > devices/CPU state save/restore code of software suspend is called to
> > implement corresponding function.
> >
> > To support jumping without reserving memory. One shadow backup page
> > (source page) is allocated for each page used by new (kexeced) kernel
> > (destination page). When do kexec_load, the image of new kernel is
> > loaded into source pages, and before executing, the destination pages
> > and the source pages are swapped, so the contents of destination pages
> > are backupped. Before jumping to the new (kexeced) kernel and after
> > jumping back to the original kernel, the destination pages and the
> > source pages are swapped too.
> >
> > A jump back protocol for kexec is defined and documented. It is an
> > extension to ordinary function calling protocol. So, the facility
> > provided by this patch can be used to call ordinary C function in real
> > mode.
> >
> > A set of flags for sys_kexec_load are added to control which state are
> > saved/restored before/after real mode code executing. For example, you
> > can specify the device state and FPU state are saved/restored
> > before/after real mode code executing.
> >
> > The states (exclude CPU state) save/restore code can be overridden
> > based on the "command" parameter of kexec jump. Because more states
> > need to be saved/restored by hibernating/resuming.
> >
> > Signed-off-by: Huang Ying <ying.huang@intel.com>
>
> I'm not kexec hacker... but maybe this is in good enough state to be
> merged? It is useful on its own: kexec jump and back means we can dump
> system then continue running, for example...
As far as I'm concerned, patches [1/4] and [2/4] can go.
The other two are not in that shape yet (especially the [3/4] patch).
Greetings,
Rafael
next prev parent reply other threads:[~2007-12-09 0:01 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-07 15:53 [PATCH 1/4 -mm] kexec based hibernation -v7 : kexec jump Huang, Ying
2007-12-07 15:53 ` Huang, Ying
2007-12-08 23:53 ` Pavel Machek
2007-12-08 23:53 ` Pavel Machek
2007-12-09 0:19 ` Rafael J. Wysocki [this message]
2007-12-09 0:19 ` Rafael J. Wysocki
2007-12-09 1:06 ` Eric W. Biederman
2007-12-09 1:06 ` Eric W. Biederman
2007-12-09 1:06 ` Eric W. Biederman
2007-12-09 0:19 ` Rafael J. Wysocki
2007-12-08 23:53 ` Pavel Machek
2007-12-10 19:55 ` Vivek Goyal
2007-12-10 19:55 ` Vivek Goyal
2007-12-11 8:51 ` Huang, Ying
2007-12-11 8:51 ` Huang, Ying
2007-12-11 8:51 ` Huang, Ying
2007-12-10 19:55 ` Vivek Goyal
2007-12-10 22:31 ` Vivek Goyal
2007-12-10 22:31 ` Vivek Goyal
2007-12-11 8:55 ` Huang, Ying
2007-12-11 8:55 ` Huang, Ying
2007-12-11 8:55 ` Huang, Ying
2007-12-10 22:31 ` Vivek Goyal
2007-12-11 2:25 ` Eric W. Biederman
2007-12-11 2:25 ` Eric W. Biederman
2007-12-11 15:50 ` Huang, Ying
2007-12-11 15:50 ` Huang, Ying
2007-12-11 15:50 ` Huang, Ying
2007-12-11 9:27 ` Eric W. Biederman
2007-12-11 9:27 ` Eric W. Biederman
2007-12-11 9:27 ` Eric W. Biederman
2007-12-12 6:27 ` Huang, Ying
2007-12-12 6:27 ` Huang, Ying
2007-12-12 6:27 ` Huang, Ying
2007-12-18 8:34 ` Huang, Ying
2007-12-18 8:34 ` Huang, Ying
2007-12-18 8:34 ` Huang, Ying
2007-12-11 2:25 ` Eric W. Biederman
-- strict thread matches above, loose matches on Subject: below --
2007-12-07 15:53 Huang, Ying
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200712090119.57826.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=akpm@linux-foundation.org \
--cc=ebiederm@xmission.com \
--cc=jbms@cmu.edu \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=nigel@nigel.suspend2.net \
--cc=pavel@ucw.cz \
--cc=ying.huang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.