|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] "vmalloc sync one failure" and host lockup
Konrad Rzeszutek Wilk writes ("Re: "vmalloc sync one failure" and host lockup"):
> This .. I thought was fixed years ago. Say
> 461ae488ecb125b140d7ea29ceeedbcce9327003 ?
The tree I'm using has that change. At least, it seems to. Here is
the whole of alloc_vm_area.
Ian.
/**
* alloc_vm_area - allocate a range of kernel address space
* @size: size of the area
*
* Returns: NULL on failure, vm_struct on success
*
* This function reserves a range of kernel address space, and
* allocates pagetables to map that range. No actual mappings
* are created. If the kernel address space is not shared
* between processes, it syncs the pagetable across all
* processes.
*/
struct vm_struct *alloc_vm_area(size_t size)
{
struct vm_struct *area;
area = get_vm_area_caller(size, VM_IOREMAP,
__builtin_return_address(0));
if (area == NULL)
return NULL;
/*
* This ensures that page tables are constructed for this region
* of kernel virtual address space and mapped into init_mm.
*/
if (apply_to_page_range(&init_mm, (unsigned long)area->addr,
area->size, f, NULL)) {
free_vm_area(area);
return NULL;
}
/* Make sure the pagetables are constructed in process kernel
mappings */
vmalloc_sync_all();
return area;
}
EXPORT_SYMBOL_GPL(alloc_vm_area);
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |