Re: 5.1-RELEASE TODO

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Wed, 14 May 2003 10:25:37 -0400 (EDT)
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_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/
Received on Wed May 14 2003 - 05:25:33 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:08 UTC