All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Huang, Ying" <ying.huang@intel.com>
To: Vivek Goyal <vgoyal@redhat.com>
Cc: nigel@nigel.suspend2.net,
	Kexec Mailing List <kexec@lists.infradead.org>,
	linux-kernel@vger.kernel.org, "Rafael J. Wysocki" <rjw@sisk.pl>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	Pavel Machek <pavel@ucw.cz>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-pm@lists.linux-foundation.org
Subject: Re: [PATCH 0/3 -mm] kexec jump -v8
Date: Fri, 28 Dec 2007 15:30:53 +0800	[thread overview]
Message-ID: <1198827053.7320.33.camel@caritas-dev.intel.com> (raw)
In-Reply-To: <20071227181218.GA15084@redhat.com>

On Thu, 2007-12-27 at 13:12 -0500, Vivek Goyal wrote:
> On Thu, Dec 27, 2007 at 10:33:13AM +0800, Huang, Ying wrote:
> > On Wed, 2007-12-26 at 20:57 -0500, Vivek Goyal wrote:
> > [...]
> > > > 9. Now, you are in the original kernel again. You can read/write the
> > > >    memory image of kexeced kernel via /proc/kimgcore.
> > > > 
> > > 
> > > Why do we need two interfaces, /proc/vmcore and /proc/kimgcore? Can't
> > > we have just one say /proc/vmcore. Irrespective of what kernel you are
> > > in /proc/vmcore gives you the access to the memory of kernel which was
> > > previously booted.
> > 
> > In theory we can kexec another kernel even in a kexeced kernel, that is,
> > in kernel A kexec kernel B, and in kernel B kexec another kernel C. In
> > this situation, both /proc/vmcore and /proc/kimgcore has valid contents.
> > So I think, it may be better to keep two interfaces.
> > 
> 
> In those situations I think only one interface is better. For example, 
> above will be broken if somebody kexec 4 kernels.
> 
> A-->B--->C--->D

I don't think the two interfaces will be broken if somebody kexec 4
kernels. For example, when kexec D from C, the /proc/vmcore is contents
of B, /proc/kimgcore is contents of D. To jump back from C to B, the D
is unloaded, and a jump back helper image is loaded.

> I think better option might be if it is stack like situation. A kernel
> shows you only the previous kernel's memory contents through /proc/vmcore
> interface. So If I am in kernel D, I see only kernel C's memory image.
> To see kernel B's memory image, one shall have to go back to kernel C.

Maybe it is not sufficient to only show the previous kernel's memory
contents. In kernel C, you maybe need to access the memory image of
kernel B and memory image of kernel D.

That is, /proc/vmcore is the memory image of the previous kernel,
and /proc/kimgcore is the memory image of the next kernel.

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: Vivek Goyal <vgoyal@redhat.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>,
	Pavel Machek <pavel@ucw.cz>,
	nigel@nigel.suspend2.net, "Rafael J. Wysocki" <rjw@sisk.pl>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-pm@lists.linux-foundation.org,
	Kexec Mailing List <kexec@lists.infradead.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/3 -mm] kexec jump -v8
Date: Fri, 28 Dec 2007 15:30:53 +0800	[thread overview]
Message-ID: <1198827053.7320.33.camel@caritas-dev.intel.com> (raw)
In-Reply-To: <20071227181218.GA15084@redhat.com>

On Thu, 2007-12-27 at 13:12 -0500, Vivek Goyal wrote:
> On Thu, Dec 27, 2007 at 10:33:13AM +0800, Huang, Ying wrote:
> > On Wed, 2007-12-26 at 20:57 -0500, Vivek Goyal wrote:
> > [...]
> > > > 9. Now, you are in the original kernel again. You can read/write the
> > > >    memory image of kexeced kernel via /proc/kimgcore.
> > > > 
> > > 
> > > Why do we need two interfaces, /proc/vmcore and /proc/kimgcore? Can't
> > > we have just one say /proc/vmcore. Irrespective of what kernel you are
> > > in /proc/vmcore gives you the access to the memory of kernel which was
> > > previously booted.
> > 
> > In theory we can kexec another kernel even in a kexeced kernel, that is,
> > in kernel A kexec kernel B, and in kernel B kexec another kernel C. In
> > this situation, both /proc/vmcore and /proc/kimgcore has valid contents.
> > So I think, it may be better to keep two interfaces.
> > 
> 
> In those situations I think only one interface is better. For example, 
> above will be broken if somebody kexec 4 kernels.
> 
> A-->B--->C--->D

I don't think the two interfaces will be broken if somebody kexec 4
kernels. For example, when kexec D from C, the /proc/vmcore is contents
of B, /proc/kimgcore is contents of D. To jump back from C to B, the D
is unloaded, and a jump back helper image is loaded.

> I think better option might be if it is stack like situation. A kernel
> shows you only the previous kernel's memory contents through /proc/vmcore
> interface. So If I am in kernel D, I see only kernel C's memory image.
> To see kernel B's memory image, one shall have to go back to kernel C.

Maybe it is not sufficient to only show the previous kernel's memory
contents. In kernel C, you maybe need to access the memory image of
kernel B and memory image of kernel D.

That is, /proc/vmcore is the memory image of the previous kernel,
and /proc/kimgcore is the memory image of the next kernel.

Best Regards,
Huang Ying


  reply	other threads:[~2007-12-28  7:33 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-21  7:33 [PATCH 0/3 -mm] kexec jump -v8 Huang, Ying
2007-12-21  7:33 ` Huang, Ying
2007-12-21  8:35 ` Nigel Cunningham
2007-12-21  8:35   ` Nigel Cunningham
2007-12-21  8:53   ` Huang, Ying
2007-12-21  8:53     ` Huang, Ying
2007-12-21  8:53   ` Huang, Ying
2007-12-21  8:35 ` Nigel Cunningham
2007-12-27  1:57 ` Vivek Goyal
2007-12-27  1:57 ` Vivek Goyal
2007-12-27  1:57   ` Vivek Goyal
2007-12-27  2:33   ` Huang, Ying
2007-12-27  2:33   ` Huang, Ying
2007-12-27  2:33     ` Huang, Ying
2007-12-27 18:12     ` Vivek Goyal
2007-12-27 18:12       ` Vivek Goyal
2007-12-28  7:30       ` Huang, Ying [this message]
2007-12-28  7:30         ` Huang, Ying
2007-12-28  7:30       ` Huang, Ying
2007-12-27 18:12     ` Vivek Goyal
2007-12-28 21:33 ` Vivek Goyal
2007-12-28 21:33   ` Vivek Goyal
2007-12-29  2:00   ` Huang, Ying
2007-12-29  2:00     ` Huang, Ying
2007-12-31 19:26     ` Vivek Goyal
2007-12-31 19:26       ` Vivek Goyal
2008-01-03  8:42       ` Huang, Ying
2008-01-03  8:42         ` Huang, Ying
2008-01-06 20:49         ` Vivek Goyal
2008-01-06 20:49         ` Vivek Goyal
2008-01-06 20:49           ` Vivek Goyal
2008-01-07  8:12           ` Huang, Ying
2008-01-07  8:12             ` Huang, Ying
2008-01-07  8:12           ` Huang, Ying
2008-01-03  8:42       ` Huang, Ying
2007-12-31 19:26     ` Vivek Goyal
2007-12-29  2:00   ` Huang, Ying
2007-12-28 21:33 ` Vivek Goyal
  -- strict thread matches above, loose matches on Subject: below --
2007-12-21  7:33 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=1198827053.7320.33.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.