From: Rebecca Mckeever <remckee0@gmail.com>
To: "Huang, Shaoqin" <shaoqin.huang@intel.com>
Cc: Mike Rapoport <rppt@kernel.org>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
David Hildenbrand <david@redhat.com>
Subject: Re: [PATCH 3/8] memblock tests: add labels to verbose output for generic alloc tests
Date: Thu, 18 Aug 2022 22:03:58 -0700 [thread overview]
Message-ID: <20220819050358.GA3930@sophie> (raw)
In-Reply-To: <03f8614e-2bd7-afa8-6744-14397cbc9cb1@intel.com>
On Tue, Aug 16, 2022 at 11:08:44AM +0800, Huang, Shaoqin wrote:
>
>
> On 8/16/2022 10:39 AM, Rebecca Mckeever wrote:
> > On Mon, Aug 15, 2022 at 05:15:47PM +0800, Huang, Shaoqin wrote:
> > > I found original some of test function has the prefix `top_down` and
> > > `bottom_up`, and some of test function didn't have the prefix.
> > >
> > > In this patch, it just modified these functions which didn't have the prefix
> > > `top_down` or `bottom_up`, and now there are two style about these test
> > > functions in the code.
> > >
> > > One is:
> > > run_top_down(alloc_in_between_generic_check);
> > > run_bottom_up(alloc_in_between_generic_check);
> > >
> > > Another one is:
> > > memblock_set_bottom_up(false);
> > > alloc_top_down_before_check();
> > > memblock_set_bottom_up(true);
> > > alloc_bottom_up_before_check();
> > >
> > > Thus there gonna be two output style, here is an example:
> > > ok 89 : memblock_alloc_from: top-down: alloc_from_simple_generic_check:
> > > passed
> > > ok 90 : memblock_alloc_from: bottom-up: alloc_from_simple_generic_check:
> > > passed
> > >
> > > ok 99 : memblock_alloc_try_nid: alloc_try_nid_top_down_simple_check: passed
> > > ok 100 : memblock_alloc_try_nid: alloc_try_nid_bottom_up_simple_check:
> > > passed
> > >
> > > It may make confuse if one is printed between the colon and one is inside
> > > the function name.
> > >
> > > So maybe make the style consistent is more make sense. And I think this can
> > > be done by modify all these function name which with `top_down` and
> > > `bottom_up` inside, and replace them with your new run_top_down() and
> > > run_bottom_up() functions.
> > >
> > So you're saying use run_top_down() and run_bottom_up() even for functions
> > with `top_down` and `bottom_up` in the name, but don't change the names?
> >
>
> Yes. We can't delete these `top_down` and `bottom_up` in the name and makes
> two functions to have the same name. Due to these functions with `top_down`
> and `bottom_up` have different implementation.
>
> If use run_top_down() and run_bottom_up() for these functions. We can get
> the consistent output style, but a little redundant output(Maybe this isn't
> a good idea).
>
Yes, I think the output would be too redundant. Even though there are
two different output styles, the style is consistent within each pair of
tests. So there is at least a consistent pattern.
> > > On 8/14/2022 1:53 PM, Rebecca Mckeever wrote:
> > > > Generic tests for memblock_alloc*() functions do not use separate
> > > > functions for testing top-down and bottom-up allocation directions.
> > > > Therefore, the function name that is displayed in the verbose testing
> > > > output does not include the allocation direction.
> > > >
> > > > Add an additional prefix when running generic tests for
> > > > memblock_alloc*() functions that indicates which allocation direction is
> > > > set. The prefix will be displayed when the tests are run in verbose mode.
> > > >
> > > > Signed-off-by: Rebecca Mckeever <remckee0@gmail.com>
> > > > ---
> > > > tools/testing/memblock/tests/alloc_api.c | 36 +++++++------------
> > > > .../memblock/tests/alloc_helpers_api.c | 12 +++----
> > > > tools/testing/memblock/tests/alloc_nid_api.c | 36 +++++++------------
> > > > tools/testing/memblock/tests/common.h | 16 +++++++++
> > > > 4 files changed, 44 insertions(+), 56 deletions(-)
> > > >
> > > > diff --git a/tools/testing/memblock/tests/alloc_api.c b/tools/testing/memblock/tests/alloc_api.c
> > > > index 71c89cb9b2a8..73c2c43e702a 100644
> > > > --- a/tools/testing/memblock/tests/alloc_api.c
> > > > +++ b/tools/testing/memblock/tests/alloc_api.c
> > > > @@ -752,10 +752,8 @@ static int alloc_after_check(void)
> > > > static int alloc_in_between_check(void)
> > > > {
> > > > test_print("\tRunning %s...\n", __func__);
> > > > - memblock_set_bottom_up(false);
> > > > - alloc_in_between_generic_check();
> > > > - memblock_set_bottom_up(true);
> > > > - alloc_in_between_generic_check();
> > > > + run_top_down(alloc_in_between_generic_check);
> > > > + run_bottom_up(alloc_in_between_generic_check);
> > > > return 0;
> > > > }
> > > > @@ -774,10 +772,8 @@ static int alloc_second_fit_check(void)
> > > > static int alloc_small_gaps_check(void)
> > > > {
> > > > test_print("\tRunning %s...\n", __func__);
> > > > - memblock_set_bottom_up(false);
> > > > - alloc_small_gaps_generic_check();
> > > > - memblock_set_bottom_up(true);
> > > > - alloc_small_gaps_generic_check();
> > > > + run_top_down(alloc_small_gaps_generic_check);
> > > > + run_bottom_up(alloc_small_gaps_generic_check);
> > > > return 0;
> > > > }
> > > > @@ -785,10 +781,8 @@ static int alloc_small_gaps_check(void)
> > > > static int alloc_all_reserved_check(void)
> > > > {
> > > > test_print("\tRunning %s...\n", __func__);
> > > > - memblock_set_bottom_up(false);
> > > > - alloc_all_reserved_generic_check();
> > > > - memblock_set_bottom_up(true);
> > > > - alloc_all_reserved_generic_check();
> > > > + run_top_down(alloc_all_reserved_generic_check);
> > > > + run_bottom_up(alloc_all_reserved_generic_check);
> > > > return 0;
> > > > }
> > > > @@ -796,10 +790,8 @@ static int alloc_all_reserved_check(void)
> > > > static int alloc_no_space_check(void)
> > > > {
> > > > test_print("\tRunning %s...\n", __func__);
> > > > - memblock_set_bottom_up(false);
> > > > - alloc_no_space_generic_check();
> > > > - memblock_set_bottom_up(true);
> > > > - alloc_no_space_generic_check();
> > > > + run_top_down(alloc_no_space_generic_check);
> > > > + run_bottom_up(alloc_no_space_generic_check);
> > > > return 0;
> > > > }
> > > > @@ -807,10 +799,8 @@ static int alloc_no_space_check(void)
> > > > static int alloc_limited_space_check(void)
> > > > {
> > > > test_print("\tRunning %s...\n", __func__);
> > > > - memblock_set_bottom_up(false);
> > > > - alloc_limited_space_generic_check();
> > > > - memblock_set_bottom_up(true);
> > > > - alloc_limited_space_generic_check();
> > > > + run_top_down(alloc_limited_space_generic_check);
> > > > + run_bottom_up(alloc_limited_space_generic_check);
> > > > return 0;
> > > > }
> > > > @@ -818,10 +808,8 @@ static int alloc_limited_space_check(void)
> > > > static int alloc_no_memory_check(void)
> > > > {
> > > > test_print("\tRunning %s...\n", __func__);
> > > > - memblock_set_bottom_up(false);
> > > > - alloc_no_memory_generic_check();
> > > > - memblock_set_bottom_up(true);
> > > > - alloc_no_memory_generic_check();
> > > > + run_top_down(alloc_no_memory_generic_check);
> > > > + run_bottom_up(alloc_no_memory_generic_check);
> > > > return 0;
> > > > }
> > > > diff --git a/tools/testing/memblock/tests/alloc_helpers_api.c b/tools/testing/memblock/tests/alloc_helpers_api.c
> > > > index 796527cf3bd2..1ccf02639ad6 100644
> > > > --- a/tools/testing/memblock/tests/alloc_helpers_api.c
> > > > +++ b/tools/testing/memblock/tests/alloc_helpers_api.c
> > > > @@ -357,10 +357,8 @@ static int alloc_from_bottom_up_min_addr_cap_check(void)
> > > > static int alloc_from_simple_check(void)
> > > > {
> > > > test_print("\tRunning %s...\n", __func__);
> > > > - memblock_set_bottom_up(false);
> > > > - alloc_from_simple_generic_check();
> > > > - memblock_set_bottom_up(true);
> > > > - alloc_from_simple_generic_check();
> > > > + run_top_down(alloc_from_simple_generic_check);
> > > > + run_bottom_up(alloc_from_simple_generic_check);
> > > > return 0;
> > > > }
> > > > @@ -368,10 +366,8 @@ static int alloc_from_simple_check(void)
> > > > static int alloc_from_misaligned_check(void)
> > > > {
> > > > test_print("\tRunning %s...\n", __func__);
> > > > - memblock_set_bottom_up(false);
> > > > - alloc_from_misaligned_generic_check();
> > > > - memblock_set_bottom_up(true);
> > > > - alloc_from_misaligned_generic_check();
> > > > + run_top_down(alloc_from_misaligned_generic_check);
> > > > + run_bottom_up(alloc_from_misaligned_generic_check);
> > > > return 0;
> > > > }
> > > > diff --git a/tools/testing/memblock/tests/alloc_nid_api.c b/tools/testing/memblock/tests/alloc_nid_api.c
> > > > index 71b7beb35526..82fa8ea36320 100644
> > > > --- a/tools/testing/memblock/tests/alloc_nid_api.c
> > > > +++ b/tools/testing/memblock/tests/alloc_nid_api.c
> > > > @@ -1142,10 +1142,8 @@ static int alloc_try_nid_cap_min_check(void)
> > > > static int alloc_try_nid_min_reserved_check(void)
> > > > {
> > > > test_print("\tRunning %s...\n", __func__);
> > > > - memblock_set_bottom_up(false);
> > > > - alloc_try_nid_min_reserved_generic_check();
> > > > - memblock_set_bottom_up(true);
> > > > - alloc_try_nid_min_reserved_generic_check();
> > > > + run_top_down(alloc_try_nid_min_reserved_generic_check);
> > > > + run_bottom_up(alloc_try_nid_min_reserved_generic_check);
> > > > return 0;
> > > > }
> > > > @@ -1153,10 +1151,8 @@ static int alloc_try_nid_min_reserved_check(void)
> > > > static int alloc_try_nid_max_reserved_check(void)
> > > > {
> > > > test_print("\tRunning %s...\n", __func__);
> > > > - memblock_set_bottom_up(false);
> > > > - alloc_try_nid_max_reserved_generic_check();
> > > > - memblock_set_bottom_up(true);
> > > > - alloc_try_nid_max_reserved_generic_check();
> > > > + run_top_down(alloc_try_nid_max_reserved_generic_check);
> > > > + run_bottom_up(alloc_try_nid_max_reserved_generic_check);
> > > > return 0;
> > > > }
> > > > @@ -1164,10 +1160,8 @@ static int alloc_try_nid_max_reserved_check(void)
> > > > static int alloc_try_nid_exact_address_check(void)
> > > > {
> > > > test_print("\tRunning %s...\n", __func__);
> > > > - memblock_set_bottom_up(false);
> > > > - alloc_try_nid_exact_address_generic_check();
> > > > - memblock_set_bottom_up(true);
> > > > - alloc_try_nid_exact_address_generic_check();
> > > > + run_top_down(alloc_try_nid_exact_address_generic_check);
> > > > + run_bottom_up(alloc_try_nid_exact_address_generic_check);
> > > > return 0;
> > > > }
> > > > @@ -1175,10 +1169,8 @@ static int alloc_try_nid_exact_address_check(void)
> > > > static int alloc_try_nid_reserved_full_merge_check(void)
> > > > {
> > > > test_print("\tRunning %s...\n", __func__);
> > > > - memblock_set_bottom_up(false);
> > > > - alloc_try_nid_reserved_full_merge_generic_check();
> > > > - memblock_set_bottom_up(true);
> > > > - alloc_try_nid_reserved_full_merge_generic_check();
> > > > + run_top_down(alloc_try_nid_reserved_full_merge_generic_check);
> > > > + run_bottom_up(alloc_try_nid_reserved_full_merge_generic_check);
> > > > return 0;
> > > > }
> > > > @@ -1186,10 +1178,8 @@ static int alloc_try_nid_reserved_full_merge_check(void)
> > > > static int alloc_try_nid_reserved_all_check(void)
> > > > {
> > > > test_print("\tRunning %s...\n", __func__);
> > > > - memblock_set_bottom_up(false);
> > > > - alloc_try_nid_reserved_all_generic_check();
> > > > - memblock_set_bottom_up(true);
> > > > - alloc_try_nid_reserved_all_generic_check();
> > > > + run_top_down(alloc_try_nid_reserved_all_generic_check);
> > > > + run_bottom_up(alloc_try_nid_reserved_all_generic_check);
> > > > return 0;
> > > > }
> > > > @@ -1197,10 +1187,8 @@ static int alloc_try_nid_reserved_all_check(void)
> > > > static int alloc_try_nid_low_max_check(void)
> > > > {
> > > > test_print("\tRunning %s...\n", __func__);
> > > > - memblock_set_bottom_up(false);
> > > > - alloc_try_nid_low_max_generic_check();
> > > > - memblock_set_bottom_up(true);
> > > > - alloc_try_nid_low_max_generic_check();
> > > > + run_top_down(alloc_try_nid_low_max_generic_check);
> > > > + run_bottom_up(alloc_try_nid_low_max_generic_check);
> > > > return 0;
> > > > }
> > > > diff --git a/tools/testing/memblock/tests/common.h b/tools/testing/memblock/tests/common.h
> > > > index 7a16a7dc8f2c..e0dd5b410099 100644
> > > > --- a/tools/testing/memblock/tests/common.h
> > > > +++ b/tools/testing/memblock/tests/common.h
> > > > @@ -101,4 +101,20 @@ static inline void test_pass_pop(void)
> > > > prefix_pop();
> > > > }
> > > > +static inline void run_top_down(int (*func)())
> > > > +{
> > > > + memblock_set_bottom_up(false);
> > > > + prefix_push("top-down");
> > > > + func();
> > > > + prefix_pop();
> > > > +}
> > > > +
> > > > +static inline void run_bottom_up(int (*func)())
> > > > +{
> > > > + memblock_set_bottom_up(true);
> > > > + prefix_push("bottom-up");
> > > > + func();
> > > > + prefix_pop();
> > > > +}
> > > > +
> > > > #endif
Thanks,
Rebecca
next prev parent reply other threads:[~2022-08-19 5:06 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-14 5:53 [PATCH 0/8] memblock tests: update and extend memblock simulator Rebecca Mckeever
2022-08-14 5:53 ` [PATCH 1/8] memblock tests: update tests to check if memblock_alloc zeroed memory Rebecca Mckeever
2022-08-15 8:50 ` Huang, Shaoqin
2022-08-16 2:15 ` Rebecca Mckeever
2022-08-16 2:24 ` Huang, Shaoqin
2022-08-14 5:53 ` [PATCH 2/8] memblock tests: update zeroed memory check for memblock_alloc_* tests Rebecca Mckeever
2022-08-15 8:59 ` Huang, Shaoqin
2022-08-14 5:53 ` [PATCH 3/8] memblock tests: add labels to verbose output for generic alloc tests Rebecca Mckeever
2022-08-15 9:15 ` Huang, Shaoqin
2022-08-16 2:39 ` Rebecca Mckeever
2022-08-16 3:08 ` Huang, Shaoqin
2022-08-19 5:03 ` Rebecca Mckeever [this message]
2022-08-19 8:39 ` Huang, Shaoqin
2022-08-14 5:53 ` [PATCH 4/8] memblock tests: add additional tests for basic api and memblock_alloc Rebecca Mckeever
2022-08-15 10:19 ` Huang, Shaoqin
2022-08-19 6:10 ` Rebecca Mckeever
2022-08-14 5:53 ` [PATCH 5/8] memblock tests: update alloc_api to test memblock_alloc_raw Rebecca Mckeever
2022-08-14 5:53 ` [PATCH 6/8] memblock tests: update alloc_nid_api to test memblock_alloc_try_nid_raw Rebecca Mckeever
2022-08-16 1:24 ` Huang, Shaoqin
2022-08-19 6:22 ` Rebecca Mckeever
2022-08-14 5:53 ` [PATCH 7/8] memblock tests: add tests for memblock_*bottom_up functions Rebecca Mckeever
2022-08-16 1:46 ` Huang, Shaoqin
2022-08-14 5:54 ` [PATCH 8/8] memblock tests: add tests for memblock_trim_memory Rebecca Mckeever
2022-08-16 1:46 ` Huang, Shaoqin
2022-08-20 8:40 ` 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=20220819050358.GA3930@sophie \
--to=remckee0@gmail.com \
--cc=david@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=rppt@kernel.org \
--cc=shaoqin.huang@intel.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.