Subject: Re: kernel map entry merging and PR 24039
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: Matt Thomas <matt@3am-software.com>
List: tech-kern
Date: 02/04/2004 17:06:24
At 05:06 PM 2/4/2004, YAMAMOTO Takashi wrote:
>hi,
>
> > I don't think this shouldn't be solved in uvm.  The solution should be 
> in the
> > pool allocator itself.  Freeing pages should be deferred until either doing
> > a pool_get(PR_WAITOK) or wake up a kthread to do the reclaimation of the
> > pages.  Only then can the pool allocator return pages to uvm and then uvm
> > can proceed  normally to merge/split/whatever the map entries.
>
>pool_put is not only one which has the assumption.
>eg. uvm_km_kmemalloc1, in the case of UVM_KMF_NOWAIT.
>and i guess there're more...

But uvm_km_kmemalloc1 shouldn't be splitting map entries.  It might need to
extend or allocate a new map entry.  But if it can't, then it should fail the
allocation.  So I don't see an issue here.

If things are blocking when they shouldn't be, it's a bug and should
be fixed, not kludged around.

-- 
Matt Thomas                     email: matt@3am-software.com
3am Software Foundry              www: http://3am-software.com/bio/matt/
Cupertino, CA              disclaimer: I avow all knowledge of this message.