All of lore.kernel.org
 help / color / mirror / Atom feed
From: Piotr Kwapulinski <kwapulinski.piotr@gmail.com>
To: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
Cc: kirill.shutemov@linux.intel.com, vbabka@suse.cz,
	rientjes@google.com, mhocko@kernel.org,
	mgorman@techsingularity.net, liangchen.linux@gmail.com,
	nzimmer@sgi.com, a.p.zijlstra@chello.nl, cl@linux.com,
	riel@redhat.com, lee.schermerhorn@hp.com, jmarchan@redhat.com,
	joe@perches.com, corbet@lwn.net, iamyooon@gmail.com,
	n-horiguchi@ah.jp.nec.com, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org, linux-man@vger.kernel.org,
	akpm@linux-foundation.org, linux-doc@vger.kernel.org,
	linux-api@vger.kernel.org
Subject: Re: [PATCH v3 0/1] man/set_mempolicy.2,mbind.2: add MPOL_LOCAL NUMA memory policy documentation
Date: Wed, 12 Oct 2016 17:53:10 +0200	[thread overview]
Message-ID: <20161012155309.GA2706@home> (raw)
In-Reply-To: <4d816fee-4690-2ed7-7faa-c437e67cfbf5@gmail.com>

Hi Michael,

On Wed, Oct 12, 2016 at 09:55:16AM +0200, Michael Kerrisk (man-pages) wrote:
> Hello Piotr,
> 
> On 10/10/2016 06:23 PM, Piotr Kwapulinski wrote:
> > The MPOL_LOCAL mode has been implemented by
> > Peter Zijlstra <a.p.zijlstra@chello.nl>
> > (commit: 479e2802d09f1e18a97262c4c6f8f17ae5884bd8).
> > Add the documentation for this mode.
> 
> Thanks. I've applied this patch. I have a question below.
> 
> > Signed-off-by: Piotr Kwapulinski <kwapulinski.piotr@gmail.com>
> > ---
> > This version fixes grammar
> > ---
> >  man2/mbind.2         | 28 ++++++++++++++++++++++++----
> >  man2/set_mempolicy.2 | 19 ++++++++++++++++++-
> >  2 files changed, 42 insertions(+), 5 deletions(-)
> > 
> > diff --git a/man2/mbind.2 b/man2/mbind.2
> > index 3ea24f6..854580c 100644
> > --- a/man2/mbind.2
> > +++ b/man2/mbind.2
> > @@ -130,8 +130,9 @@ argument must specify one of
> >  .BR MPOL_DEFAULT ,
> >  .BR MPOL_BIND ,
> >  .BR MPOL_INTERLEAVE ,
> > +.BR MPOL_PREFERRED ,
> >  or
> > -.BR MPOL_PREFERRED .
> > +.BR MPOL_LOCAL .
> >  All policy modes except
> >  .B MPOL_DEFAULT
> >  require the caller to specify via the
> > @@ -258,9 +259,26 @@ and
> >  .I maxnode
> >  arguments specify the empty set, then the memory is allocated on
> >  the node of the CPU that triggered the allocation.
> > -This is the only way to specify "local allocation" for a
> > -range of memory via
> > -.BR mbind ().
> > +
> > +.B MPOL_LOCAL
> > +specifies the "local allocation", the memory is allocated on
> > +the node of the CPU that triggered the allocation, "local node".
> > +The
> > +.I nodemask
> > +and
> > +.I maxnode
> > +arguments must specify the empty set. If the "local node" is low
> > +on free memory the kernel will try to allocate memory from other
> > +nodes. The kernel will allocate memory from the "local node"
> > +whenever memory for this node is available. If the "local node"
> > +is not allowed by the process's current cpuset context the kernel
> > +will try to allocate memory from other nodes. The kernel will
> > +allocate memory from the "local node" whenever it becomes allowed
> > +by the process's current cpuset context. In contrast
> > +.B MPOL_DEFAULT
> > +reverts to the policy of the process which may have been set with
> > +.BR set_mempolicy (2).
> > +It may not be the "local allocation".
> 
> What is the sense of "may not be" here? (And repeated below).
> Is the meaning "this could be something other than"?
> Presumably the answer is yes, in which case I'll clarify
> the wording there. Let me know.
> 
> Cheers,
> 
> Michael
> 

That's right. This could be "local allocation" or any other memory policy.

Thanks
Piotr Kwapulinski

> >  
> >  If
> >  .B MPOL_MF_STRICT
> > @@ -440,6 +458,8 @@ To select explicit "local allocation" for a memory range,
> >  specify a
> >  .I mode
> >  of
> > +.B MPOL_LOCAL
> > +or
> >  .B MPOL_PREFERRED
> >  with an empty set of nodes.
> >  This method will work for
> > diff --git a/man2/set_mempolicy.2 b/man2/set_mempolicy.2
> > index 1f02037..22b0f7c 100644
> > --- a/man2/set_mempolicy.2
> > +++ b/man2/set_mempolicy.2
> > @@ -79,8 +79,9 @@ argument must specify one of
> >  .BR MPOL_DEFAULT ,
> >  .BR MPOL_BIND ,
> >  .BR MPOL_INTERLEAVE ,
> > +.BR MPOL_PREFERRED ,
> >  or
> > -.BR MPOL_PREFERRED .
> > +.BR MPOL_LOCAL .
> >  All modes except
> >  .B MPOL_DEFAULT
> >  require the caller to specify via the
> > @@ -211,6 +212,22 @@ arguments specify the empty set, then the policy
> >  specifies "local allocation"
> >  (like the system default policy discussed above).
> >  
> > +.B MPOL_LOCAL
> > +specifies the "local allocation", the memory is allocated on
> > +the node of the CPU that triggered the allocation, "local node".
> > +The
> > +.I nodemask
> > +and
> > +.I maxnode
> > +arguments must specify the empty set. If the "local node" is low
> > +on free memory the kernel will try to allocate memory from other
> > +nodes. The kernel will allocate memory from the "local node"
> > +whenever memory for this node is available. If the "local node"
> > +is not allowed by the process's current cpuset context the kernel
> > +will try to allocate memory from other nodes. The kernel will
> > +allocate memory from the "local node" whenever it becomes allowed
> > +by the process's current cpuset context.
> > +
> >  The thread memory policy is preserved across an
> >  .BR execve (2),
> >  and is inherited by child threads created using
> > 
> 
> 
> -- 
> Michael Kerrisk
> Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
> Linux/UNIX System Programming Training: http://man7.org/training/
--
Piotr Kwapulinski

WARNING: multiple messages have this Message-ID (diff)
From: Piotr Kwapulinski <kwapulinski.piotr@gmail.com>
To: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
Cc: kirill.shutemov@linux.intel.com, vbabka@suse.cz,
	rientjes@google.com, mhocko@kernel.org,
	mgorman@techsingularity.net, liangchen.linux@gmail.com,
	nzimmer@sgi.com, a.p.zijlstra@chello.nl, cl@linux.com,
	riel@redhat.com, lee.schermerhorn@hp.com, jmarchan@redhat.com,
	joe@perches.com, corbet@lwn.net, iamyooon@gmail.com,
	n-horiguchi@ah.jp.nec.com, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org, linux-man@vger.kernel.org,
	akpm@linux-foundation.org, linux-doc@vger.kernel.org,
	linux-api@vger.kernel.org
Subject: Re: [PATCH v3 0/1] man/set_mempolicy.2,mbind.2: add MPOL_LOCAL NUMA memory policy documentation
Date: Wed, 12 Oct 2016 17:53:10 +0200	[thread overview]
Message-ID: <20161012155309.GA2706@home> (raw)
In-Reply-To: <4d816fee-4690-2ed7-7faa-c437e67cfbf5@gmail.com>

Hi Michael,

On Wed, Oct 12, 2016 at 09:55:16AM +0200, Michael Kerrisk (man-pages) wrote:
> Hello Piotr,
> 
> On 10/10/2016 06:23 PM, Piotr Kwapulinski wrote:
> > The MPOL_LOCAL mode has been implemented by
> > Peter Zijlstra <a.p.zijlstra@chello.nl>
> > (commit: 479e2802d09f1e18a97262c4c6f8f17ae5884bd8).
> > Add the documentation for this mode.
> 
> Thanks. I've applied this patch. I have a question below.
> 
> > Signed-off-by: Piotr Kwapulinski <kwapulinski.piotr@gmail.com>
> > ---
> > This version fixes grammar
> > ---
> >  man2/mbind.2         | 28 ++++++++++++++++++++++++----
> >  man2/set_mempolicy.2 | 19 ++++++++++++++++++-
> >  2 files changed, 42 insertions(+), 5 deletions(-)
> > 
> > diff --git a/man2/mbind.2 b/man2/mbind.2
> > index 3ea24f6..854580c 100644
> > --- a/man2/mbind.2
> > +++ b/man2/mbind.2
> > @@ -130,8 +130,9 @@ argument must specify one of
> >  .BR MPOL_DEFAULT ,
> >  .BR MPOL_BIND ,
> >  .BR MPOL_INTERLEAVE ,
> > +.BR MPOL_PREFERRED ,
> >  or
> > -.BR MPOL_PREFERRED .
> > +.BR MPOL_LOCAL .
> >  All policy modes except
> >  .B MPOL_DEFAULT
> >  require the caller to specify via the
> > @@ -258,9 +259,26 @@ and
> >  .I maxnode
> >  arguments specify the empty set, then the memory is allocated on
> >  the node of the CPU that triggered the allocation.
> > -This is the only way to specify "local allocation" for a
> > -range of memory via
> > -.BR mbind ().
> > +
> > +.B MPOL_LOCAL
> > +specifies the "local allocation", the memory is allocated on
> > +the node of the CPU that triggered the allocation, "local node".
> > +The
> > +.I nodemask
> > +and
> > +.I maxnode
> > +arguments must specify the empty set. If the "local node" is low
> > +on free memory the kernel will try to allocate memory from other
> > +nodes. The kernel will allocate memory from the "local node"
> > +whenever memory for this node is available. If the "local node"
> > +is not allowed by the process's current cpuset context the kernel
> > +will try to allocate memory from other nodes. The kernel will
> > +allocate memory from the "local node" whenever it becomes allowed
> > +by the process's current cpuset context. In contrast
> > +.B MPOL_DEFAULT
> > +reverts to the policy of the process which may have been set with
> > +.BR set_mempolicy (2).
> > +It may not be the "local allocation".
> 
> What is the sense of "may not be" here? (And repeated below).
> Is the meaning "this could be something other than"?
> Presumably the answer is yes, in which case I'll clarify
> the wording there. Let me know.
> 
> Cheers,
> 
> Michael
> 

That's right. This could be "local allocation" or any other memory policy.

Thanks
Piotr Kwapulinski

> >  
> >  If
> >  .B MPOL_MF_STRICT
> > @@ -440,6 +458,8 @@ To select explicit "local allocation" for a memory range,
> >  specify a
> >  .I mode
> >  of
> > +.B MPOL_LOCAL
> > +or
> >  .B MPOL_PREFERRED
> >  with an empty set of nodes.
> >  This method will work for
> > diff --git a/man2/set_mempolicy.2 b/man2/set_mempolicy.2
> > index 1f02037..22b0f7c 100644
> > --- a/man2/set_mempolicy.2
> > +++ b/man2/set_mempolicy.2
> > @@ -79,8 +79,9 @@ argument must specify one of
> >  .BR MPOL_DEFAULT ,
> >  .BR MPOL_BIND ,
> >  .BR MPOL_INTERLEAVE ,
> > +.BR MPOL_PREFERRED ,
> >  or
> > -.BR MPOL_PREFERRED .
> > +.BR MPOL_LOCAL .
> >  All modes except
> >  .B MPOL_DEFAULT
> >  require the caller to specify via the
> > @@ -211,6 +212,22 @@ arguments specify the empty set, then the policy
> >  specifies "local allocation"
> >  (like the system default policy discussed above).
> >  
> > +.B MPOL_LOCAL
> > +specifies the "local allocation", the memory is allocated on
> > +the node of the CPU that triggered the allocation, "local node".
> > +The
> > +.I nodemask
> > +and
> > +.I maxnode
> > +arguments must specify the empty set. If the "local node" is low
> > +on free memory the kernel will try to allocate memory from other
> > +nodes. The kernel will allocate memory from the "local node"
> > +whenever memory for this node is available. If the "local node"
> > +is not allowed by the process's current cpuset context the kernel
> > +will try to allocate memory from other nodes. The kernel will
> > +allocate memory from the "local node" whenever it becomes allowed
> > +by the process's current cpuset context.
> > +
> >  The thread memory policy is preserved across an
> >  .BR execve (2),
> >  and is inherited by child threads created using
> > 
> 
> 
> -- 
> Michael Kerrisk
> Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
> Linux/UNIX System Programming Training: http://man7.org/training/
--
Piotr Kwapulinski

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

  parent reply	other threads:[~2016-10-12 15:53 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-18 11:29 [PATCH] mm/mempolicy.c: forbid static or relative flags for local NUMA mode Piotr Kwapulinski
2016-09-18 11:29 ` Piotr Kwapulinski
2016-09-19 11:52 ` Michal Hocko
2016-09-19 11:52   ` Michal Hocko
2016-09-20 15:47   ` Piotr Kwapulinski
2016-09-20 15:47     ` Piotr Kwapulinski
2016-09-20  0:57 ` David Rientjes
2016-09-20  0:57   ` David Rientjes
2016-09-20 15:56   ` Piotr Kwapulinski
2016-09-20 15:56     ` Piotr Kwapulinski
2016-09-20 20:05     ` David Rientjes
2016-09-20 20:05       ` David Rientjes
2016-09-27 13:19       ` [PATCH 0/1] man/set_mempolicy.2,mbind.2: add MPOL_LOCAL NUMA memory policy documentation Piotr Kwapulinski
2016-09-27 13:19         ` Piotr Kwapulinski
     [not found]         ` <20160927131948.11974-1-kwapulinski.piotr-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-10-04  8:36           ` Christoph Lameter
2016-10-04  8:36             ` Christoph Lameter
2016-10-04  8:36             ` Christoph Lameter
     [not found]             ` <alpine.DEB.2.20.1610040333050.10814-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2016-10-09 18:56               ` [PATCH v2 " Piotr Kwapulinski
2016-10-09 18:56                 ` Piotr Kwapulinski
2016-10-09 18:56                 ` Piotr Kwapulinski
2016-10-10 13:55                 ` Christoph Lameter
2016-10-10 13:55                   ` Christoph Lameter
2016-10-10 16:23                   ` [PATCH v3 " Piotr Kwapulinski
2016-10-10 16:23                     ` Piotr Kwapulinski
2016-10-12  7:55                     ` Michael Kerrisk (man-pages)
2016-10-12  7:55                       ` Michael Kerrisk (man-pages)
2016-10-12 14:08                       ` Christoph Lameter
2016-10-12 14:08                         ` Christoph Lameter
2016-10-12 14:35                         ` Michael Kerrisk (man-pages)
2016-10-12 14:35                           ` Michael Kerrisk (man-pages)
2016-10-12 15:53                       ` Piotr Kwapulinski [this message]
2016-10-12 15:53                         ` Piotr Kwapulinski
2016-10-12 19:55                         ` Christoph Lameter
2016-10-12 19:55                           ` Christoph Lameter
2016-10-13  6:48                           ` Michael Kerrisk (man-pages)
2016-10-13  6:48                             ` Michael Kerrisk (man-pages)
     [not found]       ` <alpine.DEB.2.10.1609201304450.134671-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2016-09-27 13:22         ` [PATCH 1/1] mm/mempolicy.c: " Piotr Kwapulinski
2016-09-27 13:22           ` Piotr Kwapulinski
2016-09-27 13:22           ` Piotr Kwapulinski
2016-09-27 13:27         ` [PATCH 1/1] man/set_mempolicy.2,mbind.2: forbid static or relative flags for local NUMA mode Piotr Kwapulinski
2016-09-27 13:27           ` Piotr Kwapulinski
2016-09-27 13:27           ` Piotr Kwapulinski
2016-09-27 13:25       ` [PATCH v2 0/1] mm/mempolicy.c: " Piotr Kwapulinski
2016-09-27 13:25         ` Piotr Kwapulinski
2016-10-27 16:30         ` [PATCH v3 " Piotr Kwapulinski
2016-10-27 16:30           ` Piotr Kwapulinski
     [not found]           ` <20161027163037.4089-1-kwapulinski.piotr-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-11-01  0:21             ` David Rientjes
2016-11-01  0:21               ` David Rientjes
2016-11-01  0:21               ` David Rientjes
     [not found] ` <20160918112943.1645-1-kwapulinski.piotr-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-09-20 15:12   ` [PATCH] " Vlastimil Babka
2016-09-20 15:12     ` Vlastimil Babka
2016-09-20 15:12     ` Vlastimil Babka
2016-09-20 16:23     ` Piotr Kwapulinski
2016-09-20 16:23       ` Piotr Kwapulinski

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=20161012155309.GA2706@home \
    --to=kwapulinski.piotr@gmail.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=cl@linux.com \
    --cc=corbet@lwn.net \
    --cc=iamyooon@gmail.com \
    --cc=jmarchan@redhat.com \
    --cc=joe@perches.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=lee.schermerhorn@hp.com \
    --cc=liangchen.linux@gmail.com \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-man@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@techsingularity.net \
    --cc=mhocko@kernel.org \
    --cc=mtk.manpages@gmail.com \
    --cc=n-horiguchi@ah.jp.nec.com \
    --cc=nzimmer@sgi.com \
    --cc=riel@redhat.com \
    --cc=rientjes@google.com \
    --cc=vbabka@suse.cz \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.