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

From: Vlastimil Babka
Date: Tue Jan 24 2023 - 06:02:47 EST


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