shmobj: Support large page

Mixing page sizes is allowed by shmobj.

Change-Id: Ic48b71da2db6ce3f68fa3dbc8ad5ae96347d6018
Refs: #1381
Refs: #1458
This commit is contained in:
Ken Sato
2020-01-15 15:45:17 +09:00
committed by Masamichi Takagi
parent 4b66373813
commit 9a60997ea0
32 changed files with 2212 additions and 75 deletions

View File

@ -45,6 +45,7 @@
#include <sysfs.h>
#include <ihk/debug.h>
#include <bootparam.h>
#include <memobj.h>
//#define DEBUG_PRINT_MEM
@ -2712,3 +2713,18 @@ int ihk_mc_get_mem_user_page(void *arg0, page_table_t pt, pte_t *ptep, void *pga
return 0;
}
int is_splitable(struct page *page, uint32_t memobj_flags)
{
int ret = 1;
if (page && (page_is_in_memobj(page)
|| page_is_multi_mapped(page))) {
if (memobj_flags & MF_SHM) {
goto out;
}
ret = 0;
}
out:
return ret;
}