From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
To: Conn Clark <clark@esteem.com>
Cc: linuxppc-embedded@ozlabs.org
Subject: Re: CONFIG_PIN_TLB experiments
Date: Wed, 4 May 2005 16:22:38 -0300 [thread overview]
Message-ID: <20050504192238.GA3461@logos.cnet> (raw)
In-Reply-To: <4277BF8F.8040206@esteem.com>
Hi,
On Tue, May 03, 2005 at 11:14:39AM -0700, Conn Clark wrote:
> Marcelo Tosatti wrote:
> >Hi 8xx folks,
>
> <SNIP>
>
> >
> >Actually, CONFIG_PIN_TLB slowdowns the system, as expected (there are only
> >28 usable TLB's instead of 32).
> >
> >
> >v2.6 CONFIG_PIN_TLB:
> >I-TLB userspace misses: 162113
> >I-TLB kernel misses: 135911
> >D-TLB userspace misses: 289452
> >D-TLB kernel misses: 257039
> >
> >v2.6 without CONFIG_PIN_TLB:
> >I-TLB userspace misses: 160828
> >I-TLB kernel misses: 134746
> >D-TLB userspace misses: 253557
> >D-TLB kernel misses: 227383
> >
> >
>
> Considering that the TLB kernel misses are higher with tlb pinning it
> appears as though the pinned TLBs are not marked as valid.
Yep
>
> >The following BDI output shows the pinned, 8MByte data page mapping
> >present,
> >at 0xc0000000.
> >
> >BDI>rds 826
> >SPR 826 : 0x00007f00 32512
> >BDI>rms 792 0x0c001C00
> >BDI>rms 824 1
> >BDI>rds 824
> >SPR 824 : 0xc00000f0 -1073741584
> >BDI>rds 825
> >SPR 825 : 0x00000fe0 4064
> >BDI>rds 826
> >SPR 826 : 0x00007fff 32767 <- "0x00007fff" was 0x00007f00"
> >initially. I tried enabling
> > usermode access without
> > success.
> >
> >There are several 4Kb mappings inside the range covered by this 8Mb TLB
> >entry, for example:
> >
> >BDI>rms 792 0x0c000200
> >BDI>rms 824 1
> >BDI>rds 824
> >SPR 824 : 0xc0224f17 -1071493353
> >BDI>rds 825
> >SPR 825 : 0x002241e0 2245088
> >BDI>rds 826
> >SPR 826 : 0x00007f00 32512
> >
> >And more, without so much detail:
> >SPR 824 : 0xc0224f17 -1071493353
> >SPR 824 : 0xc01fbf17 -1071661289
> >SPR 824 : 0xc0246f17 -1071354089
> >SPR 824 : 0xc023ff17 -1071382761
> >SPR 824 : 0xc7e35f17 - 941400297
> >SPR 824 : 0xc0244f17 -1071362281
> >SPR 824 : 0xc023ef17 -1071386857
> >
> >Note that protection (SPR 826) is exactly the same as the 8Mbyte page
> >protection.
> >Why is the translation mechanism rejection the pinned mappings?
> >
> >Dan, have you ever seen this work? Am I misunderstanding how the pinned
> >entries are supposed to work?
>
> When you load the Mx_EPN of the pinned area is the EV bit being set?
Yep.
"MD_RAM1" (SPR 826) is set:
SPR 826 : 0x00007fff 32767 <- "0x00007fff" was 0x00007f00"
Bits 17 and 18 are set. Their meaning is: "Change bit for DTLB entry" and
"Entry valid flag" respectively.
Bits 19...23 are also set, they represent supervisor access. Note that
bit 23 "supervisor access type" is set: 0 is read-only, 1 is read-write.
so everything looks OK here.
"MD_RAM0":
SPR 825 : 0x00000fe0 4064
Bits 20...26 are set.
20-22: 8Mbyte page set.
23-26: APGI (access protection group in 1's complement) set. It is
zero (1111 in 1's complement).
27: guarded memory not set.
"MD_CAM":
SPR 824 : 0xc00000f0 -1073741584
Bits 24-27 are set.
24-26 is "page size" (111 = 8Mb) and 27 indicates "shared page"
(ASID comparisong disabled).
The 8Mbyte page is used at boot, from "start_here" until "MMU_init()"
gets called...
The manual says, section "9.3 Address Translation"
"When TLB logic detects that a new effective page number (EPN) overlaps
one in the TLB (when taking into account page sizes, subpage validity flags,
user/supervisor state, etc. the new EPN is written and the old one is
invalidated."
I'm trying to boot a kernel which does not create kernel pte's
from 0xc000000 till 0xc080000.
next prev parent reply other threads:[~2005-05-05 15:13 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-02 20:42 CONFIG_PIN_TLB experiments Marcelo Tosatti
2005-05-03 18:14 ` Conn Clark
2005-05-04 19:22 ` Marcelo Tosatti [this message]
2005-05-05 16:10 ` Dan Malek
2005-05-05 17:06 ` Conn Clark
2005-05-05 14:11 ` Marcelo Tosatti
2005-05-03 18:47 ` Dan Malek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050504192238.GA3461@logos.cnet \
--to=marcelo.tosatti@cyclades.com \
--cc=clark@esteem.com \
--cc=linuxppc-embedded@ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.