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

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



On Thu, 2011-09-01 at 16:38 +0100, Konrad Rzeszutek Wilk wrote:
> > > > The flaw in the reasoning here is that you cannot take a kernel fault
> > > > while processing a hypercall, so hypercall arguments must have been
> > > > faulted in beforehand and that is what the sync_all was for.
> > > > 
> > > > It's probably fair to say that the Xen specific caller should take care
> > > > of that Xen-specific requirement rather than pushing it into common
> > > > code. On the other hand Xen is the only user and creating a Xen specific
> > > > helper/wrapper seems a bit pointless.
> > > 
> > > Perhaps then doing the vmalloc_sync_all() (or are more precise one:
> > > vmalloc_sync_one) should be employed in the netback code then?
> > 
> > Not just netback but everywhere which uses this interface.
> 
> Which is for right now netback :-). But yes - wherever we use that
> we should do follow with some sort of vmalloc.

blkback, xenbus_client and the grant table stuff all use it as well and
AFAICT have the same requirement for syncing.

$ git grep alloc_vm_area 
arch/x86/include/asm/xen/grant_table.h:#define xen_alloc_vm_area(size)  
alloc_vm_area(size)

-- this macro is unused...

arch/x86/xen/grant-table.c:                     xen_alloc_vm_area(PAGE_SIZE * 
max_nr_gframes);
drivers/block/xen-blkback/xenbus.c:     blkif->blk_ring_area = 
alloc_vm_area(PAGE_SIZE);
drivers/net/xen-netback/netback.c:      vif->tx_comms_area = 
alloc_vm_area(PAGE_SIZE);
drivers/net/xen-netback/netback.c:      vif->rx_comms_area = 
alloc_vm_area(PAGE_SIZE);
drivers/xen/xenbus/xenbus_client.c:     area = xen_alloc_vm_area(PAGE_SIZE);

Ian.


_______________________________________________
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®.