On Thu, Mar 17, 2016 at 01:34:59PM +0000, Chris Wilson wrote: > vmaps are temporary kernel mappings that may be of long duration. > Reusing a vmap on an object is preferrable for a driver as the cost of > setting up the vmap can otherwise dominate the operation on the object. > However, the vmap address space is rather limited on 32bit systems and > so we add a notification for vmap pressure in order for the driver to > release any cached vmappings. > > The interface is styled after the oom-notifier where the callees are > passed a pointer to an unsigned long counter for them to indicate if they > have freed any space. > > v2: Guard the blocking notifier call with gfpflags_allow_blocking() > > Signed-off-by: Chris Wilson <[email protected]> > Cc: Andrew Morton <[email protected]> > Cc: David Rientjes <[email protected]> > Cc: Roman Peniaev <[email protected]> > Cc: Mel Gorman <[email protected]> > Cc: [email protected] > Cc: [email protected] > --- > include/linux/vmalloc.h | 4 ++++ > mm/vmalloc.c | 27 +++++++++++++++++++++++++++ > 2 files changed, 31 insertions(+) > > diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h > index d1f1d338af20..edd676b8e112 100644 > --- a/include/linux/vmalloc.h > +++ b/include/linux/vmalloc.h > @@ -187,4 +187,8 @@ pcpu_free_vm_areas(struct vm_struct **vms, int nr_vms) > #define VMALLOC_TOTAL 0UL > #endif > > +struct notitifer_block; Omg. /o\ -Chris
-- Chris Wilson, Intel Open Source Technology Centre

