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>