Messages in this thread |  | | Date | Sat, 22 Mar 2008 21:10:20 +0900 | From | KOSAKI Motohiro <> | Subject | Re: [04/14] vcompound: Core piece |
| |
Hi
in general, I like this patch and I found no bug :)
> Index: linux-2.6.25-rc5-mm1/include/linux/vmalloc.h > =================================================================== > --- linux-2.6.25-rc5-mm1.orig/include/linux/vmalloc.h 2008-03-20 23:03:14.600588151 -0700 > +++ linux-2.6.25-rc5-mm1/include/linux/vmalloc.h 2008-03-20 23:03:14.612588010 -0700 > @@ -86,6 +86,20 @@ extern struct vm_struct *alloc_vm_area(s > extern void free_vm_area(struct vm_struct *area); > > /* > + * Support for virtual compound pages. > + * > + * Calls to vcompound alloc will result in the allocation of normal compound > + * pages unless memory is fragmented. If insufficient physical linear memory > + * is available then a virtually contiguous area of memory will be created > + * using the vmalloc functionality. > + */ > +struct page *alloc_vcompound_alloc(gfp_t flags, int order);
where exist alloc_vcompound_alloc?
> +/* > + * Virtual Compound Page support. > + * > + * Virtual Compound Pages are used to fall back to order 0 allocations if large > + * linear mappings are not available. They are formatted according to compound > + * page conventions. I.e. following page->first_page if PageTail(page) is set > + * can be used to determine the head page. > + */ > +
Hmm, IMHO we need vcompound documentation more for the beginner in the Documentation/ directory. if not, nobody understand mean of vcompound flag at /proc/vmallocinfo.
> +void __free_vcompound(void *addr) > +void free_vcompound(struct page *page) > +struct page *alloc_vcompound(gfp_t flags, int order) > +void *__alloc_vcompound(gfp_t flags, int order)
may be, we need DocBook style comment at the head of these 4 functions.
|  |