DragonFly commits List (threaded) for 2003-10
cvs commit: src/sys/vm vm_page.c vm_page.h
hmp 2003/10/15 09:03:04 PDT
sys/vm vm_page.c vm_page.h
Major contigmalloc() API cleanup:
* split the contigmalloc() function into two distinct
- vm_contig_pg_alloc(): this function does the alloc
of contiguous pages.
- vm_contig_pg_kmap(): this function maps the allocated
range of pages into a VM map (i.e. kernel map).
* remove the duplicated page queue flush management handling
and put it into a separate function, vm_contig_pg_clean().
The split is important for some special case drivers, which
like to allocated >2G contig memory, and then mmpa(2) it to
userland for various purposes.
By splitting, the contigmalloc/vm_contig_pg API does not
enforce the client to map the contiguous pages into the
KVA, which would have otherwise failed the allocation.
These functions will probably be moved to their own file
some time soon.
Reviewed/Approved/Tested by: Matt Dillon
Revision Changes Path
1.13 +200 -109 src/sys/vm/vm_page.c
1.7 +4 -0 src/sys/vm/vm_page.h