X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest%2Ftest_mbuf.c;h=1835acc73a932b4313873e0c570d7755388b9ff2;hb=acbf77a6907fde331935955ff2a219edae93c3b9;hp=5d13b374d9469135b1de2e27cd973c71bb6bcf5d;hpb=aa61307afcbd5df7b960dec18b321181680a4232;p=dpdk.git diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c index 5d13b374d9..1835acc73a 100644 --- a/app/test/test_mbuf.c +++ b/app/test/test_mbuf.c @@ -333,7 +333,7 @@ testclone_testupdate_testdetach(void) struct rte_mbuf *m = NULL; struct rte_mbuf *clone = NULL; struct rte_mbuf *clone2 = NULL; - uint32_t *data; + unaligned_uint32_t *data; /* alloc a mbuf */ m = rte_pktmbuf_alloc(pktmbuf_pool); @@ -344,7 +344,7 @@ testclone_testupdate_testdetach(void) GOTO_FAIL("Bad length"); rte_pktmbuf_append(m, sizeof(uint32_t)); - data = rte_pktmbuf_mtod(m, uint32_t *); + data = rte_pktmbuf_mtod(m, unaligned_uint32_t *); *data = MAGIC_DATA; /* clone the allocated mbuf */ @@ -352,7 +352,7 @@ testclone_testupdate_testdetach(void) if (clone == NULL) GOTO_FAIL("cannot clone data\n"); - data = rte_pktmbuf_mtod(clone, uint32_t *); + data = rte_pktmbuf_mtod(clone, unaligned_uint32_t *); if (*data != MAGIC_DATA) GOTO_FAIL("invalid data in clone\n"); @@ -369,18 +369,18 @@ testclone_testupdate_testdetach(void) GOTO_FAIL("Next Pkt Null\n"); rte_pktmbuf_append(m->next, sizeof(uint32_t)); - data = rte_pktmbuf_mtod(m->next, uint32_t *); + data = rte_pktmbuf_mtod(m->next, unaligned_uint32_t *); *data = MAGIC_DATA; clone = rte_pktmbuf_clone(m, pktmbuf_pool); if (clone == NULL) GOTO_FAIL("cannot clone data\n"); - data = rte_pktmbuf_mtod(clone, uint32_t *); + data = rte_pktmbuf_mtod(clone, unaligned_uint32_t *); if (*data != MAGIC_DATA) GOTO_FAIL("invalid data in clone\n"); - data = rte_pktmbuf_mtod(clone->next, uint32_t *); + data = rte_pktmbuf_mtod(clone->next, unaligned_uint32_t *); if (*data != MAGIC_DATA) GOTO_FAIL("invalid data in clone->next\n"); @@ -396,11 +396,11 @@ testclone_testupdate_testdetach(void) if (clone2 == NULL) GOTO_FAIL("cannot clone the clone\n"); - data = rte_pktmbuf_mtod(clone2, uint32_t *); + data = rte_pktmbuf_mtod(clone2, unaligned_uint32_t *); if (*data != MAGIC_DATA) GOTO_FAIL("invalid data in clone2\n"); - data = rte_pktmbuf_mtod(clone2->next, uint32_t *); + data = rte_pktmbuf_mtod(clone2->next, unaligned_uint32_t *); if (*data != MAGIC_DATA) GOTO_FAIL("invalid data in clone2->next\n"); @@ -511,10 +511,14 @@ test_attach_from_different_pool(void) rte_pktmbuf_detach(clone); if (c_data != rte_pktmbuf_mtod(clone, char *)) GOTO_FAIL("clone was not detached properly\n"); + if (rte_mbuf_refcnt_read(m) != 2) + GOTO_FAIL("invalid refcnt in m\n"); rte_pktmbuf_detach(clone2); if (c_data2 != rte_pktmbuf_mtod(clone2, char *)) GOTO_FAIL("clone2 was not detached properly\n"); + if (rte_mbuf_refcnt_read(m) != 1) + GOTO_FAIL("invalid refcnt in m\n"); /* free the clones and the initial mbuf */ rte_pktmbuf_free(clone2); @@ -696,7 +700,7 @@ test_refcnt_slave(__attribute__((unused)) void *arg) printf("%s finished at lcore %u, " "number of freed mbufs: %u\n", __func__, lcore, free); - return (0); + return 0; } static void @@ -748,7 +752,7 @@ test_refcnt_iter(unsigned lcore, unsigned iter) __func__, lcore, iter, tref); return; } - rte_delay_ms(1000); + rte_delay_ms(100); } rte_panic("(lcore=%u, iter=%u): after %us only " @@ -770,7 +774,7 @@ test_refcnt_master(void) rte_wmb(); printf("%s finished at lcore %u\n", __func__, lcore); - return (0); + return 0; } #endif @@ -786,7 +790,7 @@ test_refcnt_mbuf(void) if ((lnum = rte_lcore_count()) == 1) { printf("skipping %s, number of lcores: %u is not enough\n", __func__, lnum); - return (0); + return 0; } printf("starting %s, at %u lcores\n", __func__, lnum); @@ -800,7 +804,7 @@ test_refcnt_mbuf(void) SOCKET_ID_ANY)) == NULL) { printf("%s: cannot allocate " MAKE_STRING(refcnt_pool) "\n", __func__); - return (-1); + return -1; } if (refcnt_mbuf_ring == NULL && @@ -809,7 +813,7 @@ test_refcnt_mbuf(void) RING_F_SP_ENQ)) == NULL) { printf("%s: cannot allocate " MAKE_STRING(refcnt_mbuf_ring) "\n", __func__); - return (-1); + return -1; } refcnt_stop_slaves = 0; @@ -836,7 +840,7 @@ test_refcnt_mbuf(void) rte_ring_dump(stdout, refcnt_mbuf_ring); #endif - return (0); + return 0; } #include @@ -930,7 +934,7 @@ test_failing_mbuf_sanity_check(void) static int test_mbuf(void) { - RTE_BUILD_BUG_ON(sizeof(struct rte_mbuf) != RTE_CACHE_LINE_SIZE * 2); + RTE_BUILD_BUG_ON(sizeof(struct rte_mbuf) != RTE_CACHE_LINE_MIN_SIZE * 2); /* create pktmbuf pool if it does not exist */ if (pktmbuf_pool == NULL) {