From: Scott Wood <scottwood@freescale.com>
To: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: dwg@au1.ibm.com, linux-mm@kvack.org, paulus@samba.org,
"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH -V7 09/18] powerpc: Switch 16GB and 16MB explicit hugepages to a different page table format
Date: Thu, 6 Jun 2013 17:42:39 -0500 [thread overview]
Message-ID: <1370558559.32518.4@snotra> (raw)
In-Reply-To: <1367177859-7893-10-git-send-email-aneesh.kumar@linux.vnet.ibm.com> (from aneesh.kumar@linux.vnet.ibm.com on Sun Apr 28 14:37:30 2013)
On 04/28/2013 02:37:30 PM, Aneesh Kumar K.V wrote:
> From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
>=20
> We will be switching PMD_SHIFT to 24 bits to facilitate THP =20
> impmenetation.
> With PMD_SHIFT set to 24, we now have 16MB huge pages allocated at =20
> PGD level.
> That means with 32 bit process we cannot allocate normal pages at
> all, because we cover the entire address space with one pgd entry. =20
> Fix this
> by switching to a new page table format for hugepages. With the new =20
> page table
> format for 16GB and 16MB hugepages we won't allocate hugepage =20
> directory. Instead
> we encode the PTE information directly at the directory level. This =20
> forces 16MB
> hugepage at PMD level. This will also make the page take walk much =20
> simpler later
> when we add the THP support.
>=20
> With the new table format we have 4 cases for pgds and pmds:
> (1) invalid (all zeroes)
> (2) pointer to next table, as normal; bottom 6 bits =3D=3D 0
> (3) leaf pte for huge page, bottom two bits !=3D 00
> (4) hugepd pointer, bottom two bits =3D=3D 00, next 4 bits indicate size =
=20
> of table
>=20
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
> ---
> arch/powerpc/include/asm/page.h | 2 +
> arch/powerpc/include/asm/pgtable.h | 2 +
> arch/powerpc/mm/gup.c | 18 +++-
> arch/powerpc/mm/hugetlbpage.c | 176 =20
> +++++++++++++++++++++++++++++++------
> 4 files changed, 168 insertions(+), 30 deletions(-)
After this patch, on 64-bit book3e (e5500, and thus 4K pages), I see =20
messages like this after exiting a program that uses hugepages =20
(specifically, qemu):
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20
40000001fc221516.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20
40000001fc221516.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20
40000001fc2214d6.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20
40000001fc2214d6.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20
40000001fc221916.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20
40000001fc221916.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20
40000001fc2218d6.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20
40000001fc2218d6.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20
40000001fc221496.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20
40000001fc221496.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20
40000001fc221856.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20
40000001fc221856.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20
40000001fc221816.
-Scott=
WARNING: multiple messages have this Message-ID (diff)
From: Scott Wood <scottwood@freescale.com>
To: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: benh@kernel.crashing.org, paulus@samba.org, dwg@au1.ibm.com,
linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH -V7 09/18] powerpc: Switch 16GB and 16MB explicit hugepages to a different page table format
Date: Thu, 6 Jun 2013 17:42:39 -0500 [thread overview]
Message-ID: <1370558559.32518.4@snotra> (raw)
In-Reply-To: <1367177859-7893-10-git-send-email-aneesh.kumar@linux.vnet.ibm.com> (from aneesh.kumar@linux.vnet.ibm.com on Sun Apr 28 14:37:30 2013)
On 04/28/2013 02:37:30 PM, Aneesh Kumar K.V wrote:
> From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
>
> We will be switching PMD_SHIFT to 24 bits to facilitate THP
> impmenetation.
> With PMD_SHIFT set to 24, we now have 16MB huge pages allocated at
> PGD level.
> That means with 32 bit process we cannot allocate normal pages at
> all, because we cover the entire address space with one pgd entry.
> Fix this
> by switching to a new page table format for hugepages. With the new
> page table
> format for 16GB and 16MB hugepages we won't allocate hugepage
> directory. Instead
> we encode the PTE information directly at the directory level. This
> forces 16MB
> hugepage at PMD level. This will also make the page take walk much
> simpler later
> when we add the THP support.
>
> With the new table format we have 4 cases for pgds and pmds:
> (1) invalid (all zeroes)
> (2) pointer to next table, as normal; bottom 6 bits == 0
> (3) leaf pte for huge page, bottom two bits != 00
> (4) hugepd pointer, bottom two bits == 00, next 4 bits indicate size
> of table
>
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
> ---
> arch/powerpc/include/asm/page.h | 2 +
> arch/powerpc/include/asm/pgtable.h | 2 +
> arch/powerpc/mm/gup.c | 18 +++-
> arch/powerpc/mm/hugetlbpage.c | 176
> +++++++++++++++++++++++++++++++------
> 4 files changed, 168 insertions(+), 30 deletions(-)
After this patch, on 64-bit book3e (e5500, and thus 4K pages), I see
messages like this after exiting a program that uses hugepages
(specifically, qemu):
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd
40000001fc221516.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd
40000001fc221516.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd
40000001fc2214d6.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd
40000001fc2214d6.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd
40000001fc221916.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd
40000001fc221916.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd
40000001fc2218d6.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd
40000001fc2218d6.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd
40000001fc221496.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd
40000001fc221496.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd
40000001fc221856.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd
40000001fc221856.
/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd
40000001fc221816.
-Scott
--
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>
next prev parent reply other threads:[~2013-06-06 22:42 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-28 19:37 [PATCH -V7 00/18] THP support for PPC64 (Patchset 1) Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-28 19:37 ` [PATCH -V7 01/18] mm/THP: HPAGE_SHIFT is not a #define on some arch Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-30 2:21 ` David Gibson
2013-04-30 2:21 ` David Gibson
2013-04-30 2:24 ` David Gibson
2013-04-30 2:24 ` David Gibson
2013-04-30 3:42 ` Aneesh Kumar K.V
2013-04-30 3:42 ` Aneesh Kumar K.V
2013-04-30 5:01 ` David Gibson
2013-04-30 5:01 ` David Gibson
2013-05-03 18:51 ` Aneesh Kumar K.V
2013-05-03 18:51 ` Aneesh Kumar K.V
2013-04-28 19:37 ` [PATCH -V7 02/18] mm/THP: Add pmd args to pgtable deposit and withdraw APIs Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-28 19:37 ` [PATCH -V7 03/18] mm/THP: withdraw the pgtable after pmdp related operations Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-28 19:37 ` [PATCH -V7 04/18] powerpc: Use signed formatting when printing error Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-28 19:37 ` [PATCH -V7 05/18] powerpc: Save DAR and DSISR in pt_regs on MCE Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-28 19:37 ` [PATCH -V7 06/18] powerpc: Don't hard code the size of pte page Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-28 19:37 ` [PATCH -V7 07/18] powerpc: Don't truncate pgd_index wrongly Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-28 19:37 ` [PATCH -V7 08/18] powerpc: New hugepage directory format Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-30 5:16 ` David Gibson
2013-04-30 5:16 ` David Gibson
2013-04-28 19:37 ` [PATCH -V7 09/18] powerpc: Switch 16GB and 16MB explicit hugepages to a different page table format Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-30 5:17 ` David Gibson
2013-04-30 5:17 ` David Gibson
2013-06-06 22:42 ` Scott Wood [this message]
2013-06-06 22:42 ` Scott Wood
2013-06-07 3:55 ` Aneesh Kumar K.V
2013-06-07 3:55 ` Aneesh Kumar K.V
2013-06-07 19:17 ` Scott Wood
2013-06-07 19:17 ` Scott Wood
2013-06-08 16:57 ` Aneesh Kumar K.V
2013-06-08 16:57 ` Aneesh Kumar K.V
2013-06-11 20:53 ` Scott Wood
2013-06-11 20:53 ` Scott Wood
2013-06-11 22:50 ` Scott Wood
2013-06-11 22:50 ` Scott Wood
2013-06-12 6:30 ` Aneesh Kumar K.V
2013-06-12 6:30 ` Aneesh Kumar K.V
2013-04-28 19:37 ` [PATCH -V7 10/18] powerpc: Reduce the PTE_INDEX_SIZE Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-28 19:37 ` [PATCH -V7 11/18] powerpc: Move the pte free routines from common header Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-28 19:37 ` [PATCH -V7 12/18] powerpc: Reduce PTE table memory wastage Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-28 19:37 ` [PATCH -V7 13/18] powerpc: Use encode avpn where we need only avpn values Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-28 19:37 ` [PATCH -V7 14/18] powerpc: Decode the pte-lp-encoding bits correctly Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-28 19:37 ` [PATCH -V7 15/18] powerpc: Fix hpte_decode to use the correct decoding for page sizes Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-28 19:37 ` [PATCH -V7 16/18] powerpc: print both base and actual page size on hash failure Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-28 19:37 ` [PATCH -V7 17/18] powerpc: Print page size info during boot Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-28 19:37 ` [PATCH -V7 18/18] powerpc: Update tlbie/tlbiel as per ISA doc Aneesh Kumar K.V
2013-04-28 19:37 ` Aneesh Kumar K.V
2013-04-30 6:15 ` David Gibson
2013-04-30 6:15 ` David Gibson
2013-04-30 17:21 ` Aneesh Kumar K.V
2013-04-30 17:21 ` Aneesh Kumar K.V
2013-05-01 5:26 ` David Gibson
2013-05-01 5:26 ` David Gibson
2013-05-01 7:47 ` Aneesh Kumar K.V
2013-05-01 7:47 ` Aneesh Kumar K.V
2013-05-01 7:52 ` Simon Jeons
2013-05-01 7:52 ` Simon Jeons
2013-05-01 11:36 ` David Gibson
2013-05-01 11:36 ` David Gibson
2013-05-02 5:23 ` David Gibson
2013-05-02 5:23 ` David Gibson
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=1370558559.32518.4@snotra \
--to=scottwood@freescale.com \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=dwg@au1.ibm.com \
--cc=linux-mm@kvack.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=paulus@samba.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.