mirror of https://gitee.com/openkylin/linux.git
vmap: add flag to allow lazy unmap to be disabled at runtime
Add a flag to force lazy_max_pages() to zero to prevent any outstanding mapped pages. We'll need this for Xen. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Acked-by: Nick Piggin <npiggin@suse.de>
This commit is contained in:
parent
08bbc9da92
commit
a0d40c8025
|
@ -7,6 +7,8 @@
|
|||
|
||||
struct vm_area_struct; /* vma defining user mapping in mm_types.h */
|
||||
|
||||
extern bool vmap_lazy_unmap;
|
||||
|
||||
/* bits in flags of vmalloc's vm_struct below */
|
||||
#define VM_IOREMAP 0x00000001 /* ioremap() and friends */
|
||||
#define VM_ALLOC 0x00000002 /* vmalloc() */
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
#include <asm/tlbflush.h>
|
||||
#include <asm/shmparam.h>
|
||||
|
||||
bool vmap_lazy_unmap __read_mostly = true;
|
||||
|
||||
/*** Page table manipulation functions ***/
|
||||
|
||||
|
@ -502,6 +503,9 @@ static unsigned long lazy_max_pages(void)
|
|||
{
|
||||
unsigned int log;
|
||||
|
||||
if (!vmap_lazy_unmap)
|
||||
return 0;
|
||||
|
||||
log = fls(num_online_cpus());
|
||||
|
||||
return log * (32UL * 1024 * 1024 / PAGE_SIZE);
|
||||
|
|
Loading…
Reference in New Issue