lkml.org 
[lkml]   [2012]   [Nov]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 08/19] mm: numa: Create basic numa page hinting infrastructure
On Wed, Nov 07, 2012 at 05:48:30AM -0500, Rik van Riel wrote:
> On 11/07/2012 05:38 AM, Mel Gorman wrote:
> >On Tue, Nov 06, 2012 at 01:58:26PM -0500, Rik van Riel wrote:
> >>On 11/06/2012 04:14 AM, Mel Gorman wrote:
> >>>Note: This patch started as "mm/mpol: Create special PROT_NONE
> >>> infrastructure" and preserves the basic idea but steals *very*
> >>> heavily from "autonuma: numa hinting page faults entry points" for
> >>> the actual fault handlers without the migration parts. The end
> >>> result is barely recognisable as either patch so all Signed-off
> >>> and Reviewed-bys are dropped. If Peter, Ingo and Andrea are ok with
> >>> this version, I will re-add the signed-offs-by to reflect the history.
> >>>
> >>>In order to facilitate a lazy -- fault driven -- migration of pages, create
> >>>a special transient PAGE_NUMA variant, we can then use the 'spurious'
> >>>protection faults to drive our migrations from.
> >>>
> >>>Pages that already had an effective PROT_NONE mapping will not be detected
> >>
> >>The patch itself is good, but the changelog needs a little
> >>fix. While you are defining _PAGE_NUMA to _PAGE_PROTNONE on
> >>x86, this may be different on other architectures.
> >>
> >>Therefore, the changelog should refer to PAGE_NUMA, not
> >>PROT_NONE.
> >>
> >
> >Fair point. I still want to record the point that PROT_NONE will not
> >generate the faults though. How about this?
> >
> > In order to facilitate a lazy -- fault driven -- migration of pages, create
> > a special transient PAGE_NUMA variant, we can then use the 'spurious'
> > protection faults to drive our migrations from.
> >
> > The meaning of PAGE_NUMA depends on the architecture but on x86 it is
> > effectively PROT_NONE. In this case, PROT_NONE mappings will not be detected
> > to generate these 'spurious' faults for the simple reason that we cannot
> > distinguish them on their protection bits, see pte_numa(). This isn't
> > a problem since PROT_NONE (and possible PROT_WRITE with dirty tracking)
> > aren't used or are rare enough for us to not care about their placement.
>
> Actual PROT_NONE mappings will not generate these NUMA faults
> for the reason that the page fault code checks the permission
> on the VMA (and will throw a segmentation fault on actual
> PROT_NONE mappings), before it ever calls handle_mm_fault.
>

Updated. Thanks.

--
Mel Gorman
SUSE Labs


\
 
 \ /
  Last update: 2012-11-07 12:41    [W:0.073 / U:0.232 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site