cvs commit: src/sys/vm vm_contig.c

Alan Cox alc at
Mon Jun 14 20:22:47 PDT 2004

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.


More information about the cvs-all mailing list