On Tue, Oct 23, 2012 at 02:36:07PM +0200, Svatopluk Kraus wrote: > Hi, > > I'm just syncing my ARM pmap code (base on i386 one) with current > i386 pmap code. It looks that sched_pin() is missing after successful > rw_try_wlock() in pmap_protect().
Yes, you are right, I think. The following patch takes care of it. diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c index ac087f6..b9033da 100644 --- a/sys/i386/i386/pmap.c +++ b/sys/i386/i386/pmap.c @@ -3221,6 +3221,7 @@ resume: PMAP_UNLOCK(pmap); goto resume; } + sched_pin(); } if (!pmap_demote_pde(pmap, &pmap->pm_pdir[pdirindex], sva)) {
pgp9GaPUa2YVd.pgp
Description: PGP signature