cvs commit: src/sys/vm vm_contig.c

Doug Ambrisko ambrisko at ambrisko.com
Wed Jun 16 18:44:54 GMT 2004


Alan Cox writes:
| On Mon, Jun 14, 2004 at 10:45:36PM -0400, Brian Feldman wrote:
| > On Tue, Jun 15, 2004 at 01:02:00AM +0000, Brian Feldman wrote:
| > > green       2004-06-15 01:02:00 UTC
| > > 
| > >   FreeBSD src repository
| > > 
| > >   Modified files:
| > >     sys/vm               vm_contig.c 
| > >   Log:
| > >   Make contigmalloc() more reliable:
| > 
| > By the way, I'd be interested in specific "contigmalloc() wishlist"
| > items anyone may have at this point.  I think it could stand for a
| > rewrite so it could be a lot more reliable still.  On my system, the
| > contigmalloc() still doesn't succeed if I don't stop any compilations
| > currently in progress, but "totally reliable" isn't something that
| > contigmalloc() was written in mind with.
| > 
| > Peter Wemm expressed concern that contigmalloc() should really be
| > allocating things from the top of usable physical memory.  In addition
| > to just rewriting it so that the page-by-page allocation is done
| > transactionally and getting rid of the ugliness of unneededly forcing
| > out all active and inactive pages possible, are there other major items?
| 
| Separate the physical memory allocation from the virtual address space
| allocation.  Specifically, there should be a function that I'll call
| vm_page_alloc_contig() that returns a pointer to the first of n
| consecutive vm_page's from the vm_page array.  No kernel virtual
| addresses would be allocated by this function.

Yes that would be great for systems that don't have much virtual address 
space available.

Doug A.


More information about the cvs-src mailing list