Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Jun 2004 22:22:42 -0500
From:      Alan Cox <alc@cs.rice.edu>
To:        Brian Feldman <green@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/vm vm_contig.c
Message-ID:  <20040615032242.GD6753@cs.rice.edu>
In-Reply-To: <20040615024536.GA54698@green.homeunix.org>
References:  <200406150102.i5F120XG078301@repoman.freebsd.org> <20040615024536.GA54698@green.homeunix.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

Regards,
Alan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040615032242.GD6753>