linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH 4/6] mm: move flush in madvise_free_pte_range()
       [not found] <016001d1d36e$ef1db5a0$cd5920e0$@alibaba-inc.com>
@ 2016-07-01  8:30 ` Hillf Danton
  0 siblings, 0 replies; 2+ messages in thread
From: Hillf Danton @ 2016-07-01  8:30 UTC (permalink / raw)
  To: 'Dave Hansen', Dave Hansen; +Cc: Minchan Kim, linux-kernel, linux-mm

> 
> From: Dave Hansen <dave.hansen@linux.intel.com>
> 
> I think this code is OK and does not *need* to be patched.  We
> are just rewriting the PTE without the Accessed and Dirty bits.
> The hardware could come along and set them at any time with or
> without the erratum that this series addresses
> 
> But this does make the ptep_get_and_clear_full() and
> tlb_remove_tlb_entry() calls here more consistent with the other
> places they are used together and look *obviously* the same
> between call-sites.
> 
> Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: Minchan Kim <minchan@kernel.org>
> ---
> 
>  b/mm/madvise.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff -puN mm/madvise.c~knl-leak-40-madvise_free_pte_range-move-flush mm/madvise.c
> --- a/mm/madvise.c~knl-leak-40-madvise_free_pte_range-move-flush	2016-06-30 17:10:42.557246755 -0700
> +++ b/mm/madvise.c	2016-06-30 17:10:42.561246936 -0700
> @@ -369,13 +369,13 @@ static int madvise_free_pte_range(pmd_t
>  			 */
>  			ptent = ptep_get_and_clear_full(mm, addr, pte,
>  							tlb->fullmm);
> +			tlb_remove_tlb_entry(tlb, pte, addr);
> 

Then the current comment has to be updated, no?-/

thanks
Hillf
>  			ptent = pte_mkold(ptent);
>  			ptent = pte_mkclean(ptent);
>  			set_pte_at(mm, addr, pte, ptent);
>  			if (PageActive(page))
>  				deactivate_page(page);
> -			tlb_remove_tlb_entry(tlb, pte, addr);
>  		}
>  	}
>  out:
> _
> 


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH 4/6] mm: move flush in madvise_free_pte_range()
  2016-07-01  0:12 [PATCH 0/6] [v3] Workaround for Xeon Phi PTE A/D bits erratum Dave Hansen
@ 2016-07-01  0:12 ` Dave Hansen
  0 siblings, 0 replies; 2+ messages in thread
From: Dave Hansen @ 2016-07-01  0:12 UTC (permalink / raw)
  To: linux-kernel
  Cc: x86, linux-mm, torvalds, akpm, bp, ak, mhocko, Dave Hansen,
	dave.hansen, minchan


From: Dave Hansen <dave.hansen@linux.intel.com>

I think this code is OK and does not *need* to be patched.  We
are just rewriting the PTE without the Accessed and Dirty bits.
The hardware could come along and set them at any time with or
without the erratum that this series addresses

But this does make the ptep_get_and_clear_full() and
tlb_remove_tlb_entry() calls here more consistent with the other
places they are used together and look *obviously* the same
between call-sites.

Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Minchan Kim <minchan@kernel.org>
---

 b/mm/madvise.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN mm/madvise.c~knl-leak-40-madvise_free_pte_range-move-flush mm/madvise.c
--- a/mm/madvise.c~knl-leak-40-madvise_free_pte_range-move-flush	2016-06-30 17:10:42.557246755 -0700
+++ b/mm/madvise.c	2016-06-30 17:10:42.561246936 -0700
@@ -369,13 +369,13 @@ static int madvise_free_pte_range(pmd_t
 			 */
 			ptent = ptep_get_and_clear_full(mm, addr, pte,
 							tlb->fullmm);
+			tlb_remove_tlb_entry(tlb, pte, addr);
 
 			ptent = pte_mkold(ptent);
 			ptent = pte_mkclean(ptent);
 			set_pte_at(mm, addr, pte, ptent);
 			if (PageActive(page))
 				deactivate_page(page);
-			tlb_remove_tlb_entry(tlb, pte, addr);
 		}
 	}
 out:
_

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-07-01  8:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <016001d1d36e$ef1db5a0$cd5920e0$@alibaba-inc.com>
2016-07-01  8:30 ` [PATCH 4/6] mm: move flush in madvise_free_pte_range() Hillf Danton
2016-07-01  0:12 [PATCH 0/6] [v3] Workaround for Xeon Phi PTE A/D bits erratum Dave Hansen
2016-07-01  0:12 ` [PATCH 4/6] mm: move flush in madvise_free_pte_range() Dave Hansen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox