linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] Huge pages for short descriptors on ARM
@ 2014-02-18 15:27 Steve Capper
  2014-02-18 15:27 ` [PATCH 1/5] mm: hugetlb: Introduce huge_pte_{page,present,young} Steve Capper
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Steve Capper @ 2014-02-18 15:27 UTC (permalink / raw)
  To: linux-arm-kernel, linux, linux-mm
  Cc: will.deacon, catalin.marinas, arnd, dsaxena, robherring2,
	Steve Capper

Hello,
This series brings HugeTLB pages and Transparent Huge Pages (THP) to
ARM on short descriptors.

We use a pair of 1MB sections to represent a 2MB huge page. Both
HugeTLB and THP entries are represented by PMDs with the same bit
layout.

The short descriptor page table manipulation code on ARM makes a
distinction between Linux and hardware ptes and performs the necessary
translation in the assembler pte setter functions. The huge page code
instead manipulates the hardware entries directly.

There is one small bit of translation that takes place to populate an
appropriate pgprot_t value for the VMA containing the huge page. Once
we have that pgprot_t, we can manipulate huge ptes/pmds as normal with
the bit and modify funcs.

In order to be able to manipulate huge ptes directly, I've introduced
three new manipulation functions: huge_pte_page, huge_present and
huge_pte_young. If undefined, these will default to the standard pte
analogues.

I have tested this series on an Arndale board running 3.14-rc3. The
libhugetlbfs checks, LTP and some custom THP PROT_NONE tests were used
to test this series.

Since the RFC in December, I have rebased the code against 3.14-rc3 and
tidied up the code.

Cheers,
--
Steve

Steve Capper (5):
  mm: hugetlb: Introduce huge_pte_{page,present,young}
  arm: mm: Adjust the parameters for __sync_icache_dcache
  arm: mm: Make mmu_gather aware of huge pages
  arm: mm: HugeTLB support for non-LPAE systems
  arm: mm: Add Transparent HugePage support for non-LPAE

 arch/arm/Kconfig                      |   4 +-
 arch/arm/include/asm/hugetlb-2level.h | 121 +++++++++++++++++++++++++++++++
 arch/arm/include/asm/hugetlb-3level.h |   6 ++
 arch/arm/include/asm/hugetlb.h        |  10 +--
 arch/arm/include/asm/pgtable-2level.h | 133 +++++++++++++++++++++++++++++++++-
 arch/arm/include/asm/pgtable-3level.h |   3 +-
 arch/arm/include/asm/pgtable.h        |   9 +--
 arch/arm/include/asm/tlb.h            |  14 +++-
 arch/arm/kernel/head.S                |  10 ++-
 arch/arm/mm/fault.c                   |  13 ----
 arch/arm/mm/flush.c                   |   9 +--
 arch/arm/mm/fsr-2level.c              |   4 +-
 arch/arm/mm/hugetlbpage.c             |   2 +-
 arch/arm/mm/mmu.c                     |  51 +++++++++++++
 include/linux/hugetlb.h               |  12 +++
 mm/hugetlb.c                          |  22 +++---
 16 files changed, 370 insertions(+), 53 deletions(-)
 create mode 100644 arch/arm/include/asm/hugetlb-2level.h

-- 
1.8.1.4

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-03-04  8:26 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-18 15:27 [PATCH 0/5] Huge pages for short descriptors on ARM Steve Capper
2014-02-18 15:27 ` [PATCH 1/5] mm: hugetlb: Introduce huge_pte_{page,present,young} Steve Capper
2014-03-03  8:01   ` Steve Capper
2014-03-03 18:07   ` Naoya Horiguchi
2014-03-03 18:07   ` Naoya Horiguchi
     [not found]   ` <5314c4e5.d0128c0a.2ad9.ffffeb8dSMTPIN_ADDED_BROKEN@mx.google.com>
2014-03-04  8:26     ` Steve Capper
2014-02-18 15:27 ` [PATCH 2/5] arm: mm: Adjust the parameters for __sync_icache_dcache Steve Capper
2014-02-18 15:27 ` [PATCH 3/5] arm: mm: Make mmu_gather aware of huge pages Steve Capper
2014-02-18 15:27 ` [PATCH 4/5] arm: mm: HugeTLB support for non-LPAE systems Steve Capper
2014-02-18 15:27 ` [PATCH 5/5] arm: mm: Add Transparent HugePage support for non-LPAE Steve Capper

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