i386 pmap - missing sched_pin()?

Konstantin Belousov kostikbel at gmail.com
Tue Oct 23 13:14:59 UTC 2012


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)) {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20121023/33883d2d/attachment.sig>


More information about the freebsd-current mailing list