[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ffb7f9e5-676d-e382-11bd-8bd87c40ee0c@redhat.com>
Date: Thu, 8 Sep 2022 14:23:30 +0200
From: David Hildenbrand <david@...hat.com>
To: Rebecca Mckeever <remckee0@...il.com>,
Mike Rapoport <rppt@...nel.org>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4 2/4] memblock tests: add top-down NUMA tests for
memblock_alloc_try_nid*
On 04.09.22 06:21, Rebecca Mckeever wrote:
> Add tests for memblock_alloc_try_nid() and memblock_alloc_try_nid_raw()
> where the simulated physical memory is set up with multiple NUMA nodes.
> Additionally, all of these tests set nid != NUMA_NO_NODE. These tests are
> run with a top-down allocation direction.
>
> The tested scenarios are:
>
> Range unrestricted:
> - region can be allocated in the specific node requested:
> + there are no previously reserved regions
> + the requested node is partially reserved but has enough space
> - the specific node requested cannot accommodate the request, but the
> region can be allocated in a different node:
> + there are no previously reserved regions, but node is too small
> + the requested node is fully reserved
> + the requested node is partially reserved and does not have
> enough space
>
> Range restricted:
> - region can be allocated in the specific node requested after dropping
> min_addr:
> + range partially overlaps with two different nodes, where the first
> node is the requested node
> + range partially overlaps with two different nodes, where the
> requested node ends before min_addr
> - region cannot be allocated in the specific node requested, but it can be
> allocated in the requested range:
> + range overlaps with multiple nodes along node boundaries, and the
> requested node ends before min_addr
> + range overlaps with multiple nodes along node boundaries, and the
> requested node starts after max_addr
> - region cannot be allocated in the specific node requested, but it can be
> allocated after dropping min_addr:
> + range partially overlaps with two different nodes, where the
> second node is the requested node
>
> Signed-off-by: Rebecca Mckeever <remckee0@...il.com>
> ---
> tools/testing/memblock/tests/alloc_nid_api.c | 694 ++++++++++++++++++-
> tools/testing/memblock/tests/alloc_nid_api.h | 16 +
> tools/testing/memblock/tests/common.h | 18 +
> 3 files changed, 717 insertions(+), 11 deletions(-)
>
> diff --git a/tools/testing/memblock/tests/alloc_nid_api.c b/tools/testing/memblock/tests/alloc_nid_api.c
> index 32b3c1594fdd..a639e9d3e098 100644
> --- a/tools/testing/memblock/tests/alloc_nid_api.c
> +++ b/tools/testing/memblock/tests/alloc_nid_api.c
> @@ -3,6 +3,14 @@
>
> static int alloc_nid_test_flags = TEST_F_NONE;
>
> +/*
> + * contains the denominators of the fractions of MEM_SIZE contained in each node
> + * (e.g., if node_fractions[0] = SZ_8, node 0 will contain 1/8th of MEM_SIZE)
> + */
> +static const phys_addr_t node_fractions[] = {
> + SZ_4, SZ_16, SZ_8, SZ_8, SZ_16, SZ_16, SZ_4, SZ_16
> +};
> +
Besides that part, that I consider confusing :)
Acked-by: David Hildenbrand <david@...hat.com>
--
Thanks,
David / dhildenb
Powered by blists - more mailing lists