diff for duplicates of <1370558559.32518.4@snotra> diff --git a/a/1.txt b/N1/1.txt index 0286952..0a2b97c 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,69 +1,73 @@ 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 +> +> 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 =20 +> 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. =20 +> 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 =20 +> 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 =20 +> format for 16GB and 16MB hugepages we won't allocate hugepage > directory. Instead -> we encode the PTE information directly at the directory level. This =20 +> 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 =20 +> hugepage at PMD level. This will also make the page take walk much > 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 +> (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 ->=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 +> 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 =20 -messages like this after exiting a program that uses hugepages =20 +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 =20 +/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 =20 +/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 =20 +/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 =20 +/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 =20 +/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 =20 +/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 =20 +/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 =20 +/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 =20 +/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 =20 +/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 =20 +/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 =20 +/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 =20 +/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd 40000001fc221816. --Scott= +-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> diff --git a/a/content_digest b/N1/content_digest index 67b2325..e7ea81e 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -4,81 +4,85 @@ "Subject\0Re: [PATCH -V7 09/18] powerpc: Switch 16GB and 16MB explicit hugepages to a different page table format\0" "Date\0Thu, 6 Jun 2013 17:42:39 -0500\0" "To\0Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>\0" - "Cc\0dwg@au1.ibm.com" - linux-mm@kvack.org + "Cc\0benh@kernel.crashing.org" paulus@samba.org - Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> + dwg@au1.ibm.com + linux-mm@kvack.org " linuxppc-dev@lists.ozlabs.org\0" "\00:1\0" "b\0" "On 04/28/2013 02:37:30 PM, Aneesh Kumar K.V wrote:\n" "> From: \"Aneesh Kumar K.V\" <aneesh.kumar@linux.vnet.ibm.com>\n" - ">=20\n" - "> We will be switching PMD_SHIFT to 24 bits to facilitate THP =20\n" + "> \n" + "> We will be switching PMD_SHIFT to 24 bits to facilitate THP \n" "> impmenetation.\n" - "> With PMD_SHIFT set to 24, we now have 16MB huge pages allocated at =20\n" + "> With PMD_SHIFT set to 24, we now have 16MB huge pages allocated at \n" "> PGD level.\n" "> That means with 32 bit process we cannot allocate normal pages at\n" - "> all, because we cover the entire address space with one pgd entry. =20\n" + "> all, because we cover the entire address space with one pgd entry. \n" "> Fix this\n" - "> by switching to a new page table format for hugepages. With the new =20\n" + "> by switching to a new page table format for hugepages. With the new \n" "> page table\n" - "> format for 16GB and 16MB hugepages we won't allocate hugepage =20\n" + "> format for 16GB and 16MB hugepages we won't allocate hugepage \n" "> directory. Instead\n" - "> we encode the PTE information directly at the directory level. This =20\n" + "> we encode the PTE information directly at the directory level. This \n" "> forces 16MB\n" - "> hugepage at PMD level. This will also make the page take walk much =20\n" + "> hugepage at PMD level. This will also make the page take walk much \n" "> simpler later\n" "> when we add the THP support.\n" - ">=20\n" + "> \n" "> With the new table format we have 4 cases for pgds and pmds:\n" "> (1) invalid (all zeroes)\n" - "> (2) pointer to next table, as normal; bottom 6 bits =3D=3D 0\n" - "> (3) leaf pte for huge page, bottom two bits !=3D 00\n" - "> (4) hugepd pointer, bottom two bits =3D=3D 00, next 4 bits indicate size =\n" - "=20\n" + "> (2) pointer to next table, as normal; bottom 6 bits == 0\n" + "> (3) leaf pte for huge page, bottom two bits != 00\n" + "> (4) hugepd pointer, bottom two bits == 00, next 4 bits indicate size \n" "> of table\n" - ">=20\n" + "> \n" "> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>\n" "> ---\n" "> arch/powerpc/include/asm/page.h | 2 +\n" "> arch/powerpc/include/asm/pgtable.h | 2 +\n" "> arch/powerpc/mm/gup.c | 18 +++-\n" - "> arch/powerpc/mm/hugetlbpage.c | 176 =20\n" + "> arch/powerpc/mm/hugetlbpage.c | 176 \n" "> +++++++++++++++++++++++++++++++------\n" "> 4 files changed, 168 insertions(+), 30 deletions(-)\n" "\n" - "After this patch, on 64-bit book3e (e5500, and thus 4K pages), I see =20\n" - "messages like this after exiting a program that uses hugepages =20\n" + "After this patch, on 64-bit book3e (e5500, and thus 4K pages), I see \n" + "messages like this after exiting a program that uses hugepages \n" "(specifically, qemu):\n" "\n" - "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20\n" + "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd \n" "40000001fc221516.\n" - "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20\n" + "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd \n" "40000001fc221516.\n" - "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20\n" + "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd \n" "40000001fc2214d6.\n" - "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20\n" + "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd \n" "40000001fc2214d6.\n" - "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20\n" + "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd \n" "40000001fc221916.\n" - "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20\n" + "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd \n" "40000001fc221916.\n" - "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20\n" + "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd \n" "40000001fc2218d6.\n" - "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20\n" + "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd \n" "40000001fc2218d6.\n" - "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20\n" + "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd \n" "40000001fc221496.\n" - "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20\n" + "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd \n" "40000001fc221496.\n" - "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20\n" + "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd \n" "40000001fc221856.\n" - "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20\n" + "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd \n" "40000001fc221856.\n" - "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd =20\n" + "/home/scott/fsl/git/linux/upstream/mm/memory.c:407: bad pmd \n" "40000001fc221816.\n" "\n" - -Scott= + "-Scott\n" + "--\n" + "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n" + "the body to majordomo@kvack.org. For more info on Linux MM,\n" + "see: http://www.linux-mm.org/ .\n" + "Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>" -ea1f8f2d2f685373823bab26b9328dca780725c4648253bbf09479aad819fdad +3bb5b18141ac8b69d59d4dd3e5891984b81ac0bde9a226bcb59da0c01d1beb9e
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.