Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 May 2003 10:25:37 -0400 (EDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        Heiko Schaefer <hschaefer@fto.de>
Subject:   Re: 5.1-RELEASE TODO
Message-ID:  <XFMail.20030514102537.jhb@FreeBSD.org>
In-Reply-To: <3EC1CBC8.E263A9EF@mindspring.com>

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

On 14-May-2003 Terry Lambert wrote:
> The DISABLE_PG_G, as I said in a previous posting, works around
> an order of operation problem that needs to clear PG in %CR0
> while it does it's thing, after which there's no problem with
> enabling it.  See "IA-32 Intel Architecture Software Developer's
> Manual, Volume 3: System Programming Guide for more details on
> PG_G, the PG bit in %CR0, and the effect on TLB flushing; look
> specifically at Section 10.9 of "Memory Cache Control", which is
> entitled "Invalidating The TRanslation Lookaside Buffers".
> 
> Specifically, writing %CR3 doesn't invalidate pages with PG_G
> set on them if PG is set in %CR0.

Umm, Terry, that's the whole point of PGE.  You don't flush entries
from the TLB that are "global", i.e. shared among all processes and
don't change.  "Duh".  Basically your suggestion would be an
expensive hack equivalent to DISABLE_PG_G.

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/



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