From: Gerd Hoffmann <kraxel@suse.de>
To: Magnus Damm <magnus.damm@gmail.com>
Cc: Magnus Damm <magnus@valinux.co.jp>,
Xen devel list <xen-devel@lists.xensource.com>
Subject: Re: kexec trouble
Date: Tue, 05 Dec 2006 17:55:11 +0100 [thread overview]
Message-ID: <4575A46F.9090001@suse.de> (raw)
In-Reply-To: <aec7e5c30612050753n263e19f3w8a6b58344dde3ebb@mail.gmail.com>
Hi,
>> IMHO the kexec code makes way to many decisions at compile time, not
>> runtime, especially the ones in the kexec code core. Having something
>> depend on CONFIG_XEN doesn't fly with the paravirt approach planned for
>> mainline merge (same kernel binary runs both native and paravirtualized).
>
> Sure, but isn't the paravirt stuff just for domU first to begin with?
domU only as first step, later dom0 too.
> I'm pretty sure that making the code dynamically decide between dom0,
> domU or native is quite simple to implement when it comes to kexec,
> but I wanted to wait with that until most parts of dom0 was running
> under paravirt.
I'd prefer to do that _now_.
>> I'm also in trouble now with guest kexec patches as they work with guest
>> phys addrs not machine phys addrs.
>
> Sorry if that made your life difficult, but shouldn't it just be a
> matter of using the native versions of the page macros for domU?
No. The same xen kernel can run as both dom0 and domU, thus that must
be decided at runtime.
>> I think we need either wrapper functions for machine_kexec_* functions
>> which dispatch to the correct function depending on the environment
>> (dom0 vs domU, later also native) or just make them function pointers to
>> archive the same effect. Same goes for the KEXEC_ARCH_HAS_PAGE_MACROS
>> stuff. IMHO "#ifdef CONFIG_XEN" should go away from the core code (i.e.
>> kernel/kexec.c).
>
> You mean for the paravirt stuff?
And domU kexec. That works without any kexec core changes, and I
suspect the #ifdef CONFIG_XEN code will break it.
> Isn't paravirt basically a set of
> callbacks that you can register?
Yes.
> If so, what is stopping us from
> registering a set of paravirt callbacks for the kexec code?
Hmm, we'll end up with *two* sets of callbacks for xen, one for dom0 and
one for domU kexec. Not sure that fits the current paravirt design.
Given we may move to paravirt some day it's probably best to go with the
function pointers approach for now, that makes switching over to the
paravirt infrastructure (once it is mainline) easier. And I think its
also less messy in the code.
cheers,
Gerd
--
Gerd Hoffmann <kraxel@suse.de>
next prev parent reply other threads:[~2006-12-05 16:55 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-05 14:37 kexec trouble Gerd Hoffmann
2006-12-05 15:53 ` Magnus Damm
2006-12-05 16:55 ` Gerd Hoffmann [this message]
2006-12-06 4:08 ` Magnus Damm
2006-12-06 8:48 ` Gerd Hoffmann
2006-12-06 9:41 ` Magnus Damm
2006-12-06 10:31 ` Gerd Hoffmann
2006-12-06 11:11 ` Magnus Damm
2006-12-06 13:23 ` Gerd Hoffmann
2006-12-06 13:40 ` Muli Ben-Yehuda
2006-12-07 11:24 ` Gerd Hoffmann
2006-12-08 4:15 ` Magnus Damm
2006-12-08 10:01 ` Gerd Hoffmann
2006-12-08 10:24 ` Ian Campbell
2006-12-08 11:28 ` Gerd Hoffmann
2006-12-08 11:32 ` Keir Fraser
2006-12-08 11:52 ` Ian Campbell
2006-12-08 15:49 ` Ian Campbell
2006-12-06 8:37 ` Keir Fraser
2006-12-06 9:08 ` Magnus Damm
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=4575A46F.9090001@suse.de \
--to=kraxel@suse.de \
--cc=magnus.damm@gmail.com \
--cc=magnus@valinux.co.jp \
--cc=xen-devel@lists.xensource.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.