public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Dan Malek <dan@embeddededge.com>
To: "David S. Miller" <davem@davemloft.net>
Cc: akpm@osdl.org, marcelo.tosatti@cyclades.com,
	linux-kernel@vger.kernel.org
Subject: Re: increased translation cache footprint in v2.6
Date: Mon, 27 Jun 2005 11:57:51 -0400	[thread overview]
Message-ID: <705a40397bb8383399109debccaebaa3@embeddededge.com> (raw)
In-Reply-To: <20050626.175347.104031526.davem@davemloft.net>


On Jun 26, 2005, at 8:53 PM, David S. Miller wrote:

> So that's 7 instructions, 2 instruction cache lines, with no main
> memory accesses.  Surely the PPC folks can do something similar. :-)

It's not that easy on the 8xx.  It actually implements a two level
hardware page table.  Basically, I want to load the PMD into the
first level of the hardware, then the PTE into the second level 
register.
We have to load both registers with some information, but I can't
get the control bits organized in the pmd/pte to do this easily.
There is also a fair amount of hardware assist in the MMU for
initializing these registers and providing page table offset computation
that we need to utilize.

With the right page table structure the tlb miss handler is very 
trivial.
Without it, we have to spend lots of time building the entries 
dynamically.
Because of the configurability of the address space among text, data,
IO, and uncached mapping, we simply can't test an address bit and
build a new TLB entry.  So, I want to use the existing page tables to
represent the spaces, then have the tlb miss handler just use that
information.  I'll take a closer look at the kernel/user separate code
paths again.

Thanks.

	-- Dan


  reply	other threads:[~2005-06-27 16:07 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-26 17:23 increased translation cache footprint in v2.6 Marcelo Tosatti
2005-06-26 23:42 ` Paul Mackerras
2005-06-26 18:31   ` Marcelo Tosatti
2005-06-26 23:49 ` Andrew Morton
2005-06-26 18:52   ` Marcelo Tosatti
2005-06-27  0:33     ` David S. Miller
2005-06-26 19:09       ` Marcelo Tosatti
2005-06-27  0:53         ` David S. Miller
2005-06-27 15:57           ` Dan Malek [this message]
2005-06-27 19:50             ` David S. Miller
2005-06-27 20:35               ` Dan Malek
2005-06-28  6:18                 ` Benjamin Herrenschmidt
2005-06-28 13:42                   ` Dan Malek
2005-06-27 15:46         ` Dan Malek
2005-06-28  6:21           ` Benjamin Herrenschmidt
2005-06-28 13:49             ` Dan Malek
2005-06-27  1:55       ` Benjamin Herrenschmidt
  -- strict thread matches above, loose matches on Subject: below --
2005-06-27 19:04 Al Boldi

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=705a40397bb8383399109debccaebaa3@embeddededge.com \
    --to=dan@embeddededge.com \
    --cc=akpm@osdl.org \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo.tosatti@cyclades.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox