Re: Use km_alloc instead of the single page allocator

2011-04-05 Thread Ariane van der Steldt
On Wed, Apr 06, 2011 at 12:12:35AM +0600, Anton Maksimenkov wrote: > 2011/4/5 Anton Maksimenkov : > > I have some idea related to allocator for (! __HAVE_PMAP_DIRECT) case. > ... > > My idea is how to resolve that loop by another way. > > We must keep track the number of free kentries. And when we

Re: Use km_alloc instead of the single page allocator

2011-04-05 Thread Anton Maksimenkov
2011/4/5 Anton Maksimenkov : > I have some idea related to allocator for (! __HAVE_PMAP_DIRECT) case. ... > My idea is how to resolve that loop by another way. > We must keep track the number of free kentries. And when we see, in > uvm_mapent_alloc(), that there is only 1 kentry remains then we mus

Re: Use km_alloc instead of the single page allocator

2011-04-05 Thread Artur Grabowski
On Tue, Apr 5, 2011 at 8:05 AM, Anton Maksimenkov wrote: > That is why kmthread exists? No, but it's a nice side effect that we can use it to resolve the static kentry problem. The reason for kmthread is that we want to reduce the use of kmem_map since it has problems with locking and recursion

Re: Use km_alloc instead of the single page allocator

2011-04-05 Thread Anton Maksimenkov
2011/4/5 Artur Grabowski : > - Use km_alloc for all backend allocations in pools. > - Use km_alloc for the emergmency kentry allocations in uvm_mapent_alloc > - Garbage collect uvm_km_getpage, uvm_km_getpage_pla and uvm_km_putpage I have some idea related to allocator for (! __HAVE_PMAP_DIRECT)

Re: Use km_alloc instead of the single page allocator

2011-04-04 Thread Ariane van der Steldt
On Mon, Apr 04, 2011 at 03:54:32PM -0600, Artur Grabowski wrote: > First proper use of the new km_alloc. > > - Change pool constraints to use kmem_pa_mode instead of uvm_constraint_range > - Use km_alloc for all backend allocations in pools. > - Use km_alloc for the emergmency kentry allocation

Use km_alloc instead of the single page allocator

2011-04-04 Thread Artur Grabowski
First proper use of the new km_alloc. - Change pool constraints to use kmem_pa_mode instead of uvm_constraint_range - Use km_alloc for all backend allocations in pools. - Use km_alloc for the emergmency kentry allocations in uvm_mapent_alloc - Garbage collect uvm_km_getpage, uvm_km_getpage_pla