[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110608160445.GA6091@router-fw-old.local.net-space.pl>
Date: Wed, 8 Jun 2011 18:04:45 +0200
From: Daniel Kiper <dkiper@...-space.pl>
To: Ian Campbell <Ian.Campbell@...citrix.com>
Cc: Daniel Kiper <dkiper@...-space.pl>,
"konrad.wilk@...cle.com" <konrad.wilk@...cle.com>,
"vgoyal@...hat.com" <vgoyal@...hat.com>,
"xen-devel@...ts.xensource.com" <xen-devel@...ts.xensource.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: kexec/kdump for Xen - implementation question
On Tue, Jun 07, 2011 at 11:29:26AM +0100, Ian Campbell wrote:
> On Mon, 2011-06-06 at 17:04 +0100, Daniel Kiper wrote:
> > Hi,
> >
> > Currently, I am working on kexec/kdump for Xen with emphasis on dom0
> > implementation issues. After reviewing relevant Xen Linux Kernel
> > Ver. 2.6.18 code I realized (as I expected) that original kexec/kdump
> > in mainline kernel should be extensively amended. Further, after some
> > discussion with Konrad Rzeszutek Wilk and Ian Campbell it was clear
> > for me that it could be done in a few diffrent ways. Due to this facts
> > I decided to establish general implementation details with LKML and
> > Xen-devel community to avoid extensive code rewrite in case my own
> > proposal would not be accepted.
> >
> > Now I think about four solutions. I will present them in order of my
> > preference. However, if you have another soultions to that problem
> > please drop me a line.
> >
> > 1) Currently existing kexec/kdump implementation should be amended
> > by adding Xen specific code mainly in arch/i386. It should look
> > like:
> >
> > void machine_kexec(struct kimage *image)
> > {
> > #ifdef CONFIG_XEN
> > if (xen_initial_domain()) {
> > ...
> > Xen specific code
> > ...
> > }
> > #endif
> >
> > ...
> > generic kexec/kdump code
> > ...
> > }
>
> This is about the ugliest way to do things and should be avoided.
I think that in this case it is to some extent. I decided put
this solution before struct machine_kexec_ops solution because
this (let say conditional solution) touches only x86 code (and
if it be required IA-64). struct machine_kexec_ops proposal
require changes for 8 archs. I am not sure it could be accepted
by kexec/kdump and relevant archs maintainers quickly. However,
I think that struct machine_kexec_ops is better as longterm
solution.
Daniel
--
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