[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] xen boot crash


  • To: Jan Beulich <JBeulich@xxxxxxxxxx>, Christoph Egger <Christoph.Egger@xxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • 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
  • 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=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcuyRsARnuInx+w4kkKbabiVmfcX6w==
  • Thread-topic: [Xen-devel] xen boot crash

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
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.