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.haa...@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

Reply via email to