All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Huang, Ying" <ying.huang@intel.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: nigel@nigel.suspend2.net,
	Kexec Mailing List <kexec@lists.infradead.org>,
	linux-kernel@vger.kernel.org, "Rafael J. Wysocki" <rjw@sisk.pl>,
	Pavel Machek <pavel@ucw.cz>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-pm@lists.linux-foundation.org,
	Vivek Goyal <vgoyal@redhat.com>
Subject: Re: [PATCH -mm] kexec jump -v9
Date: Wed, 12 Mar 2008 14:54:48 +0800	[thread overview]
Message-ID: <1205304888.10239.0.camel@caritas-dev.intel.com> (raw)
In-Reply-To: <m1abl4znw6.fsf@ebiederm.dsl.xmission.com>

On Tue, 2008-03-11 at 20:17 -0600, Eric W. Biederman wrote:
> "Huang, Ying" <ying.huang@intel.com> writes:
> 
> > Yes. The entry point should be saved in dump.elf itself, this can be
> > done via a user-space tool such as "makedumpfile". Because
> > "makedumpfile" is also used to exclude free pages from disk image, it
> > needs a communication method between two kernels (to get backup pages
> > map or something like that from kernel A). We have talked about this
> > before.
> >
> > - Your opinion is to communicate via the purgatory. (But I don't know
> > how to communicate between kernel A and purgatory).
> 
> How about the return address on the stack?
> 
> > - Eric's opinion is to communicate between the user space in kernel A
> > and user space in kernel B.
> 
> Purgatory is for all intents and purposes user space.  Because the
> return address falls on the trampoline page we won't know it's
> address before we call kexec.  But a return address and a stack
> on that page should be a perfectly good way to communicate.
> 
> > - My opinion is to communicate between two kernel directly.
> >
> > I think as a minimal infrastructure patch, we can communicate minimal
> > information between user space of two kernels. When we have consensus on
> > this topic, we can use makedumpfile for both excluding free pages and
> > saving the entry point. Now, we can save the entry point in a separate
> > file or I can write a simple tool to do this.
> 
> We need a fixed protocol so we do not make assumptions about how things
> will be implemented, allowing kernels to diverge and kinds of other
> good things.
> 
> For communicating extra information from the kernel being shut down
> we have elf notes.
> 
> Direct kernel to kernel communication is forbidden.  We must have
> a well defined protocol.  Allowing the implementations to change
> at their different speeds, and still work together.

This sounds reasonable. But after some initial trying I found it is
fairly difficult for me to define a communication protocol to be back
compatible with original kexec/kdump, doing work in user space as far as
possible, dealing with some special scenario (such as: A kexec B, then B
kexec C). So I will try my best to work on this, and propose a
communication protocol combining the proposals from you and Vivek in
several days.

> >> May be we can have a separate load flag (--load-resume-image) to mark
> >> that we are resuming an hibernated image and kexec does not have to
> >> prepare commandline, does not have to prepare zero page/setup page etc.
> >
> > There is already similar flag in original kexec-tools implementation:
> > "--args-none". If it is specified, kexec-tools does not prepare command
> > line and zero page/setup page etc. I think we can just re-use this flag.
> > And If it is desired an alias is good for me too.
> 
> My gut feel is we look at the image and detect what kind it is, and simply
> not enable image processing after we have read the note that says it
> is a resumable core or whatever.

Yes. This sounds good.

Best Regards,
Huang Ying


_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

WARNING: multiple messages have this Message-ID (diff)
From: "Huang, Ying" <ying.huang@intel.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Vivek Goyal <vgoyal@redhat.com>, Pavel Machek <pavel@ucw.cz>,
	nigel@nigel.suspend2.net, "Rafael J. Wysocki" <rjw@sisk.pl>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org,
	linux-pm@lists.linux-foundation.org,
	Kexec Mailing List <kexec@lists.infradead.org>
Subject: Re: [PATCH -mm] kexec jump -v9
Date: Wed, 12 Mar 2008 14:54:48 +0800	[thread overview]
Message-ID: <1205304888.10239.0.camel@caritas-dev.intel.com> (raw)
In-Reply-To: <m1abl4znw6.fsf@ebiederm.dsl.xmission.com>

On Tue, 2008-03-11 at 20:17 -0600, Eric W. Biederman wrote:
> "Huang, Ying" <ying.huang@intel.com> writes:
> 
> > Yes. The entry point should be saved in dump.elf itself, this can be
> > done via a user-space tool such as "makedumpfile". Because
> > "makedumpfile" is also used to exclude free pages from disk image, it
> > needs a communication method between two kernels (to get backup pages
> > map or something like that from kernel A). We have talked about this
> > before.
> >
> > - Your opinion is to communicate via the purgatory. (But I don't know
> > how to communicate between kernel A and purgatory).
> 
> How about the return address on the stack?
> 
> > - Eric's opinion is to communicate between the user space in kernel A
> > and user space in kernel B.
> 
> Purgatory is for all intents and purposes user space.  Because the
> return address falls on the trampoline page we won't know it's
> address before we call kexec.  But a return address and a stack
> on that page should be a perfectly good way to communicate.
> 
> > - My opinion is to communicate between two kernel directly.
> >
> > I think as a minimal infrastructure patch, we can communicate minimal
> > information between user space of two kernels. When we have consensus on
> > this topic, we can use makedumpfile for both excluding free pages and
> > saving the entry point. Now, we can save the entry point in a separate
> > file or I can write a simple tool to do this.
> 
> We need a fixed protocol so we do not make assumptions about how things
> will be implemented, allowing kernels to diverge and kinds of other
> good things.
> 
> For communicating extra information from the kernel being shut down
> we have elf notes.
> 
> Direct kernel to kernel communication is forbidden.  We must have
> a well defined protocol.  Allowing the implementations to change
> at their different speeds, and still work together.

This sounds reasonable. But after some initial trying I found it is
fairly difficult for me to define a communication protocol to be back
compatible with original kexec/kdump, doing work in user space as far as
possible, dealing with some special scenario (such as: A kexec B, then B
kexec C). So I will try my best to work on this, and propose a
communication protocol combining the proposals from you and Vivek in
several days.

> >> May be we can have a separate load flag (--load-resume-image) to mark
> >> that we are resuming an hibernated image and kexec does not have to
> >> prepare commandline, does not have to prepare zero page/setup page etc.
> >
> > There is already similar flag in original kexec-tools implementation:
> > "--args-none". If it is specified, kexec-tools does not prepare command
> > line and zero page/setup page etc. I think we can just re-use this flag.
> > And If it is desired an alias is good for me too.
> 
> My gut feel is we look at the image and detect what kind it is, and simply
> not enable image processing after we have read the note that says it
> is a resumable core or whatever.

Yes. This sounds good.

Best Regards,
Huang Ying


  parent reply	other threads:[~2008-03-12  6:53 UTC|newest]

Thread overview: 254+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-06  3:13 [PATCH -mm] kexec jump -v9 Huang, Ying
2008-03-06  3:13 ` Huang, Ying
2008-03-11 21:10 ` Vivek Goyal
2008-03-11 21:10   ` Vivek Goyal
2008-03-11 21:59   ` Nigel Cunningham
2008-03-11 21:59   ` Nigel Cunningham
2008-03-11 21:59     ` Nigel Cunningham
2008-03-11 23:55     ` Eric W. Biederman
2008-03-11 23:55       ` Eric W. Biederman
2008-03-11 23:55     ` Eric W. Biederman
2008-03-12  0:09     ` david
2008-03-12  0:09     ` david
2008-03-12  0:09       ` david
2008-03-12  2:14     ` Huang, Ying
2008-03-12  2:14     ` Huang, Ying
2008-03-12  2:14       ` Huang, Ying
2008-03-12 18:53       ` Vivek Goyal
2008-03-12 18:53       ` Vivek Goyal
2008-03-12 18:53         ` Vivek Goyal
2008-03-13  0:01         ` Eric W. Biederman
2008-03-13  0:01           ` Eric W. Biederman
2008-03-13  0:01         ` Eric W. Biederman
2008-03-11 22:18   ` Rafael J. Wysocki
2008-03-11 22:18     ` Rafael J. Wysocki
2008-03-12  2:02     ` Eric W. Biederman
2008-03-12  2:02       ` Eric W. Biederman
2008-03-12  2:02     ` Eric W. Biederman
2008-03-12  2:26     ` Huang, Ying
2008-03-12  2:26       ` Huang, Ying
2008-03-12  2:26     ` Huang, Ying
2008-03-11 22:18   ` Rafael J. Wysocki
2008-03-11 23:24   ` Pavel Machek
2008-03-11 23:24     ` Pavel Machek
2008-03-11 23:49     ` Rafael J. Wysocki
2008-03-11 23:49     ` Rafael J. Wysocki
2008-03-11 23:49       ` Rafael J. Wysocki
2008-03-12  1:55       ` Huang, Ying
2008-03-12  1:55         ` Huang, Ying
2008-03-12 15:01         ` [linux-pm] " Alan Stern
2008-03-12 15:01           ` Alan Stern
2008-03-12 21:53           ` Rafael J. Wysocki
2008-03-12 21:53           ` [linux-pm] " Rafael J. Wysocki
2008-03-12 21:53             ` Rafael J. Wysocki
2008-03-13  0:33             ` Eric W. Biederman
2008-03-13  0:33             ` [linux-pm] " Eric W. Biederman
2008-03-13  0:33               ` Eric W. Biederman
2008-03-13 17:03               ` Rafael J. Wysocki
2008-03-13 17:03                 ` Rafael J. Wysocki
2008-03-13 23:07                 ` Eric W. Biederman
2008-03-13 23:07                   ` Eric W. Biederman
2008-03-14  1:31                   ` Rafael J. Wysocki
2008-03-14  1:31                   ` [linux-pm] " Rafael J. Wysocki
2008-03-14  1:31                     ` Rafael J. Wysocki
2008-03-18 16:56                     ` Eric W. Biederman
2008-03-18 16:56                     ` [linux-pm] " Eric W. Biederman
2008-03-18 23:52                       ` Pavel Machek
2008-03-18 23:52                       ` [linux-pm] " Pavel Machek
2008-03-18 23:52                         ` Pavel Machek
2008-03-19  0:08                       ` Rafael J. Wysocki
2008-03-19  0:08                         ` Rafael J. Wysocki
2008-03-19  2:33                         ` Alan Stern
2008-03-19  2:33                         ` [linux-pm] " Alan Stern
2008-03-19  2:33                           ` Alan Stern
2008-03-19  3:25                           ` Eric W. Biederman
2008-03-19  3:25                             ` Eric W. Biederman
2008-03-19 15:01                             ` Alan Stern
2008-03-19 15:01                             ` [linux-pm] " Alan Stern
2008-03-19 15:01                               ` Alan Stern
2008-03-19 19:28                               ` Rafael J. Wysocki
2008-03-19 19:28                                 ` Rafael J. Wysocki
2008-03-19 19:28                               ` Rafael J. Wysocki
2008-03-20 10:40                             ` Pavel Machek
2008-03-20 10:40                             ` [linux-pm] " Pavel Machek
2008-03-20 10:40                               ` Pavel Machek
2008-03-20 22:45                               ` Rafael J. Wysocki
2008-03-20 22:45                                 ` Rafael J. Wysocki
2008-03-20 23:01                                 ` Alan Stern
2008-03-20 23:01                                 ` [linux-pm] " Alan Stern
2008-03-20 23:01                                   ` Alan Stern
2008-03-20 23:22                                   ` Pavel Machek
2008-03-20 23:22                                   ` [linux-pm] " Pavel Machek
2008-03-20 23:22                                     ` Pavel Machek
2008-03-20 23:40                                     ` Rafael J. Wysocki
2008-03-20 23:40                                     ` [linux-pm] " Rafael J. Wysocki
2008-03-20 23:40                                       ` Rafael J. Wysocki
2008-03-21  0:36                                       ` Rafael J. Wysocki
2008-03-21  0:36                                       ` [linux-pm] " Rafael J. Wysocki
2008-03-21  0:36                                         ` Rafael J. Wysocki
2008-03-21  0:52                                       ` Alan Stern
2008-03-21  0:52                                       ` [linux-pm] " Alan Stern
2008-03-21  0:52                                         ` Alan Stern
2008-03-21 22:05                                         ` Nigel Cunningham
2008-03-21 22:05                                         ` [linux-pm] " Nigel Cunningham
2008-03-21 22:05                                           ` Nigel Cunningham
2008-03-22 16:21                                         ` Pavel Machek
2008-03-22 16:21                                         ` [linux-pm] " Pavel Machek
2008-03-22 16:21                                           ` Pavel Machek
2008-03-22 17:45                                           ` Rafael J. Wysocki
2008-03-22 17:45                                           ` [linux-pm] " Rafael J. Wysocki
2008-03-22 17:45                                             ` Rafael J. Wysocki
2008-03-22 20:49                                             ` Alan Stern
2008-03-22 20:49                                             ` [linux-pm] " Alan Stern
2008-03-22 20:49                                               ` Alan Stern
2008-03-22 21:29                                               ` Rafael J. Wysocki
2008-03-22 21:29                                               ` [linux-pm] " Rafael J. Wysocki
2008-03-22 21:29                                                 ` Rafael J. Wysocki
2008-05-14 22:38                                                 ` Eric W. Biederman
2008-05-14 22:38                                                 ` [linux-pm] " Eric W. Biederman
2008-05-14 22:38                                                   ` Eric W. Biederman
2008-05-14 23:47                                                   ` Rafael J. Wysocki
2008-05-14 23:47                                                     ` Rafael J. Wysocki
2008-05-15 20:55                                                     ` Eric W. Biederman
2008-05-15 20:55                                                       ` Eric W. Biederman
2008-05-15 21:20                                                       ` Rafael J. Wysocki
2008-05-15 21:20                                                         ` Rafael J. Wysocki
2008-05-15 21:20                                                       ` Rafael J. Wysocki
2008-05-15 20:55                                                     ` Eric W. Biederman
2008-05-14 23:47                                                   ` Rafael J. Wysocki
2008-03-20 22:45                               ` Rafael J. Wysocki
2008-03-19  0:08                       ` Rafael J. Wysocki
2008-05-14 20:41                       ` Maxim Levitsky
2008-05-14 20:41                       ` [linux-pm] " Maxim Levitsky
2008-05-14 20:41                         ` Maxim Levitsky
2008-05-14 23:34                         ` Eric W. Biederman
2008-05-14 23:34                         ` [linux-pm] " Eric W. Biederman
2008-05-14 23:34                           ` Eric W. Biederman
2008-03-13 23:07                 ` Eric W. Biederman
2008-03-13 17:03               ` Rafael J. Wysocki
2008-03-12 15:01         ` Alan Stern
2008-03-12  1:55       ` Huang, Ying
2008-03-12  8:57       ` Pavel Machek
2008-03-12  8:57       ` Pavel Machek
2008-03-12  8:57         ` Pavel Machek
2008-03-12  0:00     ` Nigel Cunningham
2008-03-12  0:00       ` Nigel Cunningham
2008-03-12  0:00     ` Nigel Cunningham
2008-03-11 23:24   ` Pavel Machek
2008-03-12  1:45   ` Huang, Ying
2008-03-12  1:45     ` Huang, Ying
2008-03-12  2:17     ` Eric W. Biederman
2008-03-12  2:17       ` Eric W. Biederman
2008-03-12  6:54       ` Huang, Ying
2008-03-12  6:54       ` Huang, Ying [this message]
2008-03-12  6:54         ` Huang, Ying
2008-03-12 19:37       ` Vivek Goyal
2008-03-12 19:37         ` Vivek Goyal
2008-03-14  8:03         ` Huang, Ying
2008-03-14  8:03         ` Huang, Ying
2008-03-14  8:03           ` Huang, Ying
2008-03-21 19:12           ` Vivek Goyal
2008-03-21 19:12             ` Vivek Goyal
2008-03-21 19:12             ` Vivek Goyal
2008-03-25  7:25             ` Huang, Ying
2008-03-25  7:25             ` Huang, Ying
2008-03-25  7:25               ` Huang, Ying
2008-03-12 19:37       ` Vivek Goyal
2008-03-12  2:17     ` Eric W. Biederman
2008-03-12 19:47     ` Vivek Goyal
2008-03-12 19:47     ` Vivek Goyal
2008-03-12 19:47       ` Vivek Goyal
2008-03-12  1:45   ` Huang, Ying
2008-03-11 21:10 ` Vivek Goyal
2008-04-09  9:34 ` Pavel Machek
2008-04-09  9:34   ` Pavel Machek
2008-04-09 12:30   ` Vivek Goyal
2008-04-09 12:30     ` Vivek Goyal
2008-04-09 12:30   ` Vivek Goyal
2008-04-09  9:34 ` Pavel Machek
2008-05-14 16:03 ` Vivek Goyal
2008-05-14 16:03 ` Vivek Goyal
2008-05-14 16:03   ` Vivek Goyal
2008-05-14 17:49   ` Vivek Goyal
2008-05-14 17:49   ` Vivek Goyal
2008-05-14 17:49     ` Vivek Goyal
2008-05-14 20:52 ` Vivek Goyal
2008-05-14 20:52   ` Vivek Goyal
2008-05-15  2:32   ` Huang, Ying
2008-05-15  2:32     ` Huang, Ying
2008-05-15 20:09     ` Vivek Goyal
2008-05-15 20:09       ` Vivek Goyal
2008-05-16  1:48       ` Huang, Ying
2008-05-16  1:48         ` Huang, Ying
2008-05-16  1:51         ` Vivek Goyal
2008-05-16  1:51           ` Vivek Goyal
2008-05-16  2:08           ` Huang, Ying
2008-05-16  2:08           ` Huang, Ying
2008-05-16  2:08             ` Huang, Ying
2008-05-16  1:51         ` Vivek Goyal
2008-05-16 12:13         ` Pavel Machek
2008-05-16 12:13         ` Pavel Machek
2008-05-16 12:13           ` Pavel Machek
2008-05-16  1:48       ` Huang, Ying
2008-05-15 20:09     ` Vivek Goyal
2008-05-15  2:32   ` Huang, Ying
2008-05-15  5:41   ` Huang, Ying
2008-05-15  5:41   ` Huang, Ying
2008-05-15  5:41     ` Huang, Ying
2008-05-15 18:42     ` Eric W. Biederman
2008-05-15 18:42     ` Eric W. Biederman
2008-05-15 18:42       ` Eric W. Biederman
2008-05-16  0:51     ` Vivek Goyal
2008-05-16  0:51       ` Vivek Goyal
2008-05-16  1:35       ` Eric W. Biederman
2008-05-16  1:35       ` Eric W. Biederman
2008-05-16  1:35         ` Eric W. Biederman
2008-05-16  1:55         ` Huang, Ying
2008-05-16  1:55         ` Huang, Ying
2008-05-16  1:55           ` Huang, Ying
2008-05-27  7:27       ` Huang, Ying
2008-05-27  7:27       ` Huang, Ying
2008-05-27  7:27         ` Huang, Ying
2008-05-27 22:15         ` Vivek Goyal
2008-05-27 22:15           ` Vivek Goyal
2008-05-28  1:35           ` Huang, Ying
2008-05-28  1:35           ` Huang, Ying
2008-05-28  1:35             ` Huang, Ying
2008-05-27 22:15         ` Vivek Goyal
2008-05-16  0:51     ` Vivek Goyal
2008-05-14 20:52 ` Vivek Goyal
2008-05-14 22:30 ` Eric W. Biederman
2008-05-14 22:30 ` Eric W. Biederman
2008-05-14 22:30   ` Eric W. Biederman
2008-05-14 23:55   ` Rafael J. Wysocki
2008-05-14 23:55   ` Rafael J. Wysocki
2008-05-14 23:55     ` Rafael J. Wysocki
2008-05-15 22:03     ` Eric W. Biederman
2008-05-15 22:03     ` Eric W. Biederman
2008-05-15 22:03       ` Eric W. Biederman
2008-05-15 23:20       ` Rafael J. Wysocki
2008-05-15 23:20         ` Rafael J. Wysocki
2008-05-15 23:20       ` Rafael J. Wysocki
2008-05-16 12:18       ` Pavel Machek
2008-05-16 12:18         ` Pavel Machek
2008-05-16 12:18       ` Pavel Machek
2008-05-16 14:20       ` Alan Stern
2008-05-16 14:20       ` [linux-pm] " Alan Stern
2008-05-16 14:20         ` Alan Stern
2008-05-15  1:42   ` Huang, Ying
2008-05-15  1:42     ` Huang, Ying
2008-05-15 19:05     ` Rafael J. Wysocki
2008-05-15 19:05     ` Rafael J. Wysocki
2008-05-15 19:05       ` Rafael J. Wysocki
2008-05-15  1:42   ` Huang, Ying
2008-05-15 14:14   ` Alan Stern
2008-05-15 14:14   ` [linux-pm] " Alan Stern
2008-05-15 14:14     ` Alan Stern
2008-05-15 20:48     ` Eric W. Biederman
2008-05-15 20:48     ` [linux-pm] " Eric W. Biederman
2008-05-15 20:48       ` Eric W. Biederman
2008-05-15 21:07       ` Alan Stern
2008-05-15 21:07       ` [linux-pm] " Alan Stern
2008-05-15 21:07         ` Alan Stern
2008-05-15 21:07       ` Alan Stern
  -- strict thread matches above, loose matches on Subject: below --
2008-03-06  3:13 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=1205304888.10239.0.camel@caritas-dev.intel.com \
    --to=ying.huang@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=ebiederm@xmission.com \
    --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=rjw@sisk.pl \
    --cc=vgoyal@redhat.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.