From: Mike Rapoport <rppt@kernel.org>
To: Rebecca Mckeever <remckee0@gmail.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
David Hildenbrand <david@redhat.com>
Subject: Re: [PATCH v2 1/4] memblock tests: add simulation of physical memory with multiple NUMA nodes
Date: Wed, 31 Aug 2022 18:15:41 +0300 [thread overview]
Message-ID: <Yw97HVSRW4+pkemb@kernel.org> (raw)
In-Reply-To: <0cfb3c69ba6ca9ff55e1fc2528d18d108416ba57.1660897864.git.remckee0@gmail.com>
On Fri, Aug 19, 2022 at 02:05:31AM -0700, Rebecca Mckeever wrote:
> Add functions setup_numa_memblock_generic() and setup_numa_memblock()
> for setting up a memory layout with multiple NUMA nodes in a previously
> allocated dummy physical memory. These functions can be used in place of
> setup_memblock() in tests that need to simulate a NUMA system.
>
> setup_numa_memblock_generic():
> - allows for setting up a custom memory layout by specifying the amount
> of memory in each node, the number of nodes, and a factor that will be
> used to scale the memory in each node
>
> setup_numa_memblock():
> - allows for setting up a default memory layout
>
> Introduce constant MEM_FACTOR, which is used to scale the default memory
> layout based on MEM_SIZE.
>
> Set CONFIG_NODES_SHIFT to 4 when building with NUMA=1 to allow for up to
> 16 NUMA nodes.
>
> Signed-off-by: Rebecca Mckeever <remckee0@gmail.com>
> ---
> .../testing/memblock/scripts/Makefile.include | 2 +-
> tools/testing/memblock/tests/common.c | 38 +++++++++++++++++++
> tools/testing/memblock/tests/common.h | 9 ++++-
> 3 files changed, 47 insertions(+), 2 deletions(-)
...
> +/**
> + * setup_numa_memblock_generic:
> + * Set up a memory layout with multiple NUMA nodes in a previously allocated
> + * dummy physical memory.
> + * @nodes: an array containing the amount of memory in each node
> + * @node_cnt: the size of @nodes
> + * @factor: a factor that will be used to scale the memory in each node
> + *
> + * The nids will be set to 0 through node_cnt - 1.
> + */
> +void setup_numa_memblock_generic(const phys_addr_t nodes[],
> + int node_cnt, int factor)
I only had time for a quick look and it seems this function is never used
on its own.
Let's fold it into setup_numa_memblock() for now.
> +{
> + phys_addr_t base;
> + int flags;
> +
> + reset_memblock_regions();
> + base = (phys_addr_t)memory_block.base;
> + flags = (movable_node_is_enabled()) ? MEMBLOCK_NONE : MEMBLOCK_HOTPLUG;
> +
> + for (int i = 0; i < node_cnt; i++) {
> + phys_addr_t size = factor * nodes[i];
> +
> + memblock_add_node(base, size, i, flags);
> + base += size;
> + }
> + fill_memblock();
> +}
> +
> +void setup_numa_memblock(void)
> +{
> + setup_numa_memblock_generic(node_sizes, NUMA_NODES, MEM_FACTOR);
> +}
> +
--
Sincerely yours,
Mike.
next prev parent reply other threads:[~2022-08-31 15:15 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-19 9:05 [PATCH v2 0/4] memblock tests: add NUMA tests for memblock_alloc_try_nid* Rebecca Mckeever
2022-08-19 9:05 ` [PATCH v2 1/4] memblock tests: add simulation of physical memory with multiple NUMA nodes Rebecca Mckeever
2022-08-30 11:17 ` David Hildenbrand
2022-08-31 3:49 ` Rebecca Mckeever
2022-08-31 15:12 ` Mike Rapoport
2022-09-01 22:53 ` Rebecca Mckeever
2022-09-01 8:06 ` David Hildenbrand
2022-09-02 0:08 ` Rebecca Mckeever
2022-08-31 15:15 ` Mike Rapoport [this message]
2022-09-02 0:14 ` Rebecca Mckeever
2022-08-19 9:05 ` [PATCH v2 2/4] memblock tests: add top-down NUMA tests for memblock_alloc_try_nid* Rebecca Mckeever
2022-08-30 11:56 ` David Hildenbrand
2022-09-02 0:37 ` Rebecca Mckeever
2022-08-19 9:05 ` [PATCH v2 3/4] memblock tests: add bottom-up " Rebecca Mckeever
2022-08-19 9:05 ` [PATCH v2 4/4] memblock tests: add generic " Rebecca Mckeever
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=Yw97HVSRW4+pkemb@kernel.org \
--to=rppt@kernel.org \
--cc=david@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=remckee0@gmail.com \
/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.