[PATCH 1/2] mm/hmm: support automatic NUMA balancing
Jerome Glisse
jglisse at redhat.com
Fri May 10 20:13:32 UTC 2019
On Fri, May 10, 2019 at 07:53:23PM +0000, Kuehling, Felix wrote:
> From: Philip Yang <Philip.Yang at amd.com>
>
> While the page is migrating by NUMA balancing, HMM failed to detect this
> condition and still return the old page. Application will use the new
> page migrated, but driver pass the old page physical address to GPU,
> this crash the application later.
>
> Use pte_protnone(pte) to return this condition and then hmm_vma_do_fault
> will allocate new page.
>
> Signed-off-by: Philip Yang <Philip.Yang at amd.com>
Reviewed-by: Jérôme Glisse <jglisse at redhat.com>
> ---
> mm/hmm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/hmm.c b/mm/hmm.c
> index 75d2ea906efb..b65c27d5c119 100644
> --- a/mm/hmm.c
> +++ b/mm/hmm.c
> @@ -554,7 +554,7 @@ static int hmm_vma_handle_pmd(struct mm_walk *walk,
>
> static inline uint64_t pte_to_hmm_pfn_flags(struct hmm_range *range, pte_t pte)
> {
> - if (pte_none(pte) || !pte_present(pte))
> + if (pte_none(pte) || !pte_present(pte) || pte_protnone(pte))
> return 0;
> return pte_write(pte) ? range->flags[HMM_PFN_VALID] |
> range->flags[HMM_PFN_WRITE] :
> --
> 2.17.1
>
More information about the amd-gfx
mailing list