[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