[dpdk-dev] [PATCH 1/2] test/memzone: add test for memzone count in eal mem config

Radoslaw Biernacki radoslaw.biernacki at linaro.org
Sat Jan 27 15:53:32 CET 2018


Looks OK.

Following note is aside from the patch.
Might be beneficial (in some rare cases) to add bailout recovery with
goto's in test_memzone_basic()
Just in case one of the rte_memzone_reserve() we should not make return -1,
but instead a goto to below section where we call rte_memzone_free().
This way we would be able to free only the allocated memzones and prevent
leaking out those memzones to other tests.

Reviewed-by: Radoslaw Biernacki <r <ferruh.yigit at intel.com>
adoslaw.biernacki at linaro.com>

On 26 January 2018 at 18:40, Anatoly Burakov <anatoly.burakov at intel.com>
wrote:

> Ensure that memzone count in eal mem config is incremented and
> decremented whenever memzones are allocated and freed.
>
> Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
> ---
>  test/test/test_memzone.c | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
>
> diff --git a/test/test/test_memzone.c b/test/test/test_memzone.c
> index f6c9b56..00d340f 100644
> --- a/test/test/test_memzone.c
> +++ b/test/test/test_memzone.c
> @@ -841,6 +841,9 @@ test_memzone_basic(void)
>         const struct rte_memzone *memzone3;
>         const struct rte_memzone *memzone4;
>         const struct rte_memzone *mz;
> +       int memzone_cnt_after, memzone_cnt_expected;
> +       int memzone_cnt_before =
> +                       rte_eal_get_configuration()->
> mem_config->memzone_cnt;
>
>         memzone1 = rte_memzone_reserve("testzone1", 100,
>                                 SOCKET_ID_ANY, 0);
> @@ -858,6 +861,18 @@ test_memzone_basic(void)
>         if (memzone1 == NULL || memzone2 == NULL || memzone4 == NULL)
>                 return -1;
>
> +       /* check how many memzones we are expecting */
> +       memzone_cnt_expected = memzone_cnt_before +
> +                       (memzone1 != NULL) + (memzone2 != NULL) +
> +                       (memzone3 != NULL) + (memzone4 != NULL);
> +
> +       memzone_cnt_after =
> +                       rte_eal_get_configuration()->
> mem_config->memzone_cnt;
> +
> +       if (memzone_cnt_after != memzone_cnt_expected)
> +               return -1;
> +
> +
>         rte_memzone_dump(stdout);
>
>         /* check cache-line alignments */
> @@ -930,6 +945,11 @@ test_memzone_basic(void)
>                 return -1;
>         }
>
> +       memzone_cnt_after =
> +                       rte_eal_get_configuration()->
> mem_config->memzone_cnt;
> +       if (memzone_cnt_after != memzone_cnt_before)
> +               return -1;
> +
>         return 0;
>  }
>
> --
> 2.7.4
>


More information about the dev mailing list