Date: Tue, 23 Oct 2012 16:14:50 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Svatopluk Kraus <onwahe@gmail.com> Cc: freebsd-current@freebsd.org, Alan Cox <alc@rice.edu> Subject: Re: i386 pmap - missing sched_pin()? Message-ID: <20121023131450.GU35915@deviant.kiev.zoral.com.ua> In-Reply-To: <CAFHCsPXNnm9c1FL=9%2B2k6X6O1qfRQPRVybueM5xwdbdvONj1jg@mail.gmail.com> References: <CAFHCsPXNnm9c1FL=9%2B2k6X6O1qfRQPRVybueM5xwdbdvONj1jg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--pdpX56ILVjuiN9xp Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Oct 23, 2012 at 02:36:07PM +0200, Svatopluk Kraus wrote: > Hi, >=20 > 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)) { --pdpX56ILVjuiN9xp Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (FreeBSD) iEYEARECAAYFAlCGmEoACgkQC3+MBN1Mb4jyCwCfX+NZhhcWOuP9mBJXcj76r5re WksAn20ziOLCTOwDNEwFEHivqEdjpZsJ =Zy23 -----END PGP SIGNATURE----- --pdpX56ILVjuiN9xp--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121023131450.GU35915>