hmm.c (05fc1df95e5dc09802813bab9c1e718f1e419d93) | hmm.c (7d082987e5e562c07a208503a607a733d50553ba) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Copyright 2013 Red Hat Inc. 4 * 5 * Authors: Jérôme Glisse <jglisse@redhat.com> 6 */ 7/* 8 * Refer to include/linux/hmm.h for information about heterogeneous memory --- 388 unchanged lines hidden (view full) --- 397 398 hmm_range_need_fault(hmm_vma_walk, pfns, npages, 399 0, &fault, &write_fault); 400 if (fault || write_fault) { 401 hmm_vma_walk->last = addr; 402 pmd_migration_entry_wait(walk->mm, pmdp); 403 return -EBUSY; 404 } | 1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Copyright 2013 Red Hat Inc. 4 * 5 * Authors: Jérôme Glisse <jglisse@redhat.com> 6 */ 7/* 8 * Refer to include/linux/hmm.h for information about heterogeneous memory --- 388 unchanged lines hidden (view full) --- 397 398 hmm_range_need_fault(hmm_vma_walk, pfns, npages, 399 0, &fault, &write_fault); 400 if (fault || write_fault) { 401 hmm_vma_walk->last = addr; 402 pmd_migration_entry_wait(walk->mm, pmdp); 403 return -EBUSY; 404 } |
405 return 0; | 405 return hmm_pfns_fill(start, end, range, HMM_PFN_NONE); |
406 } else if (!pmd_present(pmd)) 407 return hmm_pfns_fill(start, end, range, HMM_PFN_ERROR); 408 409 if (pmd_devmap(pmd) || pmd_trans_huge(pmd)) { 410 /* 411 * No need to take pmd_lock here, even if some other thread 412 * is splitting the huge pmd we will get that event through 413 * mmu_notifier callback. --- 290 unchanged lines hidden --- | 406 } else if (!pmd_present(pmd)) 407 return hmm_pfns_fill(start, end, range, HMM_PFN_ERROR); 408 409 if (pmd_devmap(pmd) || pmd_trans_huge(pmd)) { 410 /* 411 * No need to take pmd_lock here, even if some other thread 412 * is splitting the huge pmd we will get that event through 413 * mmu_notifier callback. --- 290 unchanged lines hidden --- |