Skip site navigation (1)Skip section navigation (2)
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>