From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: Harry van Haaren <harry.van.haaren@intel.com>
Cc: <dev@dpdk.org>
Subject: Re: [dpdk-dev] [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
prev 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 Harry van Haaren
2017-01-16 15:40 ` [dpdk-dev] [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 ` [dpdk-dev] [PATCH 02/15] eventdev: add APIs for extended stats Harry van Haaren
2017-01-21 18:59 ` Jerin Jacob
2017-01-16 15:40 ` [dpdk-dev] [PATCH 03/15] event/sw: add new software-only eventdev driver Harry van Haaren
2017-01-16 15:40 ` [dpdk-dev] [PATCH 04/15] event/sw: add function to return device capabilities Harry van Haaren
2017-01-16 15:40 ` [dpdk-dev] [PATCH 05/15] event/sw: add configure function Harry van Haaren
2017-01-16 15:40 ` [dpdk-dev] [PATCH 06/15] event/sw: add fns to return default port/queue config Harry van Haaren
2017-01-16 15:40 ` [dpdk-dev] [PATCH 07/15] event/sw: add support for event queues Harry van Haaren
2017-01-16 15:40 ` [dpdk-dev] [PATCH 08/15] event/sw: add support for event ports Harry van Haaren
2017-01-16 15:40 ` [dpdk-dev] [PATCH 09/15] event/sw: add support for linking queues to ports Harry van Haaren
2017-01-16 15:40 ` [dpdk-dev] [PATCH 10/15] event/sw: add worker core functions Harry van Haaren
2017-01-16 15:40 ` [dpdk-dev] [PATCH 11/15] event/sw: add scheduling logic Harry van Haaren
2017-01-16 15:40 ` [dpdk-dev] [PATCH 12/15] event/sw: add start, stop and close functions Harry van Haaren
2017-01-16 15:40 ` [dpdk-dev] [PATCH 13/15] event/sw: add dump function for easier debugging Harry van Haaren
2017-01-16 15:40 ` [dpdk-dev] [PATCH 14/15] event/sw: add xstats support Harry van Haaren
2017-01-16 15:40 ` [dpdk-dev] [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).