linux/arch/sparc/mm
Nitin Gupta c7d9f77d33 sparc64: Multi-page size support
Add support for using multiple hugepage sizes simultaneously
on mainline. Currently, support for 256M has been added which
can be used along with 8M pages.

Page tables are set like this (e.g. for 256M page):
    VA + (8M * x) -> PA + (8M * x) (sz bit = 256M) where x in [0, 31]

and TSB is set similarly:
    VA + (4M * x) -> PA + (4M * x) (sz bit = 256M) where x in [0, 63]

- Testing

Tested on Sonoma (which supports 256M pages) by running stream
benchmark instances in parallel: one instance uses 8M pages and
another uses 256M pages, consuming 48G each.

Boot params used:

default_hugepagesz=256M hugepagesz=256M hugepages=300 hugepagesz=8M
hugepages=10000

Signed-off-by: Nitin Gupta <nitin.m.gupta@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-02-23 08:30:28 -08:00
..
extable.c sparc: migrate exception table users onto extable.h 2017-01-26 10:58:13 -05:00
fault_32.c mm: do not pass mm_struct into handle_mm_fault 2016-07-26 16:19:19 -07:00
fault_64.c sparc: migrate exception table users off module.h and onto extable.h 2016-10-06 01:42:30 -04:00
gup.c mm: replace get_user_pages_unlocked() write/force parameters with gup_flags 2016-10-18 14:13:37 -07:00
highmem.c sched/preempt, mm/kmap: Explicitly disable/enable preemption in kmap_atomic_* 2015-05-19 08:39:14 +02:00
hugetlbpage.c sparc64: Multi-page size support 2017-02-23 08:30:28 -08:00
hypersparc.S [PATCH] sparc32: vm_area_struct access for old Sun SPARCs. 2013-07-10 13:56:10 -07:00
init_32.c arch, mm: remove arch specific show_mem 2017-02-22 16:41:30 -08:00
init_64.c sparc64: Multi-page size support 2017-02-23 08:30:28 -08:00
init_64.h sparc64: Use kernel page tables for vmemmap. 2014-10-05 16:53:39 -07:00
io-unit.c sparc32: fix build with STRICT_MM_TYPECHECKS 2016-05-20 17:55:42 -07:00
iommu.c sparc32: fix sparse warning in iommu.c 2014-05-18 19:01:26 -07:00
leon_mm.c sparc32: fix sparse "Should it be static?" in mm/ 2014-04-29 01:12:25 -04:00
Makefile sparc32: introduce run-time patching of srmmu access functions 2012-05-27 23:52:49 -07:00
mm_32.h sparc32: fix sparse "Should it be static?" in mm/ 2014-04-29 01:12:25 -04:00
srmmu_access.S sparc32: introduce run-time patching of srmmu access functions 2012-05-27 23:52:49 -07:00
srmmu.c sparc32: mm: srmmu: add __ro_after_init to sparc32_cachetlb_ops structures 2017-02-23 08:21:34 -08:00
swift.S [PATCH] sparc32: vm_area_struct access for old Sun SPARCs. 2013-07-10 13:56:10 -07:00
tlb.c sparc64: Multi-page size support 2017-02-23 08:30:28 -08:00
tsb.c sparc64: Multi-page size support 2017-02-23 08:30:28 -08:00
tsunami.S [PATCH] sparc32: vm_area_struct access for old Sun SPARCs. 2013-07-10 13:56:10 -07:00
ultra.S sparc64: Handle extremely large kernel TLB range flushes more gracefully. 2016-10-27 09:11:05 -07:00
viking.S [PATCH] sparc32: vm_area_struct access for old Sun SPARCs. 2013-07-10 13:56:10 -07:00