WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Kernel bug from 3.0 (was phy disks and vifs timing out i

To: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Subject: Re: [Xen-devel] Kernel bug from 3.0 (was phy disks and vifs timing out in DomU)
From: David Vrabel <david.vrabel@xxxxxxxxxx>
Date: Wed, 31 Aug 2011 17:58:43 +0100
Cc: Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>, Todd Deshane <todd.deshane@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Anthony Wright <anthony@xxxxxxxxxxxxxxx>
Delivery-date: Wed, 31 Aug 2011 09:57:57 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20110826144438.GA24836@xxxxxxxxxxxx>
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>
References: <24093349.14.1311837878822.JavaMail.root@xxxxxxxxxxxxxxxxxxxxxx> <CAMrPLWKGtozo6YK5FXdJzR4duzsxvR6F7Fuj4_0b4x6GkLateA@xxxxxxxxxxxxxx> <4E31820C.5030200@xxxxxxxxxxxxxxx> <1311870512.24408.153.camel@xxxxxxxxxxxxxxxxxxxxxx> <4E3266DE.9000606@xxxxxxxxxxxxxxx> <20110803152841.GA2860@xxxxxxxxxxxx> <4E4E3957.1040007@xxxxxxxxxxxxxxx> <20110819125615.GA26558@xxxxxxxxxxxx> <4E56B132.9050708@xxxxxxxxxxxxxxx> <20110826142606.GA25511@xxxxxxxxxxxx> <20110826144438.GA24836@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.16) Gecko/20110818 Icedove/3.0.11
On 26/08/11 15:44, Konrad Rzeszutek Wilk wrote:
> 
> So while I am still looking at the hypervisor code to figure out why
> it would give me [when trying to map a grant page]:
> 
> (XEN) mm.c:3846:d0 Could not find L1 PTE for address fbb42000

It is failing in guest_map_l1e() because the page for the vmalloc'd
virtual address PTEs is not present.

The test that fails is:

(l2e_get_flags(l2e) & (_PAGE_PRESENT | _PAGE_PSE)) != _PAGE_PRESENT

I think this is because the GNTTABOP_map_grant_ref hypercall is done
when task->active_mm != &init_mm and alloc_vm_area() only adds PTEs into
init_mm so when Xen looks in the page tables it doesn't find the entries
because they're not there yet.

Putting a call to vmalloc_sync_all() after create_vm_area() and before
the hypercall makes it work for me.  Classic Xen kernels used to have
such a call.

This presumably works on some systems/configuration and not others
depending on what else is using vmalloc(). i.e., if another kernel
thread (?) calls vmalloc() etc. then there will be a page for vmalloc
area PTEs and it will work.

I'll try and post a patch tomorrow.

Thanks to Ian Campbell for pointing me in the right direction.

David

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

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