mmap()/shmget(): use Linux huge page size when not specified
Fixes: 089b443 "mmap()/shmget(): use Linux default huge page size when not specified"
Change-Id: If8043a0993d1131ea0344aa6d500b35c7a291884
This commit is contained in:
committed by
Masamichi Takagi
parent
d5aafca1ae
commit
51fe77cdae
@ -1689,6 +1689,9 @@ do_mmap(const uintptr_t addr0, const size_t len0, const int prot,
|
|||||||
|
|
||||||
if (flags & MAP_HUGETLB) {
|
if (flags & MAP_HUGETLB) {
|
||||||
pgshift = (flags >> MAP_HUGE_SHIFT) & 0x3F;
|
pgshift = (flags >> MAP_HUGE_SHIFT) & 0x3F;
|
||||||
|
if (!pgshift) {
|
||||||
|
pgshift = ihk_mc_get_linux_default_huge_page_shift();
|
||||||
|
}
|
||||||
p2align = pgshift - PAGE_SHIFT;
|
p2align = pgshift - PAGE_SHIFT;
|
||||||
}
|
}
|
||||||
else if ((((flags & MAP_PRIVATE) && (flags & MAP_ANONYMOUS))
|
else if ((((flags & MAP_PRIVATE) && (flags & MAP_ANONYMOUS))
|
||||||
@ -5709,6 +5712,9 @@ int do_shmget(const key_t key, const size_t size, const int shmflg)
|
|||||||
|
|
||||||
if (shmflg & SHM_HUGETLB) {
|
if (shmflg & SHM_HUGETLB) {
|
||||||
pgshift = (shmflg >> SHM_HUGE_SHIFT) & 0x3F;
|
pgshift = (shmflg >> SHM_HUGE_SHIFT) & 0x3F;
|
||||||
|
if (!pgshift) {
|
||||||
|
pgshift = ihk_mc_get_linux_default_huge_page_shift();
|
||||||
|
}
|
||||||
} else if (proc->thp_disable) {
|
} else if (proc->thp_disable) {
|
||||||
pgshift = PAGE_SHIFT;
|
pgshift = PAGE_SHIFT;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user