All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Martin Schwidefsky <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 06:47:00 +1000	[thread overview]
Message-ID: <1193345221.7018.18.camel@pasglop> (raw)
In-Reply-To: <20071025181901.212545095@de.ibm.com>


> 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.
> 
> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
> ---

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... 

Cheers,
Ben.



WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Martin Schwidefsky <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 06:47:00 +1000	[thread overview]
Message-ID: <1193345221.7018.18.camel@pasglop> (raw)
In-Reply-To: <20071025181901.212545095@de.ibm.com>

> 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.
> 
> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
> ---

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... 

Cheers,
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-25 20:47 UTC|newest]

Thread overview: 36+ 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 ` Martin Schwidefsky
2007-10-25 18:15 ` [patch 1/6] add mm argument to pte/pmd/pud/pgd_free Martin Schwidefsky
2007-10-25 18:15   ` Martin Schwidefsky, Benjamin Herrenschmidt, Martin Schwidefsky
2007-10-25 18:15 ` [patch 2/6] CONFIG_HIGHPTE vs. sub-page page tables Martin Schwidefsky
2007-10-25 18:15   ` Martin Schwidefsky, Martin Schwidefsky
2007-10-25 20:47   ` Benjamin Herrenschmidt [this message]
2007-10-25 20:47     ` Benjamin Herrenschmidt
2007-10-26  7:42     ` Martin Schwidefsky
2007-10-26  7:42       ` Martin Schwidefsky
2007-10-26  8:00       ` Benjamin Herrenschmidt
2007-10-26  8:00         ` Benjamin Herrenschmidt
2007-10-26  8:08         ` Martin Schwidefsky
2007-10-26  8:08           ` Martin Schwidefsky
2007-10-26  8:06     ` Martin Schwidefsky
2007-10-26  8:06       ` Martin Schwidefsky
2007-10-25 18:15 ` [patch 3/6] arch_update_pgd call Martin Schwidefsky
2007-10-25 18:15   ` Martin Schwidefsky, Martin Schwidefsky
2007-10-25 20:48   ` Benjamin Herrenschmidt
2007-10-25 20:48     ` Benjamin Herrenschmidt
2007-10-25 22:49     ` Benjamin Herrenschmidt
2007-10-25 22:49       ` Benjamin Herrenschmidt
2007-10-26  7:40     ` Martin Schwidefsky
2007-10-26  7:40       ` Martin Schwidefsky
2007-10-26  7:59       ` Benjamin Herrenschmidt
2007-10-26  7:59         ` Benjamin Herrenschmidt
2007-10-26  8:22         ` Martin Schwidefsky
2007-10-26  8:22           ` Martin Schwidefsky
2007-10-26 11:28           ` Benjamin Herrenschmidt
2007-10-26 11:28             ` Benjamin Herrenschmidt
2007-10-25 18:15 ` [patch 4/6] s390: 1K/2K page table pages Martin Schwidefsky
2007-10-25 18:15   ` Martin Schwidefsky, Martin Schwidefsky
2007-10-25 18:15 ` [patch 5/6] s390: Add four level page tables for CONFIG_64BIT=y Martin Schwidefsky
2007-10-25 18:15   ` Martin Schwidefsky, Martin Schwidefsky
2007-10-25 18:15 ` [patch 6/6] s390: dynamic page tables Martin Schwidefsky
2007-10-25 18:15   ` 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=1193345221.7018.18.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 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.