mmap()/shmget(): use Linux default huge page size when not specified

Change-Id: I8a9e3bed65ac1902adfaeaa254597dd30f540319
This commit is contained in:
Balazs Gerofi
2019-06-05 16:07:34 +09:00
committed by Masamichi Takagi
parent e9955a4bba
commit 089b443aaf
4 changed files with 12 additions and 5 deletions

View File

@ -1940,7 +1940,8 @@ SYSCALL_DECLARE(mmap)
if (hugeshift == 0) {
/* default hugepage size */
flags |= MAP_HUGE_SECOND_BLOCK;
flags |= ihk_mc_get_linux_default_huge_page_shift() <<
MAP_HUGE_SHIFT;
} else if ((first_level_block_support &&
hugeshift == MAP_HUGE_FIRST_BLOCK) ||
(first_level_block_support &&
@ -2017,7 +2018,8 @@ SYSCALL_DECLARE(shmget)
if (hugeshift == 0) {
/* default hugepage size */
shmflg |= SHM_HUGE_SECOND_BLOCK;
shmflg |= ihk_mc_get_linux_default_huge_page_shift() <<
MAP_HUGE_SHIFT;
} else if ((first_level_block_support &&
hugeshift == SHM_HUGE_FIRST_BLOCK) ||
(first_level_block_support &&

View File

@ -1683,7 +1683,9 @@ SYSCALL_DECLARE(mmap)
if (flags & MAP_HUGETLB) {
switch (flags & (0x3F << MAP_HUGE_SHIFT)) {
case 0:
flags |= MAP_HUGE_2MB; /* default hugepage size */
/* default hugepage size */
flags |= ihk_mc_get_linux_default_huge_page_shift() <<
MAP_HUGE_SHIFT;
break;
case MAP_HUGE_2MB:
@ -1785,7 +1787,9 @@ SYSCALL_DECLARE(shmget)
int hugeshift = shmflg & (0x3F << SHM_HUGE_SHIFT);
if (hugeshift == 0) {
shmflg |= SHM_HUGE_2MB; /* default hugepage size */
/* default hugepage size */
shmflg |= ihk_mc_get_linux_default_huge_page_shift() <<
MAP_HUGE_SHIFT;
} else if (hugeshift == SHM_HUGE_2MB ||
hugeshift == SHM_HUGE_1GB) {
/*nop*/