From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shreyansh Jain Subject: Re: [PATCH 2/2] test/mempool_perf: support default mempool autotest Date: Wed, 5 Apr 2017 15:32:32 +0530 Message-ID: References: <1491382264-23489-1-git-send-email-santosh.shukla@caviumnetworks.com> <1491382264-23489-2-git-send-email-santosh.shukla@caviumnetworks.com> Mime-Version: 1.0 Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Cc: , , To: Santosh Shukla Return-path: Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0050.outbound.protection.outlook.com [104.47.34.50]) by dpdk.org (Postfix) with ESMTP id 0876C2A6C for ; Wed, 5 Apr 2017 11:55:51 +0200 (CEST) In-Reply-To: <1491382264-23489-2-git-send-email-santosh.shukla@caviumnetworks.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi Santosh, On Wednesday 05 April 2017 02:21 PM, Santosh Shukla wrote: > Mempool_perf autotest currently does perf regression for: > * nochache > * cache > > Introducing default_pool, mainly targeted for ext-mempool regression > test. Ext-mempool don't need 'cache' modes so only adding test-case > support for 'nocache' mode. > > So to run ext-mempool perf regression, user has to set > RTE_MBUF_DEFAULT_MEMPOOL_OPS="<>" > > There is chance of duplication ie.. if user sets > > RTE_MBUF_DEFAULT_MEMPOOL_OPS="ring_mp_mc" then regression > will happen twice for 'ring_mp_mc' > > Signed-off-by: Santosh Shukla > --- > test/test/test_mempool_perf.c | 41 +++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 41 insertions(+) > > diff --git a/test/test/test_mempool_perf.c b/test/test/test_mempool_perf.c > index 3c45971..9c80860 100644 > --- a/test/test/test_mempool_perf.c > +++ b/test/test/test_mempool_perf.c > @@ -111,6 +111,7 @@ > > static struct rte_mempool *mp; > static struct rte_mempool *mp_cache, *mp_nocache; > +static struct rte_mempool *default_pool; > static int use_external_cache; > static unsigned external_cache_size = RTE_MEMPOOL_CACHE_MAX_SIZE; > > @@ -337,6 +338,31 @@ struct mempool_test_stats { Similar observations as [PATCH 1/2], the context above is not correct. it should be test_mempool_perf(void) > if (mp_cache == NULL) > goto err; > > + /* Create a mempool based on Default handler */ > + default_pool = rte_mempool_create_empty("default_pool", > + MEMPOOL_SIZE, > + MEMPOOL_ELT_SIZE, > + 0, 0, > + SOCKET_ID_ANY, 0); > + > + if (default_pool == NULL) { > + printf("cannot allocate %s mempool\n", > + RTE_MBUF_DEFAULT_MEMPOOL_OPS); > + goto err; > + } > + if (rte_mempool_set_ops_byname(default_pool, > + RTE_MBUF_DEFAULT_MEMPOOL_OPS, NULL) < 0) { > + printf("cannot set %s handler\n", > + RTE_MBUF_DEFAULT_MEMPOOL_OPS); > + goto err; > + } > + if (rte_mempool_populate_default(default_pool) < 0) { > + printf("cannot populate %s mempool\n", > + RTE_MBUF_DEFAULT_MEMPOOL_OPS); > + goto err; > + } > + rte_mempool_obj_iter(default_pool, my_obj_init, NULL); > + > /* performance test with 1, 2 and max cores */ > printf("start performance test (without cache)\n"); > mp = mp_nocache; > @@ -351,6 +377,20 @@ struct mempool_test_stats { > goto err; > > /* performance test with 1, 2 and max cores */ > + printf("start performance test for %s (without cache)\n", > + RTE_MBUF_DEFAULT_MEMPOOL_OPS); > + mp = default_pool; > + > + if (do_one_mempool_test(1) < 0) > + goto err; > + > + if (do_one_mempool_test(2) < 0) > + goto err; > + > + if (do_one_mempool_test(rte_lcore_count()) < 0) > + goto err; > + > + /* performance test with 1, 2 and max cores */ > printf("start performance test (with cache)\n"); > mp = mp_cache; > > @@ -384,6 +424,7 @@ struct mempool_test_stats { > err: > rte_mempool_free(mp_cache); > rte_mempool_free(mp_nocache); > + rte_mempool_free(default_pool); > return ret; > } > > Other than the above trivial comment: Acked-by: Shreyansh Jain