s390/mm: enable gup code for NUMA
Force get_user_page() to take the slow path for NUMA migration pages. Signed-off-by: Gerald Schaefer <geraldsc@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
		
							parent
							
								
									b54565b868
								
							
						
					
					
						commit
						ecf46abdd3
					
				| @ -30,6 +30,9 @@ static inline int gup_pte_range(pmd_t *pmdp, pmd_t pmd, unsigned long addr, | ||||
| 	do { | ||||
| 		pte = *ptep; | ||||
| 		barrier(); | ||||
| 		/* Similar to the PMD case, NUMA hinting must take slow path */ | ||||
| 		if (pte_protnone(pte)) | ||||
| 			return 0; | ||||
| 		if ((pte_val(pte) & mask) != 0) | ||||
| 			return 0; | ||||
| 		VM_BUG_ON(!pfn_valid(pte_pfn(pte))); | ||||
| @ -125,6 +128,13 @@ static inline int gup_pmd_range(pud_t *pudp, pud_t pud, unsigned long addr, | ||||
| 		if (pmd_none(pmd) || pmd_trans_splitting(pmd)) | ||||
| 			return 0; | ||||
| 		if (unlikely(pmd_large(pmd))) { | ||||
| 			/*
 | ||||
| 			 * NUMA hinting faults need to be handled in the GUP | ||||
| 			 * slowpath for accounting purposes and so that they | ||||
| 			 * can be serialised against THP migration. | ||||
| 			 */ | ||||
| 			if (pmd_protnone(pmd)) | ||||
| 				return 0; | ||||
| 			if (!gup_huge_pmd(pmdp, pmd, addr, next, | ||||
| 					  write, pages, nr)) | ||||
| 				return 0; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user