From: Karolina Drobnik <karolinadrobnik@gmail.com>
To: linux-mm@kvack.org
Cc: rppt@kernel.org, akpm@linux-foundation.org,
linux-kernel@vger.kernel.org,
Karolina Drobnik <karolinadrobnik@gmail.com>
Subject: [PATCH 0/9] Add tests for memblock allocation functions
Date: Mon, 28 Feb 2022 15:46:42 +0100 [thread overview]
Message-ID: <cover.1646055639.git.karolinadrobnik@gmail.com> (raw)
Patches are on top of memblock/for-next.
This series adds test coverage for memblock allocation functions that return
virtual addresses:
* memblock_alloc
* memblock_alloc_try_nid
* memblock_alloc_from
These tests are a part of memblock simulator, a user space test suite that uses
the actual memblock code[1]. All the tests are run as one, monolithic test, that
exercises both basic operations and allocation functions of memblock.
To simplify implementation of the memory allocation tests, reset_memblock() was
split into two functions - reset_memblock_attributes() and
reset_memblock_regions(). The former sets default values for region array names,
allocation direction flag (bottom_up) and current memory limit. The latter only
resets region arrays and corresponding counters.
In addition to these, the patch set introduces a data structure that simulates
physical memory, test_memory. It is a simple wrapper around a pointer to the
memory block allocated via malloc(), which is added to memblock as available
memory. This is required because the tested functions interact with the memory
before allocating it.
Patchset structure:
* Patch 1 splits reset_memblock() into two functions -
reset_memblock_regions() and reset_memblock_attributes(), and updates
basic API tests to use the new definitions
* Patch 2 adds test_memory struct and functions to add (or release) dummy
physical memory
* Patches 3 - 8 add test cases for memblock_alloc, memblock_alloc_try_nid and
memblock_alloc_from for both allocation directions (default top down and
bottom up)
* Patch 9 adds README and TODO files
[1] https://lore.kernel.org/linux-mm/cover.1643796665.git.karolinadrobnik@gmail.com/
Karolina Drobnik (9):
memblock tests: Split up reset_memblock function
memblock tests: Add simulation of physical memory
memblock tests: Add memblock_alloc tests for top down
memblock tests: Add memblock_alloc tests for bottom up
memblock tests: Add memblock_alloc_from tests for top down
memblock tests: Add memblock_alloc_from tests for bottom up
memblock tests: Add memblock_alloc_try_nid tests for top down
memblock tests: Add memblock_alloc_try_nid tests for bottom up
memblock tests: Add TODO and README files
tools/testing/memblock/Makefile | 3 +-
tools/testing/memblock/README | 114 ++
tools/testing/memblock/TODO | 28 +
tools/testing/memblock/main.c | 7 +
tools/testing/memblock/tests/alloc_api.c | 742 +++++++++++
tools/testing/memblock/tests/alloc_api.h | 9 +
.../memblock/tests/alloc_helpers_api.c | 393 ++++++
.../memblock/tests/alloc_helpers_api.h | 9 +
tools/testing/memblock/tests/alloc_nid_api.c | 1167 +++++++++++++++++
tools/testing/memblock/tests/alloc_nid_api.h | 9 +
tools/testing/memblock/tests/basic_api.c | 49 +-
tools/testing/memblock/tests/basic_api.h | 1 -
tools/testing/memblock/tests/common.c | 33 +-
tools/testing/memblock/tests/common.h | 21 +-
14 files changed, 2550 insertions(+), 35 deletions(-)
create mode 100644 tools/testing/memblock/README
create mode 100644 tools/testing/memblock/TODO
create mode 100644 tools/testing/memblock/tests/alloc_api.c
create mode 100644 tools/testing/memblock/tests/alloc_api.h
create mode 100644 tools/testing/memblock/tests/alloc_helpers_api.c
create mode 100644 tools/testing/memblock/tests/alloc_helpers_api.h
create mode 100644 tools/testing/memblock/tests/alloc_nid_api.c
create mode 100644 tools/testing/memblock/tests/alloc_nid_api.h
base-commit: f30b002ccfee8c60c8feb590e145c0b5e8fa4c67
--
2.30.2
next reply other threads:[~2022-02-28 14:47 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-28 14:46 Karolina Drobnik [this message]
2022-02-28 14:46 ` [PATCH 1/9] memblock tests: Split up reset_memblock function Karolina Drobnik
2022-02-28 14:46 ` [PATCH 2/9] memblock tests: Add simulation of physical memory Karolina Drobnik
2022-02-28 14:46 ` [PATCH 3/9] memblock tests: Add memblock_alloc tests for top down Karolina Drobnik
2022-02-28 14:46 ` [PATCH 4/9] memblock tests: Add memblock_alloc tests for bottom up Karolina Drobnik
2022-02-28 14:46 ` [PATCH 5/9] memblock tests: Add memblock_alloc_from tests for top down Karolina Drobnik
2022-02-28 14:46 ` [PATCH 6/9] memblock tests: Add memblock_alloc_from tests for bottom up Karolina Drobnik
2022-02-28 14:46 ` [PATCH 7/9] memblock tests: Add memblock_alloc_try_nid tests for top down Karolina Drobnik
2022-02-28 14:46 ` [PATCH 8/9] memblock tests: Add memblock_alloc_try_nid tests for bottom up Karolina Drobnik
2022-02-28 14:46 ` [PATCH 9/9] memblock tests: Add TODO and README files Karolina Drobnik
2022-03-07 18:13 ` Mike Rapoport
2022-03-07 18:17 ` [PATCH 0/9] Add tests for memblock allocation functions Mike Rapoport
2022-03-09 15:10 ` Mike Rapoport
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=cover.1646055639.git.karolinadrobnik@gmail.com \
--to=karolinadrobnik@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=rppt@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).