[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |