linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: schwidefsky@de.ibm.com
Cc: linux-mm@kvack.org, linux-arch@vger.kernel.org,
	linux-s390@vger.kernel.org, borntraeger@de.ibm.com
Subject: Re: [patch 2/6] CONFIG_HIGHPTE vs. sub-page page tables.
Date: Fri, 26 Oct 2007 18:00:17 +1000	[thread overview]
Message-ID: <1193385617.13638.3.camel@pasglop> (raw)
In-Reply-To: <1193384578.31831.6.camel@localhost>

On Fri, 2007-10-26 at 09:42 +0200, Martin Schwidefsky wrote:
> On Fri, 2007-10-26 at 06:47 +1000, Benjamin Herrenschmidt wrote:
> > > Solution: The only solution I found to this dilemma is a new typedef:
> > > a pgtable_t. For s390 pgtable_t will be a (pte *) - to be introduced
> > > with a later patch. For everybody else it will be a (struct page *).
> > > The additional problem with the initialization of the ptl lock and the
> > > NR_PAGETABLE accounting is solved with a constructor pgtable_page_ctor
> > > and a destructor pgtable_page_dtor. The page table allocation and free
> > > functions need to call these two whenever a page table page is allocated
> > > or freed. pmd_populate will get a pgtable_t instead of a struct page
> > > pointer. To get the pgtable_t back from a pmd entry that has been
> > > installed with pmd_populate a new function pmd_pgtable is added. It
> > > replaces the pmd_page call in free_pte_range and apply_to_pte_range.
> >
> > Interesting. That means I don't need to have a PTE page to be a struct
> > page anymore ? I can have good use for that on powerpc as well... 
> 
> That would be good news. I'm curious, can you elaborate on what the use
> case is?

When using 64K pages, we use 32K of PTEs and 32K of "extension". The
extension thing is used when using HW 4K pages, to keep track of the
subpages. On setups where that isn't needed, we can save memory by
allocating half pages...

Ben.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2007-10-26  8:00 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-25 18:15 [patch 0/6] s390 page tables on steroids Martin Schwidefsky
2007-10-25 18:15 ` [patch 1/6] add mm argument to pte/pmd/pud/pgd_free Martin Schwidefsky, Benjamin Herrenschmidt, Martin Schwidefsky
2007-10-25 18:15 ` [patch 2/6] CONFIG_HIGHPTE vs. sub-page page tables Martin Schwidefsky, Martin Schwidefsky
2007-10-25 20:47   ` Benjamin Herrenschmidt
2007-10-26  7:42     ` Martin Schwidefsky
2007-10-26  8:00       ` Benjamin Herrenschmidt [this message]
2007-10-26  8:08         ` Martin Schwidefsky
2007-10-26  8:06     ` Martin Schwidefsky
2007-10-25 18:15 ` [patch 3/6] arch_update_pgd call Martin Schwidefsky, Martin Schwidefsky
2007-10-25 20:48   ` Benjamin Herrenschmidt
2007-10-25 22:49     ` Benjamin Herrenschmidt
2007-10-26  7:40     ` Martin Schwidefsky
2007-10-26  7:59       ` Benjamin Herrenschmidt
2007-10-26  8:22         ` Martin Schwidefsky
2007-10-26 11:28           ` Benjamin Herrenschmidt
2007-10-25 18:15 ` [patch 4/6] s390: 1K/2K page table pages Martin Schwidefsky, Martin Schwidefsky
2007-10-25 18:15 ` [patch 5/6] s390: Add four level page tables for CONFIG_64BIT=y Martin Schwidefsky, Martin Schwidefsky
2007-10-25 18:15 ` [patch 6/6] s390: dynamic page tables Martin Schwidefsky, Martin Schwidefsky

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=1193385617.13638.3.camel@pasglop \
    --to=benh@kernel.crashing.org \
    --cc=borntraeger@de.ibm.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=schwidefsky@de.ibm.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;
as well as URLs for NNTP newsgroup(s).