From: David Vrabel <david.vrabel@citrix.com>
To: Daniel Kiper <daniel.kiper@oracle.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
"konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
"maxim.uvarov@oracle.com" <maxim.uvarov@oracle.com>,
"x86@kernel.org" <x86@kernel.org>,
"kexec@lists.infradead.org" <kexec@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"virtualization@lists.linux-foundation.org"
<virtualization@lists.linux-foundation.org>,
"mingo@redhat.com" <mingo@redhat.com>,
David Vrabel <david.vrabel@citrix.com>,
"jbeulich@suse.com" <jbeulich@suse.com>,
"H. Peter Anvin" <hpa@zytor.com>,
"tglx@linutronix.de" <tglx@linutronix.de>,
"vgoyal@redhat.com" <vgoyal@redhat.com>,
"Eric W. Biederman" <ebiederm@xmission.com>
Subject: Re: [Xen-devel] [PATCH v3 00/11] xen: Initial kexec/kdump implementation
Date: Thu, 10 Jan 2013 14:19:55 +0000 [thread overview]
Message-ID: <50EECE0B.2080604@citrix.com> (raw)
In-Reply-To: <20130104170120.GA3472@host-192-168-1-59.local.net-space.pl>
On 04/01/13 17:01, Daniel Kiper wrote:
> On Fri, Jan 04, 2013 at 02:38:44PM +0000, David Vrabel wrote:
>> On 04/01/13 14:22, Daniel Kiper wrote:
>>> On Wed, Jan 02, 2013 at 11:26:43AM +0000, Andrew Cooper wrote:
>>>> On 27/12/12 18:02, Eric W. Biederman wrote:
>>>>> Andrew Cooper<andrew.cooper3@citrix.com> writes:
>>>>>
>>>>>> On 27/12/2012 07:53, Eric W. Biederman wrote:
>>>>>>> The syscall ABI still has the wrong semantics.
>>>>>>>
>>>>>>> Aka totally unmaintainable and umergeable.
>>>>>>>
>>>>>>> The concept of domU support is also strange. What does domU support even mean, when the dom0 support is loading a kernel to pick up Xen when Xen falls over.
>>>>>> There are two requirements pulling at this patch series, but I agree
>>>>>> that we need to clarify them.
>>>>> It probably make sense to split them apart a little even.
>>>>>
>>>>>
>>>>
>>>> Thinking about this split, there might be a way to simply it even more.
>>>>
>>>> /sbin/kexec can load the "Xen" crash kernel itself by issuing
>>>> hypercalls using /dev/xen/privcmd. This would remove the need for
>>>> the dom0 kernel to distinguish between loading a crash kernel for
>>>> itself and loading a kernel for Xen.
>>>>
>>>> Or is this just a silly idea complicating the matter?
>>>
>>> This is impossible with current Xen kexec/kdump interface.
>>> It should be changed to do that. However, I suppose that
>>> Xen community would not be interested in such changes.
>>
>> I don't see why the hypercall ABI cannot be extended with new sub-ops
>> that do the right thing -- the existing ABI is a bit weird.
>>
>> I plan to start prototyping something shortly (hopefully next week) for
>> the Xen kexec case.
>
> Wow... As I can this time Xen community is interested in...
> That is great. I agree that current kexec interface is not ideal.
I spent some more time looking at the existing interface and
implementation and it really is broken.
> David, I am happy to help in that process. However, if you wish I could
> carry it myself. Anyway, it looks that I should hold on with my
> Linux kexec/kdump patches.
I should be able to post some prototype patches for Xen in a few weeks.
No guarantees though.
> My .5 cents:
> - We should focus on KEXEC_CMD_kexec_load and KEXEC_CMD_kexec_unload;
> probably we should introduce KEXEC_CMD_kexec_load2 and KEXEC_CMD_kexec_unload2;
> load should __LOAD__ kernel image and other things into hypervisor memory;
Yes, but I don't see how we can easily support both ABIs easily. I'd be
in favour of replacing the existing hypercalls and requiring updated
kexec tools in dom0 (this isn't that different to requiring the correct
libxc in dom0).
> I suppose that allmost all things could be copied from linux/kernel/kexec.c,
> linux/arch/x86/kernel/{machine_kexec_$(BITS).c,relocate_kernel_$(BITS).c};
> I think that KEXEC_CMD_kexec should stay as is,
I don't think we want all the junk from Linux inside Xen -- we only want
to support the kdump case and do not have to handle returning from the
kexec image.
> - Hmmm... Now I think that we should still use kexec syscall to load image
> into Xen memory (with new KEXEC_CMD_kexec_load2) because it establishes
> all things which are needed to call kdump if dom0 crashes; however,
> I could be wrong...
I don't think we need the kexec syscall. The kernel can unconditionally
do the crash hypercall, which will return if the kdump kernel isn't
loaded and the kernel can fall back to the regular non-kexec panic.
This will allow the kexec syscall to be used only for the domU kexec case.
> - last but not least, we should think about support for PV guests
> too.
I won't be looking at this.
To avoid confusion about the two largely orthogonal sorts of kexec how
about defining some terms. I suggest:
Xen kexec: Xen executes the image in response to a Xen crash or a
hypercall from a privileged domain.
Guest kexec: The guest kernel executes the images within the domain in
response to a guest kernel crash or a system call.
David
next prev parent reply other threads:[~2013-01-10 14:19 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-27 2:18 [PATCH v3 00/11] xen: Initial kexec/kdump implementation Daniel Kiper
[not found] ` <1356574740-6806-1-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2012-12-27 2:18 ` [PATCH v3 01/11] kexec: introduce kexec firmware support Daniel Kiper
[not found] ` <1356574740-6806-2-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2012-12-27 2:18 ` [PATCH v3 02/11] x86/kexec: Add extra pointers to transition page table PGD, PUD, PMD and PTE Daniel Kiper
[not found] ` <1356574740-6806-3-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2012-12-27 2:18 ` [PATCH v3 03/11] xen: Introduce architecture independent data for kexec/kdump Daniel Kiper
[not found] ` <1356574740-6806-4-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2012-12-27 2:18 ` [PATCH v3 04/11] x86/xen: Introduce architecture dependent " Daniel Kiper
[not found] ` <1356574740-6806-5-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2012-12-27 2:18 ` [PATCH v3 05/11] x86/xen: Register resources required by kexec-tools Daniel Kiper
[not found] ` <1356574740-6806-6-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2012-12-27 2:18 ` [PATCH v3 06/11] x86/xen: Add i386 kexec/kdump implementation Daniel Kiper
[not found] ` <1356574740-6806-7-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2012-12-27 2:18 ` [PATCH v3 07/11] x86/xen: Add x86_64 " Daniel Kiper
[not found] ` <1356574740-6806-8-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2012-12-27 2:18 ` [PATCH v3 08/11] x86/xen: Add kexec/kdump Kconfig and makefile rules Daniel Kiper
[not found] ` <1356574740-6806-9-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2012-12-27 2:18 ` [PATCH v3 09/11] x86/xen/enlighten: Add init and crash kexec/kdump hooks Daniel Kiper
[not found] ` <1356574740-6806-10-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2012-12-27 2:18 ` [PATCH v3 10/11] drivers/xen: Export vmcoreinfo through sysfs Daniel Kiper
[not found] ` <1356574740-6806-11-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2012-12-27 2:19 ` [PATCH v3 11/11] x86: Add Xen kexec control code size check to linker script Daniel Kiper
2012-12-27 18:53 ` [PATCH v3 09/11] x86/xen/enlighten: Add init and crash kexec/kdump hooks H. Peter Anvin
2012-12-27 4:00 ` [PATCH v3 06/11] x86/xen: Add i386 kexec/kdump implementation H. Peter Anvin
2012-12-27 3:33 ` [PATCH v3 02/11] x86/kexec: Add extra pointers to transition page table PGD, PUD, PMD and PTE H. Peter Anvin
2013-01-03 9:34 ` Jan Beulich
[not found] ` <50E55ECF02000078000B2A13@nat28.tlf.novell.com>
2013-01-04 15:15 ` Daniel Kiper
[not found] ` <20130104151542.GD3346@host-192-168-1-59.local.net-space.pl>
2013-01-04 16:12 ` Jan Beulich
[not found] ` <50E70D8002000078000B336D@nat28.tlf.novell.com>
2013-01-04 17:25 ` Daniel Kiper
[not found] ` <20130104172538.GC3472@host-192-168-1-59.local.net-space.pl>
2013-01-07 9:48 ` Jan Beulich
[not found] ` <50EAA7F402000078000B34C3@nat28.tlf.novell.com>
2013-01-07 12:52 ` Daniel Kiper
[not found] ` <20130107125211.GB2927@host-192-168-1-59.local.net-space.pl>
2013-01-07 13:05 ` Jan Beulich
[not found] ` <50EAD61602000078000B36A0@nat28.tlf.novell.com>
2013-01-09 18:42 ` Daniel Kiper
2013-01-10 14:07 ` David Vrabel
[not found] ` <50EECB23.4090603@citrix.com>
2013-01-11 13:36 ` Daniel Kiper
2012-12-27 4:46 ` [PATCH v3 01/11] kexec: introduce kexec firmware support Eric W. Biederman
2012-12-27 4:02 ` [PATCH v3 00/11] xen: Initial kexec/kdump implementation H. Peter Anvin
2012-12-27 7:53 ` Eric W. Biederman
2012-12-27 14:18 ` Andrew Cooper
2012-12-27 18:02 ` Eric W. Biederman
2013-01-02 11:26 ` [Xen-devel] " Andrew Cooper
2013-01-02 11:47 ` Eric W. Biederman
2013-01-03 9:31 ` Jan Beulich
2013-01-04 14:22 ` Daniel Kiper
2013-01-04 14:34 ` Konrad Rzeszutek Wilk
2013-01-04 14:34 ` Ian Campbell
2013-01-04 14:38 ` David Vrabel
2013-01-04 17:01 ` Daniel Kiper
2013-01-10 14:19 ` David Vrabel [this message]
2013-01-11 13:22 ` Daniel Kiper
2013-01-11 15:22 ` David Vrabel
2013-01-11 17:34 ` Daniel Kiper
2013-01-11 20:05 ` Eric W. Biederman
2013-01-04 14:41 ` Jan Beulich
[not found] ` <50E6F81D02000078000B3245-ce6RLXgGx+vWGUEhTRrCg1aTQe2KTcn/@public.gmane.org>
2013-01-04 17:07 ` Daniel Kiper
2013-01-04 19:11 ` Konrad Rzeszutek Wilk
[not found] ` <20130104191146.GC6721-6K5HmflnPlqSPmnEAIUT9EEOCMrvLtNR@public.gmane.org>
2013-01-07 10:25 ` Ian Campbell
2013-01-07 10:46 ` Andrew Cooper
2013-01-07 10:54 ` Ian Campbell
2013-01-07 12:34 ` Daniel Kiper
[not found] ` <20130107123404.GA2927-UojuW/CpjwpdUOLzJiIvSsFoITBeLw/klGfBN0aaEZ+lPcVs/6D9LQ@public.gmane.org>
2013-01-07 13:49 ` Ian Campbell
2013-01-11 13:47 ` Daniel Kiper
2013-01-07 16:20 ` Konrad Rzeszutek Wilk
2013-01-11 4:16 ` Eric W. Biederman
2013-01-11 16:55 ` Konrad Rzeszutek Wilk
2013-01-11 20:26 ` H. Peter Anvin
2013-01-11 20:43 ` Vivek Goyal
2013-01-11 20:26 ` Eric W. Biederman
2013-01-11 20:52 ` Vivek Goyal
[not found] ` <20130111205232.GC17126-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-01-11 21:03 ` H. Peter Anvin
[not found] ` <50F07E2D.6010602-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2013-01-11 21:08 ` Vivek Goyal
2013-01-11 21:14 ` H. Peter Anvin
[not found] ` <50DC58C4.3000307-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>
2013-01-02 15:27 ` Ian Campbell
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=50EECE0B.2080604@citrix.com \
--to=david.vrabel@citrix.com \
--cc=andrew.cooper3@citrix.com \
--cc=daniel.kiper@oracle.com \
--cc=ebiederm@xmission.com \
--cc=hpa@zytor.com \
--cc=jbeulich@suse.com \
--cc=kexec@lists.infradead.org \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maxim.uvarov@oracle.com \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=vgoyal@redhat.com \
--cc=virtualization@lists.linux-foundation.org \
--cc=x86@kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).