Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Dec 2013 22:13:15 +0200
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Alan Cox <alc@rice.edu>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, Marcel Moolenaar <marcel@FreeBSD.org>, src-committers@freebsd.org, Nathan Whitehorn <nwhitehorn@freebsd.org>
Subject:   Re: svn commit: r259908 - head/sys/vm
Message-ID:  <20131229201315.GW59496@kib.kiev.ua>
In-Reply-To: <52C074CA.4040208@rice.edu>
References:  <201312260546.rBQ5kAoJ009798@svn.freebsd.org> <52BF6699.1040006@freebsd.org> <52BF7195.2070606@rice.edu> <20131229090053.GU59496@kib.kiev.ua> <52C074CA.4040208@rice.edu>

next in thread | previous in thread | raw e-mail | index | archive | help

--oBzgnH5Lm+6YPTsS
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Dec 29, 2013 at 01:15:22PM -0600, Alan Cox wrote:
> On 12/29/2013 03:00, Konstantin Belousov wrote:
> > BTW, I do not easily see why the current amd64 implementation needs
> > the pmap being current.  I do not see accesses to recursive page table
> > mappings in the code.
>=20
> The amd64 implementation doesn't load and clear the PTEs atomically, so
> the dirty bit could be set by another processor after the PTE was loaded
> but before it was cleared.

But then, the check at the start of the function is not sufficient.
Other thread in the process or rforked child could still operate on
the address space.

I think it is mostly enough since pmap_remove_pages() is (was) only
called for the last reference on the vmspace going away, so accidentally
the check is good enough. But IMO it definitely does not reflect the
cause for the restriction.

--oBzgnH5Lm+6YPTsS
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQIcBAEBAgAGBQJSwIJaAAoJEJDCuSvBvK1Bt1cP/3zyVhLdCsmgNqETjYiyRs0o
WmHTAfK7pbIIDtbXceShy5c0QBrDAAhaSo+iSLso95xMdLw2nxosC17HmUiw3q4W
KF8HZnQFM3xzw+NX88HEY7j8n73g++FhrWCC8cIfwEJR1j6Z1MTxIX1B11MjHXNl
a3LjBKpI+gXR5O+h4tsSi7eYBYjazR1ZRfVocqUnKtpG3HkDcao6p2w9tgN+G9Oc
yNsI056WvZ5SxGkTBqJ9qtTh0WWYmc9JWPx2W/ENzoTHlhnrkTNnZ6Glc7ZpVvXf
uspAC1tOT4klLG44bjBmSAkTXaTQYNukHwagu3SwFS5OXiHxJn+9Dqvx9UjncU/e
aLyEfdVbC1VKYotvgIGQUiM+1mv/ROCfCQzPgvOpTWbYx0YFtNpSMzc+vSRfzR+D
CjdCBq/3Tv77V7935uyMKtHGs6eSTk7Lh6wZ2H5G39eOuDwrc1azHkNZrIN2DCLe
PN6FMOzKQrmYWShMMk+f99Ef6OOAGBs74RtTYiguJet/d6pMbPyuiYnbAjlaAEiK
CoYLE0nByhmAeCEA3Ejikvlr/IFJznxOcP9NOjKXsRXo4RndSeQrg90rC20pA+An
D+exNYAp+WZGQxS5eDiS0cF8HH6ZTXFiUbsKF8k+erlx+SetJvuRsbK/XGpGAz/1
68zShwO67C/Eaajivc+2
=+AUq
-----END PGP SIGNATURE-----

--oBzgnH5Lm+6YPTsS--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131229201315.GW59496>