Subject: Re: CVS commit: syssrc/sys/arch/arm/arm32
To: Ben Harris <bjh21@netbsd.org>
From: Richard Earnshaw <rearnsha@arm.com>
List: tech-kern
Date: 10/18/2001 19:14:31
> In article <200110181751.SAA06344@cam-mail2.cambridge.arm.com> you write:
> >Also, note one of the other bugs I fixed today; pmap_collect isn't told 
> >(and as far as I can see) has no way of establishing if the pmap is shared 
> >with another process (created by vfork); unmapping the vectors page (which 
> >would be necessary before we could release the L1 pt) if there is another 
> >process sharing the L1 pt is highly detrimental to the health of the 
> >system.
> 
> pmap_activate() should be able to notice a pmap_collect()ed pmap and undo
> the action as necessary, shouldn't it?

But that doesn't solve the critical problem that for a given pmap we can't 
tell if the pmap is physically shared with another process (to know this, 
you need to know the proc it is part of); if it is, and we remove the 
page0 entry, then we loose the whole system.

R.