From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0064.outbound.protection.outlook.com [104.47.42.64]) by dpdk.org (Postfix) with ESMTP id 4D9261B9E2 for ; Wed, 25 Oct 2017 16:51:11 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=W7fxr2YpASeiYcM9Lop5jOLzVENLIaEZaJaIIvaFSyM=; b=CwOTj3SPm4HzJBiAv9Bnaz+Dpu/DlX3jhm2cN1Q7N8MfSnWdF3QzbTSaOzjQHwsZ1nsALOwAZP+0aOKROddt0oWZk7BppGg47/skhm7nQ+6D/jAcIL7mWWyvqHGwAs2dVQSlx7Vq3NlZPvAyEW4RSxEYW0l7hGxZA90nmUdUweA= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Pavan.Bhagavatula@cavium.com; Received: from PBHAGAVATULA-LT.caveonetworks.com (111.93.218.67) by BN6PR07MB3458.namprd07.prod.outlook.com (10.161.153.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.156.4; Wed, 25 Oct 2017 14:51:08 +0000 From: Pavan Nikhilesh To: jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com, harry.van.haaren@intel.com Cc: dev@dpdk.org, Pavan Nikhilesh Date: Wed, 25 Oct 2017 20:20:30 +0530 Message-Id: <1508943033-15574-4-git-send-email-pbhagavatula@caviumnetworks.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1508943033-15574-1-git-send-email-pbhagavatula@caviumnetworks.com> References: <1507712990-13064-1-git-send-email-pbhagavatula@caviumnetworks.com> <1508943033-15574-1-git-send-email-pbhagavatula@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: MAXPR0101CA0009.INDPRD01.PROD.OUTLOOK.COM (10.174.62.19) To BN6PR07MB3458.namprd07.prod.outlook.com (10.161.153.21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 264b6f65-13e6-4cb9-53ba-08d51bb7d466 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(4627075)(201703031133081)(201702281549075)(2017052603199); SRVR:BN6PR07MB3458; X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3458; 3:tDJPbBRVQ1F8/dvHNWlW67RxTCiMc//TdYhfbZ85HEUSMk3kpSBoNWV6DF8BqWf9oOpaHTS5gQNB/P/07YCk3erHilWXqbPH9RD4IG3tJHF5NiI9oyOpPpZ/Xb1H8Bou3LXVRPkFaZM6Yj7Sini09BV6TmFqJb12R5TdYpsTZ27/cNqTGPK45OMWjaCJTXTn6JYbStkfLk9Vx7RcjbicWgku9GM2dWcCx0sc91xHKgHmxoF6fZWYARTD16bptfcg; 25:NeanE+WU6d3wsEu6ZYNZGEezSJPQvOynkrsep5dQnlGR7GGfUXV0fbhdqg0cuJaUV65h1fYgjCDn2zt6AbRaJyqOxT1MkAotTB6YYttRuxilZuR/CWLq0QQGAERwYXAfq3kDbhVxiit8b0tDOe0sWbsSbSH+7oOo+Tzi6qIa9TuCI85Tx3BUV0Xfdd9HI2YH8IXNNYQjWotxfId358H0ZahHP0OzEyu3yqhldCPxIWfshrMEvN7HMdVYGVOWLsp4vbhyFDwBOwZrbrpcDrxrRe6DZGUPqHrGjGMyUCCnx8T7BA2OYtIf2hjUjT+cnybGOMHK+Bcc/AH2ANg8NBJiDg==; 31:lvHsfPRGCoS6dGYXWp76632S3FWEczqvq3NZz1ZHejS3tDDpo2c358hnonyg77Dj5Ws5TUTjdgPWLlp9NYOiWG+4aTaYkFwkZAUijU24oOOZAO5+Xe6Des5mil0OcHu/h83Buc04KSOjVobwTxOaTorC7W8iZDiMql0jUQX4vLvJtfxpEoj/RApEp7AEhdRWpJmT+BwnBtghTxSq2CRNUOiuzRfeLTJLennxLzR8YR0= X-MS-TrafficTypeDiagnostic: BN6PR07MB3458: X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3458; 20:5k0osHXsed6fKYYhJJFZc6ASRMFBaCNAZwhHjnPzTtlrfP02yL28MH71+n2h902/OFDgIC8zgmqnDJ3E/XO0x3XKqaRl0o/C/2xSNt/zPCPFg1cLnGwqfxQtNj1ws5exWQLrPUDIfvVVGZgTik0Lfdnt7bhPhvRS2GovxbGJ2dTPfciFeJdjSvgfxz7GJ4yHd6mahgRgejVAKQOEyEGVICF5HX9FnkOE7qthZLvE7ejtdhNs5ruLGrRBxFAE6DP8R6OOl35IU/Lq7uZ1dJ+jL/Tsw++RwKnOWLB7fUpjD4myJWYFf/7VXePmXK/Hg6l4dWwAk7+dE6Lb6gk8GZ9fk5l0qo2TGOgOBMnYd74n65958a/7Rg0S5mN1eVEvjrHgXJvfC8Cz9Q607AjI+p0VG1OMFbQyYmE0F2EqMx0UzY83GwTpqozWF5MCDTU5WsObdPXTo4KDw4BLSvUcGXSHR4KecHeh81XnR16KZ0/nM5ixMJ3as78BNc0ZpQqGuK4GXeS1QG55+7JR1vgluIlTPaekZ+Jt4TtkSrCDodd3w6QudSAHZumSKDmIV/vTWPv6uVReltOXB7+vJ1NQcsH3DIZtQw1eQ0WOCWRGuIZjUZE=; 4:YesYmNlODVv5NM7oEHAEukNdabh05uSd18/Gj2Gh1B/RCFYKxgJAgjgJpJF+l5fJrCwqOaq53jGaIzN9QFwn4rMD7NIqQxroIhp9ltI4HgyR20AA1qWh3GFa/or9JZZvwyBB/JXCMBxSbUXa5qLwd0bxfqP4Y/YaP7vhhVs3D2tad+K8tf/7OXYbagjSsFuAfE8p+Eenp8GA6YOQ2NbZSJ0CUNjDrUYQENx7WrkNPVC8PqE+TEnMaNPJvZYzckdOImpbHnVMhSLl8QPpnSGfxdW4IKolZd5jrFm6mSTm8Rk= X-Exchange-Antispam-Report-Test: UriScan:(228905959029699); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(3002001)(3231020)(10201501046)(100000703101)(100105400095)(93006095)(6041248)(20161123560025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123558100)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN6PR07MB3458; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN6PR07MB3458; X-Forefront-PRVS: 0471B73328 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(376002)(346002)(189002)(199003)(81166006)(53936002)(7736002)(10710500007)(50986999)(16526018)(50226002)(76176999)(4326008)(305945005)(66066001)(5003940100001)(8936002)(2906002)(25786009)(101416001)(42882006)(6666003)(107886003)(6512007)(8676002)(5660300001)(2950100002)(68736007)(7110500001)(81156014)(6306002)(47776003)(53376002)(50466002)(36756003)(5009440100003)(316002)(16586007)(33646002)(48376002)(105586002)(106356001)(2420400007)(53416004)(189998001)(6116002)(15650500001)(6506006)(97736004)(478600001)(3846002)(6486002)(72206003)(69596002)(966005)(8656006)(42262002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR07MB3458; H:PBHAGAVATULA-LT.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR07MB3458; 23:5259Xot15/zVeY+W8YUvtucyvNjR3mwEGFuegvU2P?= =?us-ascii?Q?1/3FijojEtd8o9ODUetB9kEStd3C4y8iKi8GDB8BWyarEzRsQ2QQCAZGAmvi?= =?us-ascii?Q?zliqAbmbJE7mKrewLhIHGPrt+I9APIyX2oBabweqKm70zxkpsPXbIZI0+HKZ?= =?us-ascii?Q?6HeXFZou3502vmC3qECkD4zyr1GGfG8w49/aS5AYOxfhSngCnsd7D+Vq3u4i?= =?us-ascii?Q?2+8f0dSHPDHg8/lfO4UGFdJQniu55d81uhCxEtzofmMcyrONxL6C7aOhvujP?= =?us-ascii?Q?BlV3lEMF7zzw29GNxBfNIvTsICMDwCL/VcSWASXoszJjWGtNQ3otij7d9wbz?= =?us-ascii?Q?JPUNC6gr6bozL4DnQ/0MXEOcK7Q2aChIfvZ0iEMwm648l2W4oGmNCz8HZTm9?= =?us-ascii?Q?NQPdIilSAsPnViKXWuEO6M0xEkXRjNIJjdCacm0T9HlElxjSu1L0MYlBZP9k?= =?us-ascii?Q?9xpR2Yv2vHS71KtJtGqmN8FVBDgfbTHo6kMGbw1c2QPLXIMsa9a39A4etmHu?= =?us-ascii?Q?BkdMtRdsZr6n0LVoYshGNGEbdD5Cw06Oq5Acbm1+Fqvmrx6mZhGrl2iPw5Ob?= =?us-ascii?Q?czDLb6Knu8wJrx67k63/MIiNPpW4r6eQZthWABp98rg1UC7p58p6EjyiXUxG?= =?us-ascii?Q?BGUf4+QMVAEqP23tdjWnslrFcdhyHFCJlD0F+LDTk6YqOMdClS0r4E4rSjUt?= =?us-ascii?Q?AzfgE4rJqYRE8UNE9exWwl5oXyfZ/haOnvcRx4z4vfUo7zIQUWZDS4JTmjZd?= =?us-ascii?Q?DXX5iFEGa15EzeIJPew9XcW35u/EzIRmnizkbIi2umF3Hdl6UzEcQ9WhTtKN?= =?us-ascii?Q?DiX5czlz3xMnkpq96A/gCnQJjqJA9O4J9RecMdJ3P3DelS8/tZ4bsq8mDdk7?= =?us-ascii?Q?esC0G60lWWf8Y6aHxFCrBJEE0Ndq7Rt+kbYJyH36iw1IJR1DPJn6M4bk7Mkz?= =?us-ascii?Q?ZOJvlwjxKGq3Fta0VD5vnPMbKb8tdGjXNELlIrsSX9C0z2Cg7zjWdKntBJar?= =?us-ascii?Q?7IsMW7SKSpea0vmfHL20kpgnCOM1HyXzEDIeKmuPqpQWbHSfpVkthAQIUNfH?= =?us-ascii?Q?CKs+E54Xg5sT9h0nbfy6w8h10qbtjQWC/euuoL7Ne5ohqgtML29oX8f0AGJi?= =?us-ascii?Q?ft3OZ6w+iD+vbW5Uq6Wx5dGKjlJT2CvJp4lxBna+sMxULG5Dlh8vZfqGKy2j?= =?us-ascii?Q?8oJsgXO7ynpfY827fu1BWqqBiqDRyYDsU9BL3/4gUCxJrPLPPd7mJ5tT9lLh?= =?us-ascii?Q?caLQIlnGdQGbZvQ8JNBUf/kn7nR2uxVsySn8GD1kXWGX52NOfBQco0oF6WYD?= =?us-ascii?Q?gEa1bW/9y+cmquknaPnC9RPU36i/vSl6jmsOpa4SqJlAy8MoIeNqyA+jgTGW?= =?us-ascii?Q?Q14pg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3458; 6:6v7itnBVYyWzTmERBC0+ulFPlWzwkcesY2MGVWxvSpFiMQka2NQk9Z8eohFl7nYZlUG26l6C9mfRpQW0q+b4p68Sfr+907OUo+C+itPp0MqNKE2hy+oXX8EOTSvllq0WSlFmHox6d7+IbTzbhoJOqoajWoCiUIGOpBvMj4UZsIuXX2ZJf93xOuZ8A6EwUJHKvnQQXajhBYSsB8DTTW2V6XVFE9Ss0+wtRDuc/aKLWJxQnB1bnVbSTIv5mvOcWsEwIsAMVid7qVwred+BjC1sgbU2reoosWjvbxLOh/KMHAXcBJM63TRCt9Cf67Wat7v6fPmTwnFovPa4GHihPPXJCg==; 5:DQpyOD+8lnZdtvXU9Xe8wpK2Npru7heva/mJcY5TZ+WeGTfdUV4KTdOVEi+E+ZJfhGBzAWHR5Zc6L6DQZ0L+AhHV8cL7GoVt7XLTv3hfJqv1B8ZIQ3ttyVFyXWASKEr5UZxQbueFG0xAy/bshFUzUg==; 24:CeJQC45Yy3ou4frFRGMdp4ysuB2b4QepRLpDDqUh1O9s7mj8tp2AqWloNHd0Vd5rA8npkx66I3ZFpgSR4JutuCulo6u4LKYQ1MoOOU/DA9o=; 7:DP55+aclHs2WUGYjC1LKVq8tyuc5a1XvkFU8VwpUB2c0HOW24w8tR6ugP847iwyyIyRJPT83y4Qp5iCXZSyIkvfVmEDch1kUkdH5YxzQ//GxQphERUT24kc5yne4NsrKl9yy7N4n9jTMkLi4oedsQ7HC2X+EmD8MOVTTizESOJDghJceZ6GU7bPPBKAVXVEprNNLKP+xN9FxsCcAER67GGmscL2vT0B2cTjxciyhNk0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2017 14:51:08.0851 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 264b6f65-13e6-4cb9-53ba-08d51bb7d466 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR07MB3458 Subject: [dpdk-dev] [PATCH v5 4/7] test/eventdev: update test to use service iter X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Oct 2017 14:51:12 -0000 Use service run iter for event scheduling instead of calling the event schedule api directly. Signed-off-by: Pavan Nikhilesh Acked-by: Harry van Haaren --- v4 changes: - rebase patchset on top of http://dpdk.org/dev/patchwork/patch/30732/ for controlled event scheduling in case event_sw test/test/test_eventdev_sw.c | 68 ++++++++++++++++++++++++++------------------ 1 file changed, 40 insertions(+), 28 deletions(-) diff --git a/test/test/test_eventdev_sw.c b/test/test/test_eventdev_sw.c index dea302f..5c7751b 100644 --- a/test/test/test_eventdev_sw.c +++ b/test/test/test_eventdev_sw.c @@ -49,6 +49,8 @@ #include #include #include +#include +#include #include "test.h" @@ -63,6 +65,7 @@ struct test { uint8_t port[MAX_PORTS]; uint8_t qid[MAX_QIDS]; int nb_qids; + uint32_t service_id; }; static struct rte_event release_ev; @@ -415,7 +418,7 @@ run_prio_packet_test(struct test *t) } } - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); struct test_event_dev_stats stats; err = test_event_dev_stats_get(evdev, &stats); @@ -507,7 +510,7 @@ test_single_directed_packet(struct test *t) } /* Run schedule() as dir packets may need to be re-ordered */ - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); struct test_event_dev_stats stats; err = test_event_dev_stats_get(evdev, &stats); @@ -574,7 +577,7 @@ test_directed_forward_credits(struct test *t) printf("%d: error failed to enqueue\n", __LINE__); return -1; } - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); uint32_t deq_pkts; deq_pkts = rte_event_dequeue_burst(evdev, 0, &ev, 1, 0); @@ -736,7 +739,7 @@ burst_packets(struct test *t) return -1; } } - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); /* Check stats for all NUM_PKTS arrived to sched core */ struct test_event_dev_stats stats; @@ -825,7 +828,7 @@ abuse_inflights(struct test *t) } /* schedule */ - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); struct test_event_dev_stats stats; @@ -963,7 +966,7 @@ xstats_tests(struct test *t) } } - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); /* Device names / values */ int num_stats = rte_event_dev_xstats_names_get(evdev, @@ -1290,7 +1293,7 @@ port_reconfig_credits(struct test *t) } } - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); struct rte_event ev[NPKTS]; int deq = rte_event_dequeue_burst(evdev, t->port[0], ev, @@ -1516,7 +1519,7 @@ xstats_id_reset_tests(struct test *t) } } - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); static const char * const dev_names[] = { "dev_rx", "dev_tx", "dev_drop", "dev_sched_calls", @@ -1907,7 +1910,7 @@ qid_priorities(struct test *t) } } - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); /* dequeue packets, verify priority was upheld */ struct rte_event ev[32]; @@ -1988,7 +1991,7 @@ load_balancing(struct test *t) } } - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); struct test_event_dev_stats stats; err = test_event_dev_stats_get(evdev, &stats); @@ -2088,7 +2091,7 @@ load_balancing_history(struct test *t) } /* call the scheduler */ - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); /* Dequeue the flow 0 packet from port 1, so that we can then drop */ struct rte_event ev; @@ -2105,7 +2108,7 @@ load_balancing_history(struct test *t) rte_event_enqueue_burst(evdev, t->port[1], &release_ev, 1); /* call the scheduler */ - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); /* * Set up the next set of flows, first a new flow to fill up @@ -2138,7 +2141,7 @@ load_balancing_history(struct test *t) } /* schedule */ - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); err = test_event_dev_stats_get(evdev, &stats); if (err) { @@ -2182,7 +2185,7 @@ load_balancing_history(struct test *t) while (rte_event_dequeue_burst(evdev, i, &ev, 1, 0)) rte_event_enqueue_burst(evdev, i, &release_ev, 1); } - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); cleanup(t); return 0; @@ -2248,7 +2251,7 @@ invalid_qid(struct test *t) } /* call the scheduler */ - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); err = test_event_dev_stats_get(evdev, &stats); if (err) { @@ -2333,7 +2336,7 @@ single_packet(struct test *t) return -1; } - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); err = test_event_dev_stats_get(evdev, &stats); if (err) { @@ -2376,7 +2379,7 @@ single_packet(struct test *t) printf("%d: Failed to enqueue\n", __LINE__); return -1; } - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); err = test_event_dev_stats_get(evdev, &stats); if (stats.port_inflight[wrk_enq] != 0) { @@ -2464,7 +2467,7 @@ inflight_counts(struct test *t) } /* schedule */ - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); err = test_event_dev_stats_get(evdev, &stats); if (err) { @@ -2520,7 +2523,7 @@ inflight_counts(struct test *t) * As the scheduler core decrements inflights, it needs to run to * process packets to act on the drop messages */ - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); err = test_event_dev_stats_get(evdev, &stats); if (stats.port_inflight[p1] != 0) { @@ -2555,7 +2558,7 @@ inflight_counts(struct test *t) * As the scheduler core decrements inflights, it needs to run to * process packets to act on the drop messages */ - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); err = test_event_dev_stats_get(evdev, &stats); if (stats.port_inflight[p2] != 0) { @@ -2649,7 +2652,7 @@ parallel_basic(struct test *t, int check_order) } } - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); /* use extra slot to make logic in loops easier */ struct rte_event deq_ev[w3_port + 1]; @@ -2676,7 +2679,7 @@ parallel_basic(struct test *t, int check_order) return -1; } } - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); /* dequeue from the tx ports, we should get 3 packets */ deq_pkts = rte_event_dequeue_burst(evdev, t->port[tx_port], deq_ev, @@ -2754,7 +2757,7 @@ holb(struct test *t) /* test to check we avoid basic head-of-line blocking */ printf("%d: Error doing first enqueue\n", __LINE__); goto err; } - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); if (rte_event_dev_xstats_by_name_get(evdev, "port_0_cq_ring_used", NULL) != 1) @@ -2779,7 +2782,7 @@ holb(struct test *t) /* test to check we avoid basic head-of-line blocking */ printf("%d: Error with enqueue\n", __LINE__); goto err; } - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); } while (rte_event_dev_xstats_by_name_get(evdev, rx_port_free_stat, NULL) != 0); @@ -2789,7 +2792,7 @@ holb(struct test *t) /* test to check we avoid basic head-of-line blocking */ printf("%d: Error with enqueue\n", __LINE__); goto err; } - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); /* check that the other port still has an empty CQ */ if (rte_event_dev_xstats_by_name_get(evdev, other_port_used_stat, NULL) @@ -2812,7 +2815,7 @@ holb(struct test *t) /* test to check we avoid basic head-of-line blocking */ printf("%d: Error with enqueue\n", __LINE__); goto err; } - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); if (rte_event_dev_xstats_by_name_get(evdev, other_port_used_stat, NULL) != 1) { @@ -3002,7 +3005,7 @@ worker_loopback(struct test *t) while (rte_eal_get_lcore_state(p_lcore) != FINISHED || rte_eal_get_lcore_state(w_lcore) != FINISHED) { - rte_event_schedule(evdev); + rte_service_run_iter_on_app_lcore(t->service_id); uint64_t new_cycles = rte_get_timer_cycles(); @@ -3029,7 +3032,8 @@ worker_loopback(struct test *t) cycles = new_cycles; } } - rte_event_schedule(evdev); /* ensure all completions are flushed */ + rte_service_run_iter_on_app_lcore(t->service_id); + /* ensure all completions are flushed */ rte_eal_mp_wait_lcore(); @@ -3066,6 +3070,14 @@ test_sw_eventdev(void) } } + if (rte_event_dev_service_id_get(evdev, &t->service_id) < 0) { + printf("Failed to get service ID for software event dev\n"); + return -1; + } + + rte_service_runstate_set(t->service_id, 1); + rte_service_set_runstate_mapped_check(t->service_id, 0); + /* Only create mbuf pool once, reuse for each test run */ if (!eventdev_func_mempool) { eventdev_func_mempool = rte_pktmbuf_pool_create( -- 2.7.4