linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Mel Gorman <mgorman@suse.de>
To: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Rik van Riel <riel@redhat.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Hugh Dickins <hughd@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linux-MM <linux-mm@kvack.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 08/19] mm: numa: Create basic numa page hinting infrastructure
Date: Tue, 13 Nov 2012 14:26:34 +0000	[thread overview]
Message-ID: <20121113142634.GC8218@suse.de> (raw)
In-Reply-To: <20121113134910.GB17782@gmail.com>

On Tue, Nov 13, 2012 at 02:49:10PM +0100, Ingo Molnar wrote:
> 
> * Mel Gorman <mgorman@suse.de> wrote:
> 
> > > But given that most architectures will be just fine reusing 
> > > the already existing generic PROT_NONE machinery, the far 
> > > better approach is to do what we've been doing in generic 
> > > kernel code for the last 10 years: offer a default generic 
> > > version, and then to offer per arch hooks on a strict 
> > > as-needed basis, if they want or need to do something weird 
> > > ...
> > 
> > If they are *not* fine with it, it's a large retrofit because 
> > the PROT_NONE machinery has been hard-coded throughout. [...]
> 
> That was a valid criticism for earlier versions of the NUMA 
> patches - but should much less be the case in the latest 
> iterations of the patches:
> 

Which are where? They are possible somewhere in -tip, maybe the
tip/numa/core but I am seeing this;

$ git diff e657e078d3dfa9f96976db7a2b5fd7d7c9f1f1a6..tip/numa/core | grep change_prot_none
+change_prot_none(struct vm_area_struct *vma, unsigned long start, unsigned long end)
+		change_prot_none(vma, offset, end);
+			change_prot_none(vma, start, endvma);

This is being called from task_numa_work() for example so it's case where
the maintainer has to memember that prot_none actually means prot_numa in
this case. Further, the generic implementation of pte_numa is hard-coding
prot_none

+static bool pte_numa(struct vm_area_struct *vma, pte_t pte)
+{
.......
+       if (pte_same(pte, pte_modify(pte, vma->vm_page_prot)))
+               return false;
+
+       return pte_same(pte, pte_modify(pte, vma_prot_none(vma)));
+}

I can take the structuring idea of moving pte_numa around but it still
should have the _PAGE_NUMA naming. So it still looks to me as the PROT_NONE
machine is hard-coded.

>  - it has generic pte_numa() / pmd_numa() instead of using
>    prot_none() directly
> 

I intend to move the pte_numa out myself.

>  - the key utility functions are named using the _numa pattern,
>    not *_prot_none*() anymore.
> 

Where did change_prot_none() come from then?

> Let us know if you can still see such instances - it's probably 
> simple oversight.
> 

I could be lookjing at the wrong tip branch. Please post the full series
to the list so it can be reviewed that way instead of trying to second
guess.

-- 
Mel Gorman
SUSE Labs

--
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>

  reply	other threads:[~2012-11-13 14:26 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-06  9:14 [RFC PATCH 00/19] Foundation for automatic NUMA balancing Mel Gorman
2012-11-06  9:14 ` [PATCH 01/19] mm: compaction: Move migration fail/success stats to migrate.c Mel Gorman
2012-11-06 17:32   ` Rik van Riel
2012-11-06  9:14 ` [PATCH 02/19] mm: migrate: Add a tracepoint for migrate_pages Mel Gorman
2012-11-06 17:33   ` Rik van Riel
2012-11-06  9:14 ` [PATCH 03/19] mm: compaction: Add scanned and isolated counters for compaction Mel Gorman
2012-11-06 17:35   ` Rik van Riel
2012-11-06  9:14 ` [PATCH 04/19] mm: numa: define _PAGE_NUMA Mel Gorman
2012-11-06 18:35   ` Rik van Riel
2012-11-06  9:14 ` [PATCH 05/19] mm: numa: pte_numa() and pmd_numa() Mel Gorman
2012-11-13  9:54   ` Ingo Molnar
2012-11-13 11:24     ` Mel Gorman
2012-11-06  9:14 ` [PATCH 06/19] mm: numa: teach gup_fast about pmd_numa Mel Gorman
2012-11-13 10:07   ` Ingo Molnar
2012-11-13 11:37     ` Mel Gorman
2012-11-13 13:51       ` Ingo Molnar
2012-11-06  9:14 ` [PATCH 07/19] mm: numa: split_huge_page: transfer the NUMA type from the pmd to the pte Mel Gorman
2012-11-06  9:14 ` [PATCH 08/19] mm: numa: Create basic numa page hinting infrastructure Mel Gorman
2012-11-06 18:58   ` Rik van Riel
2012-11-07 10:38     ` Mel Gorman
2012-11-07 10:48       ` Rik van Riel
2012-11-07 11:00         ` Mel Gorman
2012-11-13 10:21   ` Ingo Molnar
2012-11-13 11:50     ` Mel Gorman
2012-11-13 13:49       ` Ingo Molnar
2012-11-13 14:26         ` Mel Gorman [this message]
2012-11-06  9:14 ` [PATCH 09/19] mm: mempolicy: Make MPOL_LOCAL a real policy Mel Gorman
2012-11-06  9:14 ` [PATCH 10/19] mm: mempolicy: Add MPOL_MF_NOOP Mel Gorman
2012-11-06  9:14 ` [PATCH 11/19] mm: mempolicy: Check for misplaced page Mel Gorman
2012-11-06  9:14 ` [PATCH 12/19] mm: migrate: Introduce migrate_misplaced_page() Mel Gorman
2012-11-06 19:10   ` Rik van Riel
2012-11-13  9:36   ` Ingo Molnar
2012-11-13 11:43     ` Ingo Molnar
2012-11-13 11:56       ` Mel Gorman
2012-11-13 14:49       ` Rik van Riel
2012-11-06  9:14 ` [PATCH 13/19] mm: mempolicy: Use _PAGE_NUMA to migrate pages Mel Gorman
2012-11-06 19:18   ` Rik van Riel
2012-11-07 12:32     ` Mel Gorman
2012-11-06  9:14 ` [PATCH 14/19] mm: mempolicy: Add MPOL_MF_LAZY Mel Gorman
2012-11-06 19:19   ` Rik van Riel
2012-11-13 10:25   ` Ingo Molnar
2012-11-13 12:02     ` Mel Gorman
2012-11-06  9:14 ` [PATCH 15/19] mm: numa: Add fault driven placement and migration Mel Gorman
2012-11-06 19:41   ` Rik van Riel
2012-11-07 10:49     ` Mel Gorman
2012-11-07 11:46       ` Rik van Riel
2012-11-13 10:45   ` Ingo Molnar
2012-11-13 12:09     ` Mel Gorman
2012-11-13 13:39       ` Ingo Molnar
2012-11-06  9:14 ` [PATCH 16/19] mm: numa: Add pte updates, hinting and migration stats Mel Gorman
2012-11-06 19:55   ` Rik van Riel
2012-11-07 10:57     ` Mel Gorman
2012-11-07 11:47       ` Rik van Riel
2012-11-06  9:14 ` [PATCH 17/19] mm: numa: Migrate on reference policy Mel Gorman
2012-11-07 11:56   ` Rik van Riel
2012-11-06  9:14 ` [PATCH 18/19] mm: sched: numa: Implement constant, per task Working Set Sampling (WSS) rate Mel Gorman
2012-11-06 19:55   ` Rik van Riel
2012-11-06  9:14 ` [PATCH 19/19] mm: sched: numa: Implement slow start for working set sampling Mel Gorman
2012-11-06 19:56   ` Rik van Riel
2012-11-07  9:27 ` [RFC PATCH 00/19] Foundation for automatic NUMA balancing Zhouping Liu
2012-11-07 15:25   ` Mel Gorman
2012-11-08  6:37     ` Zhouping Liu
2012-11-08  6:39       ` 杨竹
2012-11-08  7:03         ` Zhouping Liu
2012-11-09 14:42 ` Andrea Arcangeli
2012-11-09 16:12   ` Mel Gorman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121113142634.GC8218@suse.de \
    --to=mgorman@suse.de \
    --cc=a.p.zijlstra@chello.nl \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=hannes@cmpxchg.org \
    --cc=hughd@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mingo@kernel.org \
    --cc=riel@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).