tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Deadlock on fragmented memory?



On Thu, Oct 19, 2017 at 03:18:44PM +0000, Taylor R Campbell wrote:
> > Date: Thu, 19 Oct 2017 14:49:24 +0000
> > From: Taylor R Campbell <campbell+netbsd-tech-kern%mumble.net@localhost>
> > 
> > Attached is a patch that attempts to restore the original behaviour of
> > carving out enough KVA on boot, by setting the exec_pool low-water
> > mark to be the same as the hard limit.
> 
> On reflection, this patch has the downside of always reserving 4 MB of
> RAM up front, which the original exec_map approach did not.  Attached
> is another patch that reintroduces exec_map (but in MI code, not a
> copy of it in all MD code) and pool-allocates from that, without a
> low-water mark.  Compile-tested only so far.

this latest patch sounds like a definite improvement to me.

as I recall, the original pre-pool exec_map code would free the
physical args pages as part of freeing the kernel virtual space...
if we're still using a pool here, will the pool cache all this?
it would be nice to avoid ever paging exec args pages out to swap space.
maybe we could mark the execargs pages as clean before freeing the
execargs mapping back to the pool?  this is a minor issue compared to
the current problem, I'd say proceed with your current patch for now
and we can add any further refinements later.

-Chuck


Home | Main Index | Thread Index | Old Index