@@ -65,20 +65,18 @@ handle_work(void *arg)
struct rte_mbuf *buf[8] __rte_cache_aligned;
struct worker_params *wp = arg;
struct rte_distributor *db = wp->dist;
- unsigned int count = 0, num;
+ unsigned int num;
unsigned int id = __atomic_fetch_add(&worker_idx, 1, __ATOMIC_RELAXED);
num = rte_distributor_get_pkt(db, id, buf, NULL, 0);
while (!quit) {
__atomic_fetch_add(&worker_stats[id].handled_packets, num,
__ATOMIC_ACQ_REL);
- count += num;
num = rte_distributor_get_pkt(db, id,
buf, buf, num);
}
__atomic_fetch_add(&worker_stats[id].handled_packets, num,
__ATOMIC_ACQ_REL);
- count += num;
rte_distributor_return_pkt(db, id, buf, num);
return 0;
}
@@ -274,21 +272,18 @@ handle_work_with_free_mbufs(void *arg)
struct rte_mbuf *buf[8] __rte_cache_aligned;
struct worker_params *wp = arg;
struct rte_distributor *d = wp->dist;
- unsigned int count = 0;
unsigned int i;
unsigned int num;
unsigned int id = __atomic_fetch_add(&worker_idx, 1, __ATOMIC_RELAXED);
num = rte_distributor_get_pkt(d, id, buf, NULL, 0);
while (!quit) {
- count += num;
__atomic_fetch_add(&worker_stats[id].handled_packets, num,
__ATOMIC_ACQ_REL);
for (i = 0; i < num; i++)
rte_pktmbuf_free(buf[i]);
num = rte_distributor_get_pkt(d, id, buf, NULL, 0);
}
- count += num;
__atomic_fetch_add(&worker_stats[id].handled_packets, num,
__ATOMIC_ACQ_REL);
rte_distributor_return_pkt(d, id, buf, num);
@@ -316,7 +311,6 @@ sanity_test_with_mbuf_alloc(struct worker_params *wp, struct rte_mempool *p)
rte_distributor_process(d, NULL, 0);
for (j = 0; j < BURST; j++) {
bufs[j]->hash.usr = (i+j) << 1;
- rte_mbuf_refcnt_set(bufs[j], 1);
}
rte_distributor_process(d, bufs, BURST);
@@ -340,15 +334,11 @@ sanity_test_with_mbuf_alloc(struct worker_params *wp, struct rte_mempool *p)
static int
handle_work_for_shutdown_test(void *arg)
{
- struct rte_mbuf *pkt = NULL;
struct rte_mbuf *buf[8] __rte_cache_aligned;
struct worker_params *wp = arg;
struct rte_distributor *d = wp->dist;
- unsigned int count = 0;
unsigned int num;
- unsigned int total = 0;
unsigned int i;
- unsigned int returned = 0;
unsigned int zero_id = 0;
const unsigned int id = __atomic_fetch_add(&worker_idx, 1,
__ATOMIC_RELAXED);
@@ -365,7 +355,6 @@ handle_work_for_shutdown_test(void *arg)
/* wait for quit single globally, or for worker zero, wait
* for zero_quit */
while (!quit && !(id == zero_id && zero_quit)) {
- count += num;
__atomic_fetch_add(&worker_stats[id].handled_packets, num,
__ATOMIC_ACQ_REL);
for (i = 0; i < num; i++)
@@ -378,12 +367,7 @@ handle_work_for_shutdown_test(void *arg)
__ATOMIC_ACQUIRE);
__atomic_store_n(&zero_idx, zero_id, __ATOMIC_RELEASE);
}
-
- total += num;
}
- count += num;
- returned = rte_distributor_return_pkt(d, id, buf, num);
-
__atomic_fetch_add(&worker_stats[id].handled_packets, num,
__ATOMIC_ACQ_REL);
if (id == zero_id) {
@@ -393,19 +377,19 @@ handle_work_for_shutdown_test(void *arg)
while (zero_quit)
usleep(100);
+ for (i = 0; i < num; i++)
+ rte_pktmbuf_free(buf[i]);
num = rte_distributor_get_pkt(d, id, buf, NULL, 0);
while (!quit) {
- count += num;
- rte_pktmbuf_free(pkt);
- num = rte_distributor_get_pkt(d, id, buf, NULL, 0);
__atomic_fetch_add(&worker_stats[id].handled_packets,
num, __ATOMIC_ACQ_REL);
+ for (i = 0; i < num; i++)
+ rte_pktmbuf_free(buf[i]);
+ num = rte_distributor_get_pkt(d, id, buf, NULL, 0);
}
- returned = rte_distributor_return_pkt(d,
- id, buf, num);
- printf("Num returned = %d\n", returned);
}
+ rte_distributor_return_pkt(d, id, buf, num);
return 0;
}