All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: Harry van Haaren <harry.van.haaren@intel.com>
Cc: <dev@dpdk.org>
Subject: Re: [PATCH 00/15] next-eventdev: event/sw Software Eventdev
Date: Sat, 21 Jan 2017 23:27:41 +0530	[thread overview]
Message-ID: <20170121175740.GA13156@localhost.localdomain> (raw)
In-Reply-To: <1484581255-148720-1-git-send-email-harry.van.haaren@intel.com>

On Mon, Jan 16, 2017 at 03:40:40PM +0000, Harry van Haaren wrote:
> The following patchset adds software eventdev implementation
> to the next-eventdev tree, and applies to current git HEAD.
> 
> This implementation is based on the previous software eventdev
> RFC patchset[1], updated to integrate with the latest rte_eventdev.h
> API.
> 
> The first two patches make changes to the eventdev API,
> then the software implementation is added, and finally
> tests are added for the sw eventdev implementation.
> 
> This patchset contains the work of multiple developers,
> please see signoffs on each patch.
> 
> Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
> 
> [1] http://dpdk.org/ml/archives/dev/2016-November/050285.html
>

A few git-am, check-git-log.sh and checkpatches.sh errors in the patch
series.

1) [dpdk-next-eventdev-review] $ pwclient git-am 19436
Applying patch #19436 using 'git am'
Description: [dpdk-dev,03/15] event/sw: add new software-only eventdev
driver
Applying: event/sw: add new software-only eventdev driver
/export/dpdk-next-eventdev-review/.git/rebase-apply/patch:114: new blank
line at EOF.
+
warning: 1 line adds whitespace errors.

2) [dpdk-next-eventdev-review] $ ./devtools/check-git-log.sh
Wrong headline format:
	event/sw: add start, stop and close functions

3) [dpdk-next-eventdev-review] $ ./devtools/checkpatches.sh *.patch

### [PATCH 03/12] event/sw: add support for event queues

ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses
#83: FILE: drivers/event/sw/iq_ring.h:60:
+#define force_inline inline __attribute__((always_inline))

ERROR:SPACING: spaces required around that '>' (ctx:OxW)
#163: FILE: drivers/event/sw/iq_ring.h:140:
+	for (i = nb_qes; i --> 0; )
 	                     ^

WARNING:LONG_LINE_STRING: line over 80 characters
#257: FILE: drivers/event/sw/sw_evdev.c:90:
+			SW_LOG_DBG("invalid reorder_window_size for ordered queue\n");

WARNING:LONG_LINE_COMMENT: line over 80 characters
#454: FILE: drivers/event/sw/sw_evdev.h:116:
+	struct reorder_buffer_entry *reorder_buffer; /* packets awaiting reordering */

total: 2 errors, 2 warnings, 437 lines checked

### [PATCH 04/12] event/sw: add support for event ports

ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses
#89: FILE: drivers/event/sw/event_ring.h:65:
+#define force_inline inline __attribute__((always_inline))

WARNING:LONG_LINE: line over 80 characters
#235: FILE: drivers/event/sw/sw_evdev.c:65:
+	uint8_t enq_oversize = conf->enqueue_depth > info.max_event_port_enqueue_depth;

WARNING:LONG_LINE: line over 80 characters
#236: FILE: drivers/event/sw/sw_evdev.c:66:
+	uint8_t deq_oversize = conf->dequeue_depth > info.max_event_port_dequeue_depth;

WARNING:LONG_LINE_STRING: line over 80 characters
#244: FILE: drivers/event/sw/sw_evdev.c:74:
+	snprintf(buf, sizeof(buf), "sw%d_%s", dev->data->dev_id, "rx_worker_ring");

WARNING:LONG_LINE_STRING: line over 80 characters
#255: FILE: drivers/event/sw/sw_evdev.c:85:
+	snprintf(buf, sizeof(buf), "sw%d_%s", dev->data->dev_id, "cq_worker_ring");

WARNING:LONG_LINE_COMMENT: line over 80 characters
#309: FILE: drivers/event/sw/sw_evdev.h:53:
+#define SCHED_DEQUEUE_BURST_SIZE 32 /* how many packets pulled from port by sched */

WARNING:LONG_LINE_COMMENT: line over 80 characters
#360: FILE: drivers/event/sw/sw_evdev.h:169:
+	uint64_t avg_pkt_ticks;      /* tracks average over NUM_SAMPLES bursts */

total: 1 errors, 6 warnings, 368 lines checked

### [PATCH 05/12] event/sw: add support for linking queues to ports

WARNING:LONG_LINE: line over 80 characters
#74: FILE: drivers/event/sw/sw_evdev.c:108:
+				q->cq_map[j] = q->cq_map[q->cq_num_mapped_cqs - 1];

total: 0 errors, 1 warnings, 79 lines checked

### [PATCH 06/12] event/sw: add worker core functions

WARNING:LONG_LINE_COMMENT: line over 80 characters
#73: FILE: drivers/event/sw/sw_evdev.h:67:
+#define QE_FLAG_VALID    (1 << QE_FLAG_VALID_SHIFT)  /* set for NEW, FWD, FRAG */

WARNING:LONG_LINE: line over 80 characters
#191: FILE: drivers/event/sw/sw_evdev_worker.c:80:
+		int failed_to_get = rte_atomic32_dec_and_test(&sw->inflight_quanta);

WARNING:LONG_LINE: line over 80 characters
#217: FILE: drivers/event/sw/sw_evdev_worker.c:106:
+		uint64_t burst_pkt_ticks = burst_ticks / p->last_dequeue_burst_sz;

total: 0 errors, 3 warnings, 233 lines checked

### [PATCH 07/12] event/sw: add scheduling logic

WARNING:LONG_LINE_COMMENT: line over 80 characters
#156: FILE: drivers/event/sw/sw_evdev_scheduler.c:76:
+		/* use cheap bit mixing, since we only need to lose a few bits */

WARNING:LONG_LINE: line over 80 characters
#170: FILE: drivers/event/sw/sw_evdev_scheduler.c:90:
+			for (cq_idx = 0; cq_idx < qid->cq_num_mapped_cqs; cq_idx++) {

WARNING:LONG_LINE: line over 80 characters
#174: FILE: drivers/event/sw/sw_evdev_scheduler.c:94:
+					cq = test_cq, cq_free_cnt = test_cq_free;

WARNING:LONG_LINE: line over 80 characters
#204: FILE: drivers/event/sw/sw_evdev_scheduler.c:124:
+			qe_ring_enqueue_burst(worker, p->cq_buf, p->cq_buf_count,

WARNING:LONG_LINE: line over 80 characters
#231: FILE: drivers/event/sw/sw_evdev_scheduler.c:151:
+		count = RTE_MIN(count, rte_ring_count(qid->reorder_buffer_freelist));

WARNING:LONG_LINE: line over 80 characters
#249: FILE: drivers/event/sw/sw_evdev_scheduler.c:169:
+		} while (qe_ring_free_count(sw->ports[cq].cq_worker_ring) == 0 ||

WARNING:LONG_LINE: line over 80 characters
#342: FILE: drivers/event/sw/sw_evdev_scheduler.c:262:
+						(type == RTE_SCHED_TYPE_ORDERED));

WARNING:LONG_LINE: line over 80 characters
#391: FILE: drivers/event/sw/sw_evdev_scheduler.c:311:
+				qe = &entry->fragments[entry->fragment_index + j];

WARNING:LONG_LINE: line over 80 characters
#401: FILE: drivers/event/sw/sw_evdev_scheduler.c:321:
+				struct sw_qid *dest_qid_ptr = &sw->qids[dest_qid];

WARNING:LONG_LINE: line over 80 characters
#402: FILE: drivers/event/sw/sw_evdev_scheduler.c:322:
+				const struct iq_ring *dest_iq_ptr = dest_qid_ptr->iq[dest_iq];

WARNING:LONG_LINE: line over 80 characters
#427: FILE: drivers/event/sw/sw_evdev_scheduler.c:347:
+				rte_ring_sp_enqueue(qid->reorder_buffer_freelist,

WARNING:LONG_LINE: line over 80 characters
#495: FILE: drivers/event/sw/sw_evdev_scheduler.c:415:
+			struct sw_fid_t *fid = &sw->qids[hist_qid].fids[hist_fid];

WARNING:LONG_LINE: line over 80 characters
#502: FILE: drivers/event/sw/sw_evdev_scheduler.c:422:
+				uintptr_t rob_ptr = (uintptr_t)hist_entry->rob_entry;

WARNING:LONG_LINE: line over 80 characters
#505: FILE: drivers/event/sw/sw_evdev_scheduler.c:425:
+				rob_ptr |= ((valid - 1) & (uintptr_t)&dummy_rob);

WARNING:LONG_LINE: line over 80 characters
#506: FILE: drivers/event/sw/sw_evdev_scheduler.c:426:
+				((struct reorder_buffer_entry *)rob_ptr)->ready =

WARNING:LONG_LINE_COMMENT: line over 80 characters
#520: FILE: drivers/event/sw/sw_evdev_scheduler.c:440:
+				/* Although fragmentation not currently supported

WARNING:LONG_LINE: line over 80 characters
#525: FILE: drivers/event/sw/sw_evdev_scheduler.c:445:
+				if (rob_entry->num_fragments == SW_FRAGMENTS_MAX)

WARNING:LONG_LINE: line over 80 characters
#528: FILE: drivers/event/sw/sw_evdev_scheduler.c:448:
+					rob_entry->fragments[rob_entry->num_fragments++] = *qe;

WARNING:LONG_LINE_COMMENT: line over 80 characters
#625: FILE: drivers/event/sw/sw_evdev_scheduler.c:545:
+				/* TODO: use a function pointer in the port itself */

WARNING:LONG_LINE: line over 80 characters
#627: FILE: drivers/event/sw/sw_evdev_scheduler.c:547:
+					in_pkts += sw_schedule_pull_port_dir(sw, i);

WARNING:LONG_LINE: line over 80 characters
#629: FILE: drivers/event/sw/sw_evdev_scheduler.c:549:
+					in_pkts += sw_schedule_pull_port_lb(sw, i);

WARNING:LONG_LINE: line over 80 characters
#631: FILE: drivers/event/sw/sw_evdev_scheduler.c:551:
+					in_pkts += sw_schedule_pull_port_no_reorder(sw, i);

total: 0 errors, 22 warnings, 623 lines checked

### [PATCH 09/12] event/sw: add dump function for easier debugging

WARNING:LONG_LINE: line over 80 characters
#39: FILE: drivers/event/sw/sw_evdev.c:422:
+	uint32_t credits = sw->nb_events_limit - (quanta * SW_INFLIGHT_QUANTA_SIZE);

WARNING:LONG_LINE_STRING: line over 80 characters
#50: FILE: drivers/event/sw/sw_evdev.c:433:
+		fprintf(f, "\trx   %"PRIu64"\tdrop %"PRIu64"\ttx   %"PRIu64"\tinflight %d\n",

WARNING:LONG_LINE: line over 80 characters
#56: FILE: drivers/event/sw/sw_evdev.c:439:
+			sw->ports[i].avg_pkt_ticks, sw->ports[i].inflight_credits);

ERROR:SPACING: spaces required around that '>' (ctx:OxW)
#61: FILE: drivers/event/sw/sw_evdev.c:444:
+		for (max = (int)RTE_DIM(p->poll_buckets); max --> 0;)
 		                                                ^

WARNING:LONG_LINE: line over 80 characters
#67: FILE: drivers/event/sw/sw_evdev.c:450:
+						((j << SW_DEQ_STAT_BUCKET_SHIFT) + 1),

WARNING:LONG_LINE: line over 80 characters
#68: FILE: drivers/event/sw/sw_evdev.c:451:
+						((j+1) << SW_DEQ_STAT_BUCKET_SHIFT),

WARNING:LONG_LINE: line over 80 characters
#69: FILE: drivers/event/sw/sw_evdev.c:452:
+						p->poll_buckets[j] * 100.0 / p->total_polls);

WARNING:LONG_LINE: line over 80 characters
#75: FILE: drivers/event/sw/sw_evdev.c:458:
+		fprintf(f, "\t%srx ring used: %4"PRIu64"\tfree: %4"PRIu64 COL_RESET"\n",

WARNING:LONG_LINE: line over 80 characters
#81: FILE: drivers/event/sw/sw_evdev.c:464:
+		fprintf(f, "\t%scq ring used: %4"PRIu64"\tfree: %4"PRIu64 COL_RESET"\n",

WARNING:LONG_LINE: line over 80 characters
#96: FILE: drivers/event/sw/sw_evdev.c:479:
+				rte_ring_free_count(qid->reorder_buffer_freelist));

WARNING:LONG_LINE: line over 80 characters
#106: FILE: drivers/event/sw/sw_evdev.c:489:
+		fprintf(f, "\tInflights: %u\tFlows pinned per port: ", inflights);

WARNING:LONG_LINE: line over 80 characters
#118: FILE: drivers/event/sw/sw_evdev.c:501:
+				fprintf(f, "\t%siq %d: Used %d\tFree %d"COL_RESET"\n",

total: 1 errors, 11 warnings, 121 lines checked

### [PATCH 10/12] event/sw: add xstats support

WARNING:LONG_LINE: line over 80 characters
#340: FILE: drivers/event/sw/sw_evdev_xstats.c:243:
+	RTE_BUILD_BUG_ON(RTE_DIM(port_bucket_stats) != RTE_DIM(port_bucket_types));

WARNING:LONG_LINE: line over 80 characters
#349: FILE: drivers/event/sw/sw_evdev_xstats.c:252:
+				((MAX_SW_CONS_Q_DEPTH >> SW_DEQ_STAT_BUCKET_SHIFT) + 1) +

WARNING:LONG_LINE: line over 80 characters
#352: FILE: drivers/event/sw/sw_evdev_xstats.c:255:
+			sw->qid_count * sw->port_count * RTE_DIM(qid_port_stats);

WARNING:LONG_LINE: line over 80 characters
#382: FILE: drivers/event/sw/sw_evdev_xstats.c:285:
+			for (i = 0; i < RTE_DIM(port_bucket_stats); i++, stat++) {

WARNING:LONG_LINE_STRING: line over 80 characters
#389: FILE: drivers/event/sw/sw_evdev_xstats.c:292:
+				snprintf(sname, sizeof(sname), "port_%u_%s_%u-%u",

WARNING:LONG_LINE: line over 80 characters
#391: FILE: drivers/event/sw/sw_evdev_xstats.c:294:
+						(bkt << SW_DEQ_STAT_BUCKET_SHIFT) + 1,

WARNING:LONG_LINE: line over 80 characters
#392: FILE: drivers/event/sw/sw_evdev_xstats.c:295:
+						(bkt + 1) << SW_DEQ_STAT_BUCKET_SHIFT);

total: 0 errors, 7 warnings, 454 lines checked

### [PATCH 11/12] app/test: add unit tests for SW eventdev driver

WARNING:BLOCK_COMMENT_STYLE: Block comments should align the * on each line
#114: FILE: app/test/test_sw_eventdev.c:73:
+	/*
+	* len = 14 + 46

WARNING:LONG_LINE: line over 80 characters
#405: FILE: app/test/test_sw_eventdev.c:364:
+		printf("%d: error stats incorrect for directed port\n", __LINE__);

WARNING:LONG_LINE: line over 80 characters
#494: FILE: app/test/test_sw_eventdev.c:453:
+		printf("%d: error stats incorrect for directed port\n", __LINE__);

WARNING:LONG_LINE: line over 80 characters
#513: FILE: app/test/test_sw_eventdev.c:472:
+		printf("%d: error magic sequence number not dequeued\n", __LINE__);

WARNING:LONG_LINE: line over 80 characters
#697: FILE: app/test/test_sw_eventdev.c:656:
+		printf("%d: Half of NUM_PKTS didn't arrive at port 1\n", __LINE__);

WARNING:LONG_LINE: line over 80 characters
#710: FILE: app/test/test_sw_eventdev.c:669:
+		printf("%d: Half of NUM_PKTS didn't arrive at port 2\n", __LINE__);

WARNING:LONG_LINE: line over 80 characters
#767: FILE: app/test/test_sw_eventdev.c:726:
+		printf("%d: Sched core didn't handle pkt as expected\n", __LINE__);

WARNING:LONG_LINE: line over 80 characters
#793: FILE: app/test/test_sw_eventdev.c:752:
+				.event_queue_cfg = RTE_EVENT_QUEUE_CFG_ATOMIC_ONLY,

WARNING:LONG_LINE_COMMENT: line over 80 characters
#815: FILE: app/test/test_sw_eventdev.c:774:
+	/* enqueue 3 packets, setting seqn and QID as needed to check priority */

WARNING:LONG_LINE: line over 80 characters
#839: FILE: app/test/test_sw_eventdev.c:798:
+	uint32_t deq_pkts = rte_event_dequeue_burst(evdev, t->port[0], ev, 32, 0);

WARNING:LONG_LINE_STRING: line over 80 characters
#847: FILE: app/test/test_sw_eventdev.c:806:
+			printf("%d: qid priority test: seqn %d incorrectly prioritized\n",

WARNING:LONG_LINE: line over 80 characters
#874: FILE: app/test/test_sw_eventdev.c:833:
+			printf("%d: error mapping qid to port %d\n", __LINE__, i);

WARNING:LONG_LINE: line over 80 characters
#923: FILE: app/test/test_sw_eventdev.c:882:
+		printf("%d:%s: port 1 inflight not correct\n", __LINE__, __func__);

WARNING:LONG_LINE: line over 80 characters
#927: FILE: app/test/test_sw_eventdev.c:886:
+		printf("%d:%s: port 2 inflight not correct\n", __LINE__, __func__);

WARNING:LONG_LINE: line over 80 characters
#931: FILE: app/test/test_sw_eventdev.c:890:
+		printf("%d:%s: port 3 inflight not correct\n", __LINE__, __func__);

WARNING:LONG_LINE_COMMENT: line over 80 characters
#947: FILE: app/test/test_sw_eventdev.c:906:
+	/* Create qm instance with 1 atomic QID going to 3 ports + 1 prod port */

WARNING:LONG_LINE: line over 80 characters
#1073: FILE: app/test/test_sw_eventdev.c:1032:
+		printf("%d:%s: port 1 inflight not correct\n", __LINE__, __func__);

WARNING:LONG_LINE: line over 80 characters
#1081: FILE: app/test/test_sw_eventdev.c:1040:
+		printf("%d:%s: port 2 inflight not correct\n", __LINE__, __func__);

WARNING:LONG_LINE: line over 80 characters
#1089: FILE: app/test/test_sw_eventdev.c:1048:
+		printf("%d:%s: port 3 inflight not correct\n", __LINE__, __func__);

WARNING:LONG_LINE: line over 80 characters
#1125: FILE: app/test/test_sw_eventdev.c:1084:
+		err = rte_event_port_link(evdev, t->port[i], &t->qid[0], NULL, 1);

WARNING:LONG_LINE: line over 80 characters
#1179: FILE: app/test/test_sw_eventdev.c:1138:
+		printf("%d:%s: port 1 inflight count not correct\n", __LINE__, __func__);

WARNING:LONG_LINE: line over 80 characters
#1190: FILE: app/test/test_sw_eventdev.c:1149:
+		printf("%d:%s: port 1 dropped count not correct\n", __LINE__, __func__);

WARNING:LONG_LINE: line over 80 characters
#1261: FILE: app/test/test_sw_eventdev.c:1220:
+		printf("%d: Sched core didn't handle pkt as expected\n", __LINE__);

WARNING:LONG_LINE: line over 80 characters
#1390: FILE: app/test/test_sw_eventdev.c:1349:
+		printf("%d: Sched core didn't handle pkt as expected\n", __LINE__);

WARNING:LONG_LINE: line over 80 characters
#1395: FILE: app/test/test_sw_eventdev.c:1354:
+		printf("%d: %s port 1 inflight not correct\n", __LINE__, __func__);

WARNING:LONG_LINE: line over 80 characters
#1399: FILE: app/test/test_sw_eventdev.c:1358:
+		printf("%d: %s port 2 inflight not correct\n", __LINE__, __func__);

WARNING:LONG_LINE: line over 80 characters
#1415: FILE: app/test/test_sw_eventdev.c:1374:
+		printf("%d: port 1 inflight decrement after DEQ != 0\n", __LINE__);

WARNING:LONG_LINE: line over 80 characters
#1419: FILE: app/test/test_sw_eventdev.c:1378:
+		err = rte_event_enqueue_burst(evdev, t->port[p1], &release_ev, 1);

WARNING:LONG_LINE: line over 80 characters
#1449: FILE: app/test/test_sw_eventdev.c:1408:
+		printf("%d: port 1 inflight decrement after DEQ != 0\n", __LINE__);

WARNING:LONG_LINE: line over 80 characters
#1453: FILE: app/test/test_sw_eventdev.c:1412:
+		err = rte_event_enqueue_burst(evdev, t->port[p2], &release_ev, 1);

WARNING:LONG_LINE_COMMENT: line over 80 characters
#1521: FILE: app/test/test_sw_eventdev.c:1480:
+	/* CQ mapping to QID for load balanced ports (directed mapped on create) */

WARNING:LONG_LINE: line over 80 characters
#1523: FILE: app/test/test_sw_eventdev.c:1482:
+		err = rte_event_port_link(evdev, t->port[i], &t->qid[0], NULL, 1);

WARNING:LONG_LINE: line over 80 characters
#1566: FILE: app/test/test_sw_eventdev.c:1525:
+		deq_pkts = rte_event_dequeue_burst(evdev, t->port[i], &deq_ev[i],

WARNING:LONG_LINE: line over 80 characters
#1589: FILE: app/test/test_sw_eventdev.c:1548:
+	deq_pkts = rte_event_dequeue_burst(evdev, t->port[tx_port], deq_ev, 3, 0);

WARNING:LONG_LINE_STRING: line over 80 characters
#1593: FILE: app/test/test_sw_eventdev.c:1552:
+		printf("%d: expected 3 packets at tx port got %d from port %d\n",

WARNING:LONG_LINE_STRING: line over 80 characters
#1603: FILE: app/test/test_sw_eventdev.c:1562:
+				printf("%d: Incorrect sequence number(%d) from port %d\n",

WARNING:LONG_LINE: line over 80 characters
#1636: FILE: app/test/test_sw_eventdev.c:1595:
+	char rx_port_used_stat[64], rx_port_free_stat[64], other_port_used_stat[64];

WARNING:LONG_LINE: line over 80 characters
#1645: FILE: app/test/test_sw_eventdev.c:1604:
+			rte_event_port_link(evdev, t->port[1], NULL, NULL, 0) != 1) {

WARNING:LONG_LINE: line over 80 characters
#1661: FILE: app/test/test_sw_eventdev.c:1620:
+	if (rte_event_dev_get_xstat_by_name(evdev, "port_0_cq_ring_used", NULL) != 1)

WARNING:LONG_LINE: line over 80 characters
#1669: FILE: app/test/test_sw_eventdev.c:1628:
+	if (rte_event_dev_get_xstat_by_name(evdev, rx_port_used_stat, NULL) != 1) {

WARNING:LONG_LINE: line over 80 characters
#1682: FILE: app/test/test_sw_eventdev.c:1641:
+	} while (rte_event_dev_get_xstat_by_name(evdev, rx_port_free_stat, NULL) != 0);

WARNING:LONG_LINE: line over 80 characters
#1693: FILE: app/test/test_sw_eventdev.c:1652:
+	if (rte_event_dev_get_xstat_by_name(evdev, other_port_used_stat, NULL) != 0) {

WARNING:LONG_LINE: line over 80 characters
#1698: FILE: app/test/test_sw_eventdev.c:1657:
+	if (rte_event_dev_get_xstat_by_name(evdev, "qid_0_iq_0_used", NULL) != 1) {

WARNING:LONG_LINE: line over 80 characters
#1699: FILE: app/test/test_sw_eventdev.c:1658:
+		printf("%d: Error, QID does not have exactly 1 packet\n", __LINE__);

WARNING:LONG_LINE: line over 80 characters
#1712: FILE: app/test/test_sw_eventdev.c:1671:
+	if (rte_event_dev_get_xstat_by_name(evdev, other_port_used_stat, NULL) != 1) {

WARNING:LONG_LINE: line over 80 characters
#1713: FILE: app/test/test_sw_eventdev.c:1672:
+		printf("%d: Error, second flow did not pass out first\n", __LINE__);

WARNING:LONG_LINE: line over 80 characters
#1717: FILE: app/test/test_sw_eventdev.c:1676:
+	if (rte_event_dev_get_xstat_by_name(evdev, "qid_0_iq_0_used", NULL) != 1) {

WARNING:LONG_LINE: line over 80 characters
#1718: FILE: app/test/test_sw_eventdev.c:1677:
+		printf("%d: Error, QID does not have exactly 1 packet\n", __LINE__);

WARNING:LONG_LINE_COMMENT: line over 80 characters
#1739: FILE: app/test/test_sw_eventdev.c:1698:
+	 * the Queue Manager. Each packet gets looped through QIDs 0-8, 16 times,

WARNING:LONG_LINE: line over 80 characters
#1746: FILE: app/test/test_sw_eventdev.c:1705:
+		uint16_t i, nb_rx = rte_event_dequeue_burst(evdev, port, ev, BURST_SIZE, 0);

WARNING:LONG_LINE: line over 80 characters
#1756: FILE: app/test/test_sw_eventdev.c:1715:
+				enqd = rte_event_enqueue_burst(evdev, port, &ev[i], 1);

WARNING:LONG_LINE: line over 80 characters
#1758: FILE: app/test/test_sw_eventdev.c:1717:
+					printf("%d: Can't enqueue FWD!!\n", __LINE__);

WARNING:LONG_LINE: line over 80 characters
#1768: FILE: app/test/test_sw_eventdev.c:1727:
+				enqd = rte_event_enqueue_burst(evdev, port, &ev[i], 1);

WARNING:LONG_LINE: line over 80 characters
#1770: FILE: app/test/test_sw_eventdev.c:1729:
+					printf("%d: Can't enqueue FWD!!\n", __LINE__);

WARNING:LONG_LINE: line over 80 characters
#1814: FILE: app/test/test_sw_eventdev.c:1773:
+			while (rte_event_enqueue_burst(evdev, port, &ev, 1) != 1)

WARNING:LONG_LINE_STRING: line over 80 characters
#1892: FILE: app/test/test_sw_eventdev.c:1851:
+			printf("%d: \tSched Rx = %" PRIu64 ", Tx = %" PRIu64 "\n",

WARNING:LONG_LINE: line over 80 characters
#1901: FILE: app/test/test_sw_eventdev.c:1860:
+				printf("%d: No schedules for seconds, deadlock\n", __LINE__);

WARNING:LONG_LINE_STRING: line over 80 characters
#1942: FILE: app/test/test_sw_eventdev.c:1901:
+		eventdev_func_mempool = rte_pktmbuf_pool_create("QM_SA_MBUF_POOL",

WARNING:LONG_LINE_COMMENT: line over 80 characters
#2065: FILE: app/test/test_sw_eventdev.c:2024:
+	 * in the static eventdev_func_mempool variable. It is re-used on re-runs

total: 0 errors, 59 warnings, 2042 lines checked

3/11 valid patches

      parent reply	other threads:[~2017-01-21 17:58 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-16 15:40 [PATCH 00/15] next-eventdev: event/sw Software Eventdev Harry van Haaren
2017-01-16 15:40 ` [PATCH 01/15] eventdev: remove unneeded dependencies Harry van Haaren
2017-01-17  9:11   ` Jerin Jacob
2017-01-17  9:59     ` Van Haaren, Harry
2017-01-17 10:38       ` Jerin Jacob
2017-01-21 17:34   ` Jerin Jacob
2017-01-16 15:40 ` [PATCH 02/15] eventdev: add APIs for extended stats Harry van Haaren
2017-01-21 18:59   ` Jerin Jacob
2017-01-16 15:40 ` [PATCH 03/15] event/sw: add new software-only eventdev driver Harry van Haaren
2017-01-16 15:40 ` [PATCH 04/15] event/sw: add function to return device capabilities Harry van Haaren
2017-01-16 15:40 ` [PATCH 05/15] event/sw: add configure function Harry van Haaren
2017-01-16 15:40 ` [PATCH 06/15] event/sw: add fns to return default port/queue config Harry van Haaren
2017-01-16 15:40 ` [PATCH 07/15] event/sw: add support for event queues Harry van Haaren
2017-01-16 15:40 ` [PATCH 08/15] event/sw: add support for event ports Harry van Haaren
2017-01-16 15:40 ` [PATCH 09/15] event/sw: add support for linking queues to ports Harry van Haaren
2017-01-16 15:40 ` [PATCH 10/15] event/sw: add worker core functions Harry van Haaren
2017-01-16 15:40 ` [PATCH 11/15] event/sw: add scheduling logic Harry van Haaren
2017-01-16 15:40 ` [PATCH 12/15] event/sw: add start, stop and close functions Harry van Haaren
2017-01-16 15:40 ` [PATCH 13/15] event/sw: add dump function for easier debugging Harry van Haaren
2017-01-16 15:40 ` [PATCH 14/15] event/sw: add xstats support Harry van Haaren
2017-01-16 15:40 ` [PATCH 15/15] app/test: add unit tests for SW eventdev driver Harry van Haaren
2017-01-21 17:57 ` Jerin Jacob [this message]

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=20170121175740.GA13156@localhost.localdomain \
    --to=jerin.jacob@caviumnetworks.com \
    --cc=dev@dpdk.org \
    --cc=harry.van.haaren@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.