Date: Wed, 15 Aug 2018 08:45:04 +0000 From: Alexey Dokuchaev <danfe@FreeBSD.org> To: Konstantin Belousov <kib@FreeBSD.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r337773 - in head/sys/amd64: amd64 include Message-ID: <20180815084503.GA96451@FreeBSD.org> In-Reply-To: <201808141637.w7EGbFpZ087559@repo.freebsd.org> References: <201808141637.w7EGbFpZ087559@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Aug 14, 2018 at 04:37:15PM +0000, Konstantin Belousov wrote: > New Revision: 337773 > URL: https://svnweb.freebsd.org/changeset/base/337773 > > Log: > amd64: ensure that curproc->p_vmspace pmap always matches PCPU > curpmap. > > When performing context switch on a machine without PCID, if current > %cr3 equals to the new pmap %cr3, which is typical for kernel_pmap > vs. kernel process, I overlooked to update PCPU curpmap value. Remove > check for %cr3 not equal to pm_cr3 for doing the update. It is > believed that this case cannot happen at all, due to other changes in > this revision. > ... > - } else if (cr3 != pmap->pm_cr3) { > + } else { > load_cr3(pmap->pm_cr3); If this case cannot happen at all, would it make sense to assert it? ./danfe
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180815084503.GA96451>