This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] xen boot crash

To: Jan Beulich <JBeulich@xxxxxxxxxx>, Christoph Egger <Christoph.Egger@xxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] xen boot crash
From: Keir Fraser <keir@xxxxxxx>
Date: Wed, 12 Jan 2011 10:52:05 +0000
Cc: Olaf@xxxxxxxxx
Delivery-date: Wed, 12 Jan 2011 02:53:00 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:sender:user-agent:date:subject:from:to:cc :message-id:thread-topic:thread-index:in-reply-to:mime-version :content-type:content-transfer-encoding; bh=BobxwZv/+h8Zzk8Eyn3La99Qh5YXJ1So7KMwLK2iIyI=; b=LoOHHW2IpM8rfR/tIUZ1+g4Slrk7iKGL8ehaufUZfnTY7ck1cNhPdLYAm0SNHoWQH+ EoB0CDdvquDVWIlv1wLKx3FBMx7K+Q7RAkJTom42tA4BjQz4hx6VTwlM/kpV1nvFu773 NXr+m+dAT39W7XduAq7cf+4yhvJSh6jjuDZy8=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic :thread-index:in-reply-to:mime-version:content-type :content-transfer-encoding; b=Zly1EGGiPhNEL9U/zGNLIFhOxx/nsDelJvQthpZH9IXet2qk99K+83CUt/7k0ID8tm X2DE/BCCYQmlJZ9sP5xMUGNe5S3sdFcxTNu3Z8242OMC0FnYNZcdyIOxQz0+7MZXAizD K/NRloBq1Q3YyfbwGmqJ8Dt+3+5wEBVjZ3nLI=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4D2D8BE3020000780002BF5C@xxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcuyRsARnuInx+w4kkKbabiVmfcX6w==
Thread-topic: [Xen-devel] xen boot crash
User-agent: Microsoft-Entourage/
On 12/01/2011 10:09, "Jan Beulich" <JBeulich@xxxxxxxxxx> wrote:

>>>> On 12.01.11 at 10:45, Christoph Egger <Christoph.Egger@xxxxxxx> wrote:
>> Changeset 22706:ca10302ac285  causes below boot crash.
>> Reverting it makes xen boot again.
>> The rip points to xen/common/page_alloc.c:543
> Assuming the change was tested on x86-64, it must be something
> unusual on your system that results in free_heap_pages() getting
> called before the compat m2p table (and possibly the native one
> too, as that one gets written after the compat one) was set up.
> For understanding that, the actual call stack would need to be
> worked out from the raw stack dump you provided.
> Perhaps we'll need a global variable indicating when those tables
> are ready to be used...

I'll revert the patch for now, I think we'll need to revisit after 4.1.0.
Not really an issue I'd say as it's pretty clear that xenpaging is not going
to be in a production-ready state for 4.1.0 anyway. Best we can hope for is
to get some tested patches backported for 4.1.1 or 4.1.2.

The basic issue here seems to be a dependency violation in trying to access
m2p at all from the heap allocator. The code that sets up the m2p itself
allocs from the domheap, so having the heap, or domheap, subsystem, address
the m2p itself seems flawed. We'd get away with it from free_domheap_pages()
as no pages get freed until later, as it happens, but: (a) not nice to
depend on that; (b) it's nice to do it in free_heap_pages() and cover
Xenheap as well as domheap.

One way around this might be to set up the m2p tables earlier, perhaps when
we currently init_frametable(), and get the required pages via
alloc_bootheap_pages(). But this is too big a change for 4.1 now.

 -- Keir

> Jan
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>