Re: [PATCH v0] man/man2/{mbind,set_mempolicy}.2: added mode argument MPOL_PREFERRED_MANY

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you for the feedback Alejandro. I'm writing a revision now to
better stay in format.

> Should we refer from one page to the other?  It's hard to keep in sync
> two manual pages with the same text.

Do you think that keeping the more descriptive paragraph in
set_mempolicy(2) and putting a brief referral in mbind(2) would work:

MPOL_PREFERRED_MANY (since Linux 5.15)
Specifies a set of nodes for allocation; see set_mempolicy(2)


-Matt C


On Thu, Feb 20, 2025 at 6:35 AM Alejandro Colomar <alx@xxxxxxxxxx> wrote:
>
> Hi Matthew,
>
> > Cc: linux-man@xxxxxxxxxxxxxxx, dave.hansen@xxxxxxxxxxxxxxx
>
> Please add a Cc tag for Dave in the trailer of the commit message.
>
> On Tue, Feb 18, 2025 at 10:19:39AM -0600, Matthew Cassell wrote:
> > Browsing a header file in the kernel source and saw the memory policy enum used
> > for mbind() and set_mempolicy() using an entry that I didn't recognize. I man 2'd
>
> Please use 2 spaces as the inter-sentence separation in commit messages
> (in man(7) source we always break the line after period).
>
> $ cat CONTRIBUTING.d/patches/description | sed -n '/Style/,+5p'
>     Style guide
>         URIs should always be enclosed in <>.
>
>         The correct inter-sentence space amount is two.  See some
>         history about this:
>         <https://web.archive.org/web/20171217060354/http://www.heracliteanriver.com/?p=324>
>
>
> > both system calls and didn't see an entry for MPOL_PREFERRED_MANY. The commit on
> > the enum entry:
> >
> > Commit b27abaccf8e8 ("mm/mempolicy: added MPOL_PREFERRED_MANY for multiple
>
> Let's remove 'Commit'; it's already obvious from what follows.  Instead
> it would be useful to say which repository the commit is in (and the
> commit date):
>
> linux.git b27abaccf8e8 (2021-09-03; "mm/mempolicy: add MPOL_PREFERRED_MANY for multiple preferred nodes")
>
> Also, while in general I use a 72-column right margin for commit
> messages, I think I prefer if we don't break this reference.
>
> > preferred nodes")
> >
> > The commit message gives the rationale as to why the MPOL_PREFERRED_MANY mode
> > would be beneficial. Giving the ability to set the memory policy to target
> > different tiers of memory over different NUMA nodes.
> >
> > Signed-off-by: Matthew Cassell <mcassell411@xxxxxxxxx>
> > ---
> >  man/man2/mbind.2         | 11 +++++++++++
> >  man/man2/set_mempolicy.2 | 11 +++++++++++
> >  2 files changed, 22 insertions(+)
> >
> > diff --git a/man/man2/mbind.2 b/man/man2/mbind.2
> > index fd1aca4ad..a5a7f4bdc 100644
> > --- a/man/man2/mbind.2
> > +++ b/man/man2/mbind.2
> > @@ -107,6 +107,7 @@ argument must specify one of
> >  .BR MPOL_INTERLEAVE ,
> >  .BR MPOL_WEIGHTED_INTERLEAVE ,
> >  .BR MPOL_PREFERRED ,
> > +.BR MPOL_PREFERRED_MANY ,
> >  or
> >  .B MPOL_LOCAL
> >  (which are described in detail below).
> > @@ -277,6 +278,16 @@ and
> >  arguments specify the empty set, then the memory is allocated on
> >  the node of the CPU that triggered the allocation.
> >  .TP
> > +.BR MPOL_PREFERRED_MANY " (since Linux 5.15)"
> > +.\" commit b27abaccf8e8b012f126da0c2a1ab32723ec8b9f
> > +This mode specifies a preference for nodes from which the kernel will
> > +try to allocate from. This differs from
>
> Please use semantic newlines.  See man-pages(7):
>
> $ MANWIDTH=72 man man-pages | sed -n '/Use semantic newlines/,/^$/p'
>    Use semantic newlines
>        In  the source of a manual page, new sentences should be started
>        on new lines, long sentences  should  be  split  into  lines  at
>        clause  breaks (commas, semicolons, colons, and so on), and long
>        clauses should be split at phrase boundaries.  This  convention,
>        sometimes  known  as "semantic newlines", makes it easier to see
>        the effect of patches, which often operate at the level of indi-
>        vidual sentences, clauses, or phrases.
>
> > +.BR MPOL_PREFERRED
> > +in that it accepts a set of nodes versus a single node. This policy
> > +is intended to benefit page allocations where specific memory types
> > +(i.e. non-volatile, high-bandwidth, or accelerator memory) are of
> > +greater importance than node location.
> > +.TP
> >  .BR MPOL_LOCAL " (since Linux 3.8)"
> >  .\" commit 479e2802d09f1e18a97262c4c6f8f17ae5884bd8
> >  .\" commit f2a07f40dbc603c15f8b06e6ec7f768af67b424f
> > diff --git a/man/man2/set_mempolicy.2 b/man/man2/set_mempolicy.2
> > index 2d0b1da19..f4651ccd3 100644
> > --- a/man/man2/set_mempolicy.2
> > +++ b/man/man2/set_mempolicy.2
> > @@ -65,6 +65,7 @@ argument must specify one of
> >  .BR MPOL_INTERLEAVE ,
> >  .BR MPOL_WEIGHTED_INTERLEAVE ,
> >  .BR MPOL_PREFERRED ,
> > +.BR MPOL_PREFERRED_MANY ,
> >  or
> >  .B MPOL_LOCAL
> >  (which are described in detail below).
> > @@ -234,6 +235,16 @@ arguments specify the empty set, then the policy
> >  specifies "local allocation"
> >  (like the system default policy discussed above).
> >  .TP
> > +.BR MPOL_PREFERRED_MANY " (since Linux 5.15)"
> > +.\" commit b27abaccf8e8b012f126da0c2a1ab32723ec8b9f
> > +This mode specifies a preference for nodes from which the kernel will
> > +try to allocate from. This differs from
> > +.BR MPOL_PREFERRED
> > +in that it accepts a set of nodes versus a single node. This policy
> > +is intended to benefit page allocations where specific memory types
> > +(i.e. non-volatile, high-bandwidth, or accelerator memory) are of
> > +greater importance than node location.
>
> Should we refer from one page to the other?  It's hard to keep in sync
> two manual pages with the same text.
>
>
> Have a lovely day!
> Alex
>
> > +.TP
> >  .BR MPOL_LOCAL " (since Linux 3.8)"
> >  .\" commit 479e2802d09f1e18a97262c4c6f8f17ae5884bd8
> >  .\" commit f2a07f40dbc603c15f8b06e6ec7f768af67b424f
> > --
> > 2.39.5 (Apple Git-154)
> >
>
> --
> <https://www.alejandro-colomar.es/>





[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux