Skip to contentSkip to conversation

memblock tests: add VERBOSE and MEMBLOCK_DEBUG Makefile options

PATCH Superseded Rebecca Mckeever 5 participants 31 messages Jun 22, 2022 – Jun 24, 2022 Page 2 of 2

Subsystems (2)

v3 of 5 Superseded Latest is v5 →

lore
Share & tools
lore
#22 lore raw

PATCH v3 4/4 memblock tests: remove completed TODO items

In reply to Rebecca Mckeever

Remove completed items from TODO list.

---
 tools/testing/memblock/TODO | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)
tools/testing/memblock/TODO +3 -11
index cd1a30d5acc9..33044c634ea7 100644
@@ -1,25 +1,17 @@
 TODO
 =====
 
-1. Add verbose output (e.g., what is being tested and how many tests cases are
-   passing)
-
-2. Add flags to Makefile:
-   + verbosity level
-   + enable memblock_dbg() messages (i.e. pass "-D CONFIG_DEBUG_MEMORY_INIT"
-     flag)
-
-3. Add tests trying to memblock_add() or memblock_reserve() 129th region.
+1. Add tests trying to memblock_add() or memblock_reserve() 129th region.
    This will trigger memblock_double_array(), make sure it succeeds.
    *Important:* These tests require valid memory ranges, use dummy physical
                 memory block from common.c to implement them. It is also very
                 likely that the current MEM_SIZE won't be enough for these
                 test cases. Use realloc to adjust the size accordingly.
 
-4. Add test cases using this functions (implement them for both directions):
+2. Add test cases using this functions (implement them for both directions):
    + memblock_alloc_raw()
    + memblock_alloc_exact_nid_raw()
    + memblock_alloc_try_nid_raw()
 
-5. Add tests for memblock_alloc_node() to check if the correct NUMA node is set
+3. Add tests for memblock_alloc_node() to check if the correct NUMA node is set
    for the new region
Signature · 1 line
2.34.1
#23 lore raw
In reply to Rebecca Mckeever
Quoted 55 lines · Rebecca Mckeever

These patches add options VERBOSE and MEMBLOCK_DEBUG to Memblock simulator, which can be specified when running make. These patches also implement the functionality for these options.

VERBOSE
Usage:

$ make VERBOSE=1

Passing VERBOSE=1 will enable verbose output from Memblock simulator. For each test, the verbose output includes the name of the memblock function being tested, the name of the test, and whether the test passed or failed. Since all the tests in Memblock simulator run as one monolithic test, this output is a quick way to get a summary of test results.

MEMBLOCK_DEBUG
Usage:

$ make MEMBLOCK_DEBUG=1

Passing MEMBLOCK_DEBUG=1 will enable memblock_dbg() messages. These are debug messages built into several functions in memblock that include information such as the name of the function and the size and start and end addresses of the memblock region.

Rebecca Mckeever (4):
memblock tests: add user-provided arguments to Makefile memblock tests: add verbose output to memblock tests memblock tests: set memblock_debug to enable memblock_dbg() messages memblock tests: remove completed TODO items

 tools/testing/memblock/Makefile               |   4 +
 tools/testing/memblock/README                 |  10 +-
 tools/testing/memblock/TODO                   |  14 +-
 tools/testing/memblock/internal.h             |   7 +
 .../testing/memblock/scripts/Makefile.include |  10 +
 tools/testing/memblock/tests/alloc_api.c      | 241 ++++++++----
 .../memblock/tests/alloc_helpers_api.c        | 135 +++++--
 tools/testing/memblock/tests/alloc_nid_api.c  | 371 ++++++++++++------
 tools/testing/memblock/tests/basic_api.c      | 365 ++++++++++++-----
 tools/testing/memblock/tests/common.c         |  58 +++
 tools/testing/memblock/tests/common.h         |  54 +++
 11 files changed, 913 insertions(+), 356 deletions(-)

---
Changes

v1 -> v2
PATCH 2, in common.c:
Remove #ifdef VERBOSE around prefixes and related constants Add __maybe_unused to prefixes
Move PREFIXES_LEN_MAX, DELIM, and DELIM_LEN so that they are
immediately after the other constants
Add #ifdef VERBOSE around definitions for test_*() and prefix_*()

Quoted 5 lines

v2 -> v3
PATCH 1:
Add Reviewed-by tag
---

Hi Rebecca,

no need to resend a new version that frequently; wait for more feedback first.

Usually, people expect a new version when there hasn't been more review feedback for a few days.

Also, there is usually no need to send a new version when you get a rb/ack tag: the maintainer might just pick them up when applying the patches.

Signature · 3 lines
Thanks,

David / dhildenb
#24 lore raw
Quoted 67 lines · David Hildenbrand
Quoted 55 lines · Rebecca Mckeever

These patches add options VERBOSE and MEMBLOCK_DEBUG to Memblock simulator, which can be specified when running make. These patches also implement the functionality for these options.

VERBOSE
Usage:

$ make VERBOSE=1

Passing VERBOSE=1 will enable verbose output from Memblock simulator. For each test, the verbose output includes the name of the memblock function being tested, the name of the test, and whether the test passed or failed. Since all the tests in Memblock simulator run as one monolithic test, this output is a quick way to get a summary of test results.

MEMBLOCK_DEBUG
Usage:

$ make MEMBLOCK_DEBUG=1

Passing MEMBLOCK_DEBUG=1 will enable memblock_dbg() messages. These are debug messages built into several functions in memblock that include information such as the name of the function and the size and start and end addresses of the memblock region.

Rebecca Mckeever (4):
memblock tests: add user-provided arguments to Makefile memblock tests: add verbose output to memblock tests memblock tests: set memblock_debug to enable memblock_dbg() messages memblock tests: remove completed TODO items

 tools/testing/memblock/Makefile               |   4 +
 tools/testing/memblock/README                 |  10 +-
 tools/testing/memblock/TODO                   |  14 +-
 tools/testing/memblock/internal.h             |   7 +
 .../testing/memblock/scripts/Makefile.include |  10 +
 tools/testing/memblock/tests/alloc_api.c      | 241 ++++++++----
 .../memblock/tests/alloc_helpers_api.c        | 135 +++++--
 tools/testing/memblock/tests/alloc_nid_api.c  | 371 ++++++++++++------
 tools/testing/memblock/tests/basic_api.c      | 365 ++++++++++++-----
 tools/testing/memblock/tests/common.c         |  58 +++
 tools/testing/memblock/tests/common.h         |  54 +++
 11 files changed, 913 insertions(+), 356 deletions(-)

---
Changes

v1 -> v2
PATCH 2, in common.c:
Remove #ifdef VERBOSE around prefixes and related constants Add __maybe_unused to prefixes
Move PREFIXES_LEN_MAX, DELIM, and DELIM_LEN so that they are
immediately after the other constants
Add #ifdef VERBOSE around definitions for test_*() and prefix_*()

Quoted 5 lines

v2 -> v3
PATCH 1:
Add Reviewed-by tag
---

Hi Rebecca,

no need to resend a new version that frequently; wait for more feedback first.

Quoted 7 lines

Usually, people expect a new version when there hasn't been more review feedback for a few days.

Also, there is usually no need to send a new version when you get a rb/ack tag: the maintainer might just pick them up when applying the patches.

Hi David,

I sent v2 because I noticed a nontrivial mistake after I sent v1 and I wanted to save reviewers some trouble by correcting it right away. I agree that v3 was probably unnecessary.

Quoted 5 lines
Signature · 3 lines
Thanks,

David / dhildenb

Thanks,
Rebecca

maintainer
#25 lore raw
In reply to Rebecca Mckeever

Hi Rebecca,

Quoted 55 lines · Rebecca Mckeever

These patches add options VERBOSE and MEMBLOCK_DEBUG to Memblock simulator, which can be specified when running make. These patches also implement the functionality for these options.

VERBOSE
Usage:

$ make VERBOSE=1

Passing VERBOSE=1 will enable verbose output from Memblock simulator. For each test, the verbose output includes the name of the memblock function being tested, the name of the test, and whether the test passed or failed. Since all the tests in Memblock simulator run as one monolithic test, this output is a quick way to get a summary of test results.

MEMBLOCK_DEBUG
Usage:

$ make MEMBLOCK_DEBUG=1

Passing MEMBLOCK_DEBUG=1 will enable memblock_dbg() messages. These are debug messages built into several functions in memblock that include information such as the name of the function and the size and start and end addresses of the memblock region.

Rebecca Mckeever (4):
memblock tests: add user-provided arguments to Makefile memblock tests: add verbose output to memblock tests memblock tests: set memblock_debug to enable memblock_dbg() messages memblock tests: remove completed TODO items

 tools/testing/memblock/Makefile               |   4 +
 tools/testing/memblock/README                 |  10 +-
 tools/testing/memblock/TODO                   |  14 +-
 tools/testing/memblock/internal.h             |   7 +
 .../testing/memblock/scripts/Makefile.include |  10 +
 tools/testing/memblock/tests/alloc_api.c      | 241 ++++++++----
 .../memblock/tests/alloc_helpers_api.c        | 135 +++++--
 tools/testing/memblock/tests/alloc_nid_api.c  | 371 ++++++++++++------
 tools/testing/memblock/tests/basic_api.c      | 365 ++++++++++++-----
 tools/testing/memblock/tests/common.c         |  58 +++
 tools/testing/memblock/tests/common.h         |  54 +++
 11 files changed, 913 insertions(+), 356 deletions(-)

---
Changes

v1 -> v2
PATCH 2, in common.c:
Remove #ifdef VERBOSE around prefixes and related constants Add __maybe_unused to prefixes
Move PREFIXES_LEN_MAX, DELIM, and DELIM_LEN so that they are
immediately after the other constants
Add #ifdef VERBOSE around definitions for test_*() and prefix_*()

Quoted 4 lines

v2 -> v3
PATCH 1:
Add Reviewed-by tag
---

The patch changelog in a cover letter usually goes before the commit list and diffstat.

Quoted 3 lines
Signature · 1 line
2.34.1
Signature · 2 lines
Sincerely yours,
Mike.
#26 lore raw

Hi Mike,

Quoted 58 lines · Mike Rapoport

Hi Rebecca,

Quoted 55 lines · Rebecca Mckeever

These patches add options VERBOSE and MEMBLOCK_DEBUG to Memblock simulator, which can be specified when running make. These patches also implement the functionality for these options.

VERBOSE
Usage:

$ make VERBOSE=1

Passing VERBOSE=1 will enable verbose output from Memblock simulator. For each test, the verbose output includes the name of the memblock function being tested, the name of the test, and whether the test passed or failed. Since all the tests in Memblock simulator run as one monolithic test, this output is a quick way to get a summary of test results.

MEMBLOCK_DEBUG
Usage:

$ make MEMBLOCK_DEBUG=1

Passing MEMBLOCK_DEBUG=1 will enable memblock_dbg() messages. These are debug messages built into several functions in memblock that include information such as the name of the function and the size and start and end addresses of the memblock region.

Rebecca Mckeever (4):
memblock tests: add user-provided arguments to Makefile memblock tests: add verbose output to memblock tests memblock tests: set memblock_debug to enable memblock_dbg() messages memblock tests: remove completed TODO items

 tools/testing/memblock/Makefile               |   4 +
 tools/testing/memblock/README                 |  10 +-
 tools/testing/memblock/TODO                   |  14 +-
 tools/testing/memblock/internal.h             |   7 +
 .../testing/memblock/scripts/Makefile.include |  10 +
 tools/testing/memblock/tests/alloc_api.c      | 241 ++++++++----
 .../memblock/tests/alloc_helpers_api.c        | 135 +++++--
 tools/testing/memblock/tests/alloc_nid_api.c  | 371 ++++++++++++------
 tools/testing/memblock/tests/basic_api.c      | 365 ++++++++++++-----
 tools/testing/memblock/tests/common.c         |  58 +++
 tools/testing/memblock/tests/common.h         |  54 +++
 11 files changed, 913 insertions(+), 356 deletions(-)

---
Changes

v1 -> v2
PATCH 2, in common.c:
Remove #ifdef VERBOSE around prefixes and related constants Add __maybe_unused to prefixes
Move PREFIXES_LEN_MAX, DELIM, and DELIM_LEN so that they are
immediately after the other constants
Add #ifdef VERBOSE around definitions for test_*() and prefix_*()

Quoted 8 lines
Quoted 4 lines

v2 -> v3
PATCH 1:
Add Reviewed-by tag
---

The patch changelog in a cover letter usually goes before the commit list and diffstat.

Thanks for letting me know, I will do that next time.

Quoted 7 lines
Quoted 3 lines
Signature · 1 line
2.34.1
Signature · 2 lines
Sincerely yours,
Mike.

Thanks,
Rebecca

#27 lore raw
In reply to Rebecca Mckeever
Quoted 3 lines · Rebecca Mckeever

These patches add options VERBOSE and MEMBLOCK_DEBUG to Memblock simulator, which can be specified when running make. These patches also implement the functionality for these options.

I seem to be missing patch 3/4 and I don't see it on lore?

https://lore.kernel.org/linux-mm/004e021cc3cb7be8749361b3b1cb324459b9cb9f.1655889641.git.remckee0@gmail.com/

Did it get sent? Did it define the ASSERT_*() macros?

Ira

Quoted 61 lines

VERBOSE
Usage:

$ make VERBOSE=1

Passing VERBOSE=1 will enable verbose output from Memblock simulator. For each test, the verbose output includes the name of the memblock function being tested, the name of the test, and whether the test passed or failed. Since all the tests in Memblock simulator run as one monolithic test, this output is a quick way to get a summary of test results.

MEMBLOCK_DEBUG
Usage:

$ make MEMBLOCK_DEBUG=1

Passing MEMBLOCK_DEBUG=1 will enable memblock_dbg() messages. These are debug messages built into several functions in memblock that include information such as the name of the function and the size and start and end addresses of the memblock region.

Rebecca Mckeever (4):
memblock tests: add user-provided arguments to Makefile memblock tests: add verbose output to memblock tests memblock tests: set memblock_debug to enable memblock_dbg() messages memblock tests: remove completed TODO items

 tools/testing/memblock/Makefile               |   4 +
 tools/testing/memblock/README                 |  10 +-
 tools/testing/memblock/TODO                   |  14 +-
 tools/testing/memblock/internal.h             |   7 +
 .../testing/memblock/scripts/Makefile.include |  10 +
 tools/testing/memblock/tests/alloc_api.c      | 241 ++++++++----
 .../memblock/tests/alloc_helpers_api.c        | 135 +++++--
 tools/testing/memblock/tests/alloc_nid_api.c  | 371 ++++++++++++------
 tools/testing/memblock/tests/basic_api.c      | 365 ++++++++++++-----
 tools/testing/memblock/tests/common.c         |  58 +++
 tools/testing/memblock/tests/common.h         |  54 +++
 11 files changed, 913 insertions(+), 356 deletions(-)

---
Changes

v1 -> v2
PATCH 2, in common.c:
Remove #ifdef VERBOSE around prefixes and related constants Add __maybe_unused to prefixes
Move PREFIXES_LEN_MAX, DELIM, and DELIM_LEN so that they are
immediately after the other constants
Add #ifdef VERBOSE around definitions for test_*() and prefix_*()

v2 -> v3
PATCH 1:
Add Reviewed-by tag
---

Signature · 1 line
2.34.1
#28 lore raw
Quoted 10 lines · Ira Weiny
Quoted 3 lines · Rebecca Mckeever

These patches add options VERBOSE and MEMBLOCK_DEBUG to Memblock simulator, which can be specified when running make. These patches also implement the functionality for these options.

I seem to be missing patch 3/4 and I don't see it on lore?

https://lore.kernel.org/linux-mm/004e021cc3cb7be8749361b3b1cb324459b9cb9f.1655889641.git.remckee0@gmail.com/

Did it get sent? Did it define the ASSERT_*() macros?

That's strange, my email shows that it was sent to [email protected] and [email protected] but I'm not seeing it on lore either. Should I resend just patch 3/4? For now, you can take a look at v1. Patch 3 is unchanged from v1, which is showing up on lore:

https://lore.kernel.org/linux-mm/fe34452209f54287023ccacd666eade81ecd9a24.1655878337.git.remckee0@gmail.com/T/#u

It does not define the ASSERT_*() macros, that happens in patch 2. Patch 3 implements MEMBLOCK_DEBUG.

Thanks,
Rebecca

Quoted 64 lines

Ira

Quoted 61 lines

VERBOSE
Usage:

$ make VERBOSE=1

Passing VERBOSE=1 will enable verbose output from Memblock simulator. For each test, the verbose output includes the name of the memblock function being tested, the name of the test, and whether the test passed or failed. Since all the tests in Memblock simulator run as one monolithic test, this output is a quick way to get a summary of test results.

MEMBLOCK_DEBUG
Usage:

$ make MEMBLOCK_DEBUG=1

Passing MEMBLOCK_DEBUG=1 will enable memblock_dbg() messages. These are debug messages built into several functions in memblock that include information such as the name of the function and the size and start and end addresses of the memblock region.

Rebecca Mckeever (4):
memblock tests: add user-provided arguments to Makefile memblock tests: add verbose output to memblock tests memblock tests: set memblock_debug to enable memblock_dbg() messages memblock tests: remove completed TODO items

 tools/testing/memblock/Makefile               |   4 +
 tools/testing/memblock/README                 |  10 +-
 tools/testing/memblock/TODO                   |  14 +-
 tools/testing/memblock/internal.h             |   7 +
 .../testing/memblock/scripts/Makefile.include |  10 +
 tools/testing/memblock/tests/alloc_api.c      | 241 ++++++++----
 .../memblock/tests/alloc_helpers_api.c        | 135 +++++--
 tools/testing/memblock/tests/alloc_nid_api.c  | 371 ++++++++++++------
 tools/testing/memblock/tests/basic_api.c      | 365 ++++++++++++-----
 tools/testing/memblock/tests/common.c         |  58 +++
 tools/testing/memblock/tests/common.h         |  54 +++
 11 files changed, 913 insertions(+), 356 deletions(-)

---
Changes

v1 -> v2
PATCH 2, in common.c:
Remove #ifdef VERBOSE around prefixes and related constants Add __maybe_unused to prefixes
Move PREFIXES_LEN_MAX, DELIM, and DELIM_LEN so that they are
immediately after the other constants
Add #ifdef VERBOSE around definitions for test_*() and prefix_*()

v2 -> v3
PATCH 1:
Add Reviewed-by tag
---

Signature · 1 line
2.34.1
maintainer
#29 lore raw
Quoted 11 lines · Rebecca Mckeever
Quoted 10 lines · Ira Weiny
Quoted 3 lines · Rebecca Mckeever

These patches add options VERBOSE and MEMBLOCK_DEBUG to Memblock simulator, which can be specified when running make. These patches also implement the functionality for these options.

I seem to be missing patch 3/4 and I don't see it on lore?

https://lore.kernel.org/linux-mm/004e021cc3cb7be8749361b3b1cb324459b9cb9f.1655889641.git.remckee0@gmail.com/

Did it get sent? Did it define the ASSERT_*() macros?

I see it on lore in both linux-mm and linux-kernel, and here as well:

https://lore.kernel.org/all/39c5c97d2b5c1ab88b7bbbf02633f840fd5dfcdf.1655889641.git.remckee0@gmail.com/

Quoted 3 lines

That's strange, my email shows that it was sent to [email protected] and [email protected] but I'm not seeing it on lore either. Should I resend just patch 3/4?

No need to resend.

Quoted 11 lines

For now, you can take a look at v1. Patch 3 is unchanged from v1, which is showing up on lore:

https://lore.kernel.org/linux-mm/fe34452209f54287023ccacd666eade81ecd9a24.1655878337.git.remckee0@gmail.com/T/#u

It does not define the ASSERT_*() macros, that happens in patch 2. Patch 3 implements MEMBLOCK_DEBUG.

Thanks,
Rebecca

Signature · 2 lines
Sincerely yours,
Mike.
#30 lore raw
Quoted 9 lines · Mike Rapoport
Quoted 8 lines · Rebecca Mckeever
Quoted 7 lines · Ira Weiny
Quoted 3 lines · Rebecca Mckeever

These patches add options VERBOSE and MEMBLOCK_DEBUG to Memblock simulator, which can be specified when running make. These patches also implement the functionality for these options.

I seem to be missing patch 3/4 and I don't see it on lore?

Quoted 7 lines
Quoted 3 lines
Quoted 3 lines

https://lore.kernel.org/linux-mm/004e021cc3cb7be8749361b3b1cb324459b9cb9f.1655889641.git.remckee0@gmail.com/

Did it get sent? Did it define the ASSERT_*() macros?

I see it on lore in both linux-mm and linux-kernel, and here as well:

https://lore.kernel.org/all/39c5c97d2b5c1ab88b7bbbf02633f840fd5dfcdf.1655889641.git.remckee0@gmail.com/

Odd. Thanks!

Ira

Quoted 22 lines
Quoted 4 lines

That's strange, my email shows that it was sent to [email protected] and [email protected] but I'm not seeing it on lore either. Should I resend just patch 3/4?

No need to resend.

Quoted 11 lines

For now, you can take a look at v1. Patch 3 is unchanged from v1, which is showing up on lore:

https://lore.kernel.org/linux-mm/fe34452209f54287023ccacd666eade81ecd9a24.1655878337.git.remckee0@gmail.com/T/#u

It does not define the ASSERT_*() macros, that happens in patch 2. Patch 3 implements MEMBLOCK_DEBUG.

Thanks,
Rebecca

Signature · 2 lines
Sincerely yours,
Mike.