ContiguousPTE[8/12] modify page_fault_process_memory_range

Change-Id: I79ecd08cf83aeacd3e20a7720bad66ef19573402
This commit is contained in:
TOIDA,Suguru
2018-11-30 09:18:28 +09:00
committed by Masamichi Takagi
parent c319fe08a4
commit c4e5bf6d6b

View File

@ -1861,6 +1861,9 @@ static int page_fault_process_memory_range(struct process_vm *vm, struct vm_rang
}
pgaddr = (void *)(fault_addr & ~(pgsize - 1));
}
arch_adjust_allocate_page_size(fault_addr, ptep, &pgaddr, &pgsize);
/*****/
dkprintf("%s: ptep=%lx,pte_is_null=%d,pte_is_fileoff=%d\n", __FUNCTION__, ptep, ptep ? pte_is_null(ptep) : -1, ptep ? pte_is_fileoff(ptep, pgsize) : -1);
if (!ptep || pte_is_null(ptep) || pte_is_fileoff(ptep, pgsize)) {
@ -1993,7 +1996,7 @@ retry:
#endif /*POSTK_DEBUG_ARCH_DEP_21*/
/*****/
if (ptep) {
if (ptep && !pgsize_is_contiguous(pgsize)) {
//if(rusage_memory_stat_add_with_page(range, phys, pgsize, pgsize, page)) {
if(rusage_memory_stat_add(range, phys, pgsize, pgsize)) {
/* on-demand paging, phys pages are obtained by ihk_mc_alloc_aligned_pages_user() or get_page() */
@ -2016,7 +2019,7 @@ retry:
else {
error = ihk_mc_pt_set_range(vm->address_space->page_table, vm,
pgaddr, pgaddr + pgsize, phys,
attr, range->pgshift, range, 0);
attr, range->pgshift, range, 1);
if (error) {
kprintf("page_fault_process_memory_range(%p,%lx-%lx %lx,%lx,%lx):set_range failed. %d\n", vm, range->start, range->end, range->flag, fault_addr, reason, error);
goto out;