Re: [PATCH v4 1/1] docs/mm: Physical Memory: add structure, introduction and nodes description

From: Mike Rapoport
Date: Tue Jan 24 2023 - 06:16:47 EST


On Tue, Jan 24, 2023 at 12:00:07PM +0100, Vlastimil Babka wrote:
> On 1/15/23 19:42, Mike Rapoport wrote:
> > From: "Mike Rapoport (IBM)" <rppt@xxxxxxxxxx>
> >
> > Add structure, introduction and Nodes section to Physical Memory
> > chapter.
> >
> > As the new documentation references core-api/dma-api and mm/page_reclaim,
> > add page labels to those documents.
> >
> > Reviewed-by: Bagas Sanjaya <bagasdotme@xxxxxxxxx>
> > Reviewed-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx>
> > Acked-by: Michal Hocko <mhocko@xxxxxxxx>
> > Signed-off-by: Mike Rapoport (IBM) <rppt@xxxxxxxxxx>
>
> Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
>
> A small bug to fix below?
>
> <snip>
>
> > +
> > +Along with the node structures, kernel maintains an array of ``nodemask_t``
> > +bitmasks called ``node_states``. Each bitmask in this array represents a set of
> > +nodes with particular properties as defined by ``enum node_states``:
> > +
> > +``N_POSSIBLE``
> > + The node could become online at some point.
> > +``N_ONLINE``
> > + The node is online.
> > +``N_NORMAL_MEMORY``
> > + The node has regular memory.
> > +``N_HIGH_MEMORY``
> > + The node has regular or high memory. When ``CONFIG_HIGHMEM`` is disabled
> > + aliased to ``N_NORMAL_MEMORY``.
>
> Noted.
>
> > +``N_MEMORY``
> > + The node has memory(regular, high, movable)
> > +``N_CPU``
> > + The node has one or more CPUs
> > +
> > +For each node that has a property described above, the bit corresponding to the
> > +node ID in the ``node_states[<property>]`` bitmask is set.
> > +
> > +For example, for node 2 with normal memory and CPUs, bit 2 will be set in ::
> > +
> > + node_states[N_POSSIBLE]
> > + node_states[N_ONLINE]
> > + node_states[N_NORMAL_MEMORY]
> > + node_states[N_MEMORY]
> > + node_states[N_CPU]
>
> Should it be set also in node_states[N_HIGH_MEMORY]?

You mean because of the aliasing of N_NORMAL_MEMORY and N_HIGH_MEMORY?