Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Jul 2006 08:54:42 -0400
From:      Chuck Swiger <cswiger@mac.com>
To:        "Michael C. Wu" <keichii@freebsd.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: amd64 page fault situation
Message-ID:  <44C61492.6020808@mac.com>
In-Reply-To: <44C5BBB4.8080102@freebsd.org>
References:  <44C5BBB4.8080102@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Michael C. Wu wrote:
> Suppose that there is an op code on amd64 that calls for a 64bit word.
> This word crosses a page boundary. i.e. The first byte or 2 of the word
> is on the last part of the page, and the second part of the word
> is on the next page.
> 
> Do we just have a TLB miss or page miss?

If the second part of the opcode is in a page which is resident in physical 
RAM & present in the TLB, neither.  Otherwise the system will query the TLB, 
and if it doesn't find an entry, it will then scan the page tables.  If the 
entry is found, the CPU will load that entry into the TLB and retry the 
instruction.

If not, that becomes a page fault and the system will have to read in the 
requested frame of memory from secondary storage and retry the opcode...

-- 
-Chuck



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