From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id ED289A0561; Thu, 4 Mar 2021 12:02:58 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 98CB640684; Thu, 4 Mar 2021 12:02:57 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 47B8540147 for ; Thu, 4 Mar 2021 12:02:56 +0100 (CET) IronPort-SDR: TYgoijASeRlwEfl8Ri3odN7ZN/3TJgAj1sWdhaOtBfvkg90CUchCo8aB0gV1BaYVq5y++Lup0r rnPmTZPQixCA== X-IronPort-AV: E=McAfee;i="6000,8403,9912"; a="272395252" X-IronPort-AV: E=Sophos;i="5.81,222,1610438400"; d="scan'208";a="272395252" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Mar 2021 03:02:53 -0800 IronPort-SDR: BvP6Q6LMK9n2PvDoKv79zh/WlJvw/2BfO97L43eY225YoMYshdBrMy/YxQQt7Qrm8kUXfemRq9 wpmGMaXGn9nQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,222,1610438400"; d="scan'208";a="400558785" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga008.fm.intel.com with ESMTP; 04 Mar 2021 03:02:53 -0800 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Thu, 4 Mar 2021 03:02:53 -0800 Received: from fmsmsx606.amr.corp.intel.com (10.18.126.86) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Thu, 4 Mar 2021 03:02:52 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Thu, 4 Mar 2021 03:02:52 -0800 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.174) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Thu, 4 Mar 2021 03:02:35 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OW8luhouOdyel9MQKe+nPexUBFG6nZKNVm8yVbGi/86b9eAZ82H6YBYVOI8gNVDD0Gj2z/aGa8FjZWQ6+45wvPl4rD9Yyces1RKXcpPrSvqCIXl87jLxVuI+ck9aPtpM7xIY1wU1/AhVXbhBtufGyFtOvOrCxsev7eYnznbUVw4b8m6Rxa+/PkOd2wDrKVMDNTVfRpjFwpkAKbwz9kwQbVMqg+2RWGZtTTZrukKnldo2xDndLQUdGnn3mTWcdk9fwDQEs3+JSa+IMW8z/Dna8s4AsTv/Vbyr2kqfpe8Kj16ltdR5mMbBnCpreTCb9rrIlwJSi9EtBXmzFYqlNGG1Lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5y7ofeXrWoobhO4N64vup+K/zxRwHyjsXAS/+fBP5GQ=; b=nGmTrDrCig09JykzvL2PqXGgQnt56MW2FAfkwfnKndi/L5uQCKLFbx1NCcnas/BKQpAjQam07KKdEKTkQwyhv2647+170hj4i+5xbg/QtoeLS7Jp8p8fJbYylcpIn9xftJmY0GGUDK1t6gd53XPCrlAdk0tcZ1OF8Q51E5g8mwKlDZsHbal9o9mZQzYyWYkEOuS2QdT+aZHqbq2RhUA3SaGc+oD0QixyLdTkxVzK55nr6Sq1t89SFHPbRd6LdkDp0sTOkDn7j1c0rIaEnFzN4O7/+V91DGBEu2lH0CXF6Fhq6oiHr59yBk7IPq61miaz/Ucm8zKl2JdEVHBDU5RFyA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5y7ofeXrWoobhO4N64vup+K/zxRwHyjsXAS/+fBP5GQ=; b=F8Jj6E4eIvTXtYFE2LYJpgX8EEcILQmYU/fpAbW8P3STdZ0GjPXDgaVE7XKm7feZzli0HeurLJA+cIcLdEx4cxg5krJks1DzbyNe/AbkBK7YBnWvcLxinS7RQ0lOaCr6ykoVa5tVBM7rhwt3TNPnkXcgWXuE87HuUWN9kqVe/9o= Received: from BYAPR11MB3143.namprd11.prod.outlook.com (2603:10b6:a03:92::32) by BY5PR11MB3926.namprd11.prod.outlook.com (2603:10b6:a03:184::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.28; Thu, 4 Mar 2021 11:02:34 +0000 Received: from BYAPR11MB3143.namprd11.prod.outlook.com ([fe80::e1c7:915f:8714:9ce0]) by BYAPR11MB3143.namprd11.prod.outlook.com ([fe80::e1c7:915f:8714:9ce0%7]) with mapi id 15.20.3890.028; Thu, 4 Mar 2021 11:02:34 +0000 From: "Van Haaren, Harry" To: "dev@dpdk.org" CC: "david.marchand@redhat.com" , mattias.ronnblom , "jerinj@marvell.com" Thread-Topic: [PATCH v4] event/sw: add xstats to expose progress details Thread-Index: AQHXEBvzlhaD/8mM7Eq4FioHMo1vdapzqyag Date: Thu, 4 Mar 2021 11:02:33 +0000 Message-ID: References: <20210212165814.2189305-1-harry.van.haaren@intel.com> <20210303105643.2552378-1-harry.van.haaren@intel.com> In-Reply-To: <20210303105643.2552378-1-harry.van.haaren@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=intel.com; x-originating-ip: [86.40.59.136] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5a54db02-b48f-4c9b-9180-08d8defd0393 x-ms-traffictypediagnostic: BY5PR11MB3926: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:331; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: D6eSk6o/SgBD0cdDjhO0RMNQvRpmLgvduamCEm0jG3W6rt4nXmGGIGQM8QoqOsofKY13njJRkCT0pmuJuByr/osykasUBzhDxtpEG+FLF3MEDbzA6Z7TgvlTovJvv6a1GjjD0fWvz+SBIndEDe5yppcKKHOrGpA/Jqvxvtp+oxnZPZHntn8UY3UBdC5UBiSMwZnIr0GiY+y1FW/O1gjuL0gsZ4b7nIID8BN3wCe0Kbe+skPSIZ1J1bD3dMW601JKMyuXB5Je0IXgqGwb3EQBt9Ws0lQIUtnMpOp92D5bnwY4Vb5vwtbF5VhXyzmwrgTUHsA2tPg88I5UPudAulr1PmWcSuTW0GOqFwTxNW1eUs9PyQENMx18HQbHxXi/eJ6DJkeQz93CvXdgdbOqibsCyXvKuxgypOO7oR24W1LO0ocHpGRZ8p2gJ4wJQAkujj9XvtLjBr3yyjyLKsTMq7D1OaqTIEnTMI2QyOeRP0UsWZicyV6IIY41bWrJLGeq0UtUNS3HP5KYVPaBbLJBU2OEAA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB3143.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(346002)(396003)(136003)(39860400002)(376002)(83380400001)(478600001)(2906002)(4326008)(6916009)(5660300002)(316002)(76116006)(9686003)(54906003)(66446008)(71200400001)(55016002)(26005)(8676002)(6506007)(33656002)(64756008)(52536014)(8936002)(53546011)(7696005)(186003)(66946007)(66556008)(66476007)(86362001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?iso-8859-1?Q?3aK+SLweF6zY1TDqwXrBhoDk0z9rwvo37HBU5214yrVD4YAznzkTS5sFrv?= =?iso-8859-1?Q?aef52EKHuE2UrWIEBLAHFL/3005OLnklzlY8NkXTho7BrTXNLwUEKebK25?= =?iso-8859-1?Q?efs6TZ9Cxgj8J+hM6pJmlu5ufXuKOQTkSvZ9OTcpXLeKC8+8OTcUT/tIFR?= =?iso-8859-1?Q?d+AwvotS0b9WVYNMehIwRiINFQnQoCuiWEhlfXK8iOS01nc8LnuOckXcwC?= =?iso-8859-1?Q?OMAvxz3vhPzyFO+1QjNYKwfk7MTJR2IVZ19xCymBWglaX+/82PfenxHwyT?= =?iso-8859-1?Q?eKknScdvsk1O15bTesBaOVjBK8bLroKXdvi1mEu+6RuibgGjrriePKsxjA?= =?iso-8859-1?Q?8Ejmce2jtjG3LsENWJpyv4H/QO6QcuiTDUiHUGZpZTvwEFMlGbqowdo+U+?= =?iso-8859-1?Q?brNMpPwWN/Z3MbpKjy7EfDnXzHPx9axx/Vl5/yE9E75WW+blEqN21A9Kw1?= =?iso-8859-1?Q?MUxosvD1f/cz0w4RKgCsQ6Mt+wRDTOGjGBkcl3AiOYBTW47yH2XFFbEXEv?= =?iso-8859-1?Q?VrNcskn6R02mjk6h6O1+aKw3i+WU3wB6gGZzGPGFl+YlkjXtkPM4vEe5JX?= =?iso-8859-1?Q?zraPZjvaRKdH2ffnKqlhWfbEOgWno/d5CMyCGBOyQNR8CKQDtwP34TFmkH?= =?iso-8859-1?Q?POasnXZi9JUVHDfZchSZap4rKnqyKfZP0uQiLjd33cppiaHy+4n21qvmc5?= =?iso-8859-1?Q?yOFmG8ZrbpFFtvdsZbujAWa6NabO0AuK/At4xGLHm3Juyq0tmlBM00qkN2?= =?iso-8859-1?Q?XXht05H6cPYaPjC9go4P6duQ00tFAUDdZfJpWtM/TK0rCbpvHTB+qCGwv/?= =?iso-8859-1?Q?eOU7BKLl5Sge90vYy7WocXYLR9XUQWRUF6zMznCMe2FC20NJy+UC+NyV7q?= =?iso-8859-1?Q?RXctBruQsSSLHOpO39sZtxIZh6InLaAU/Gb34Np+wRzqv8j+Zi5IFDLESp?= =?iso-8859-1?Q?pRSi9hHK11BOPE+dqjM4iOw12UqJTRV1KFwN8FQvEoVDbXrEOUICoedgmU?= =?iso-8859-1?Q?9fiH4BPg0LAiYve3UxxZ6sRm1qdKikZxF1lFEE+gE8C9yj9cxzvVv0htxy?= =?iso-8859-1?Q?yKD9Zspy9IenYWKCXC09a3AvQ+MEQ24MzZry2q1r4rAb7c9oQfD36HLE0g?= =?iso-8859-1?Q?Lc9xd/3Ui9o9EBrlGVajZdi+92rjY6FBlYsZD6gOn29goEmNzwA3j842uC?= =?iso-8859-1?Q?VJnUg84GKXTyOuFc2CX8twPcwUHRGRDa8rtg3iJ5MdmROdZ++2QhsAv3xQ?= =?iso-8859-1?Q?k0PExtAIwDpaUStswDrJbvSmsUnrzTA4AlRzqAzKMXUM+t1YpQ94i86K7+?= =?iso-8859-1?Q?wheioJ1d7wWt+hDoGIODAFHxCP7GNRnK3jkP6tzlthiVjUI=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB3143.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5a54db02-b48f-4c9b-9180-08d8defd0393 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Mar 2021 11:02:33.9580 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Zr2jtvkT7tpC5ydG80PNIV6O9QHTc2r7zwQxxyr/61yNaE1qCXGLZo4eDvQo3CbxM4EAt+ttfJqDnYwanqrhNdGqbexyptEyg3QAE+Xc1dM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR11MB3926 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4] event/sw: add xstats to expose progress details X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Fix typo in Mattias' email, apologies for noise. > -----Original Message----- > From: Van Haaren, Harry > Sent: Wednesday, March 3, 2021 10:57 AM > To: dev@dpdk.org > Cc: david.marchand@redhat.com; mattias.ronnblom@ericcson.com; > jerinj@marvell.com; Van Haaren, Harry > Subject: [PATCH v4] event/sw: add xstats to expose progress details >=20 > Today it is difficult to know if the SW Eventdev PMD is making > forward progress when it runs an iteration of its service. This > commit adds two xstats to give better visibility to the application. >=20 > The new xstats provide an application with which Eventdev ports > recieved work in the last iteration of scheduling, as well if > forward progress was made by the scheduler. >=20 > This patch implements an xstat for the SW PMD that exposes a > bitmask of ports that were scheduled to. In the unlikely case > that the SW PMD instance has 64 or more ports, return UINT64_MAX. >=20 > Signed-off-by: Harry van Haaren >=20 > --- >=20 > v3: > - Simplify all metrics to Event SW PMD >=20 > v2: > - Fixup printf() %ld to PRIu64 >=20 > Note most of the changes here are unit-test changes to add > a statistic to the PMD. The actual "useful code" is a mere > handful of lines in a lot of noise. >=20 > --- > drivers/event/sw/sw_evdev.h | 2 ++ > drivers/event/sw/sw_evdev_scheduler.c | 15 ++++++++++++++ > drivers/event/sw/sw_evdev_selftest.c | 28 ++++++++++++++------------- > drivers/event/sw/sw_evdev_xstats.c | 9 ++++++++- > 4 files changed, 40 insertions(+), 14 deletions(-) >=20 > diff --git a/drivers/event/sw/sw_evdev.h b/drivers/event/sw/sw_evdev.h > index 5ab6465c83..33645bd1df 100644 > --- a/drivers/event/sw/sw_evdev.h > +++ b/drivers/event/sw/sw_evdev.h > @@ -259,6 +259,8 @@ struct sw_evdev { > uint64_t sched_no_iq_enqueues; > uint64_t sched_no_cq_enqueues; > uint64_t sched_cq_qid_called; > + uint64_t sched_last_iter_bitmask; > + uint8_t sched_progress_last_iter; >=20 > uint8_t started; > uint32_t credit_update_quanta; > diff --git a/drivers/event/sw/sw_evdev_scheduler.c > b/drivers/event/sw/sw_evdev_scheduler.c > index f747b3c6d4..d3a6bd5cda 100644 > --- a/drivers/event/sw/sw_evdev_scheduler.c > +++ b/drivers/event/sw/sw_evdev_scheduler.c > @@ -559,6 +559,11 @@ sw_event_schedule(struct rte_eventdev *dev) > sw->sched_no_iq_enqueues +=3D (in_pkts_total =3D=3D 0); > sw->sched_no_cq_enqueues +=3D (out_pkts_total =3D=3D 0); >=20 > + uint64_t work_done =3D (in_pkts_total + out_pkts_total) !=3D 0; > + sw->sched_progress_last_iter =3D work_done; > + > + uint64_t cqs_scheds_last_iter =3D 0; > + > /* push all the internal buffered QEs in port->cq_ring to the > * worker cores: aka, do the ring transfers batched. > */ > @@ -578,6 +583,7 @@ sw_event_schedule(struct rte_eventdev *dev) > &sw->cq_ring_space[i]); > port->cq_buf_count =3D 0; > no_enq =3D 0; > + cqs_scheds_last_iter |=3D (1ULL << i); > } else { > sw->cq_ring_space[i] =3D > rte_event_ring_free_count(worker) - > @@ -597,4 +603,13 @@ sw_event_schedule(struct rte_eventdev *dev) > sw->sched_min_burst =3D sw->sched_min_burst_size; > } >=20 > + /* Provide stats on what eventdev ports were scheduled to this > + * iteration. If more than 64 ports are active, always report that > + * all Eventdev ports have been scheduled events. > + */ > + if (likely(sw->port_count < 64)) { > + sw->sched_last_iter_bitmask =3D cqs_scheds_last_iter; > + } else { > + sw->sched_last_iter_bitmask =3D UINT64_MAX; > + } > } > diff --git a/drivers/event/sw/sw_evdev_selftest.c > b/drivers/event/sw/sw_evdev_selftest.c > index e4bfb3a0f1..d53e903129 100644 > --- a/drivers/event/sw/sw_evdev_selftest.c > +++ b/drivers/event/sw/sw_evdev_selftest.c > @@ -873,15 +873,15 @@ xstats_tests(struct test *t) > int ret =3D rte_event_dev_xstats_names_get(evdev, > RTE_EVENT_DEV_XSTATS_DEVICE, > 0, xstats_names, ids, XSTATS_MAX); > - if (ret !=3D 6) { > - printf("%d: expected 6 stats, got return %d\n", __LINE__, ret); > + if (ret !=3D 8) { > + printf("%d: expected 8 stats, got return %d\n", __LINE__, ret); > return -1; > } > ret =3D rte_event_dev_xstats_get(evdev, > RTE_EVENT_DEV_XSTATS_DEVICE, > 0, ids, values, ret); > - if (ret !=3D 6) { > - printf("%d: expected 6 stats, got return %d\n", __LINE__, ret); > + if (ret !=3D 8) { > + printf("%d: expected 8 stats, got return %d\n", __LINE__, ret); > return -1; > } >=20 > @@ -959,7 +959,7 @@ xstats_tests(struct test *t) > ret =3D rte_event_dev_xstats_get(evdev, > RTE_EVENT_DEV_XSTATS_DEVICE, > 0, ids, values, num_stats); > - static const uint64_t expected[] =3D {3, 3, 0, 1, 0, 0}; > + static const uint64_t expected[] =3D {3, 3, 0, 1, 0, 0, 4, 1}; > for (i =3D 0; (signed int)i < ret; i++) { > if (expected[i] !=3D values[i]) { > printf( > @@ -975,7 +975,7 @@ xstats_tests(struct test *t) > 0, NULL, 0); >=20 > /* ensure reset statistics are zero-ed */ > - static const uint64_t expected_zero[] =3D {0, 0, 0, 0, 0, 0}; > + static const uint64_t expected_zero[] =3D {0, 0, 0, 0, 0, 0, 0, 0}; > ret =3D rte_event_dev_xstats_get(evdev, > RTE_EVENT_DEV_XSTATS_DEVICE, > 0, ids, values, num_stats); > @@ -1460,7 +1460,7 @@ xstats_id_reset_tests(struct test *t) > for (i =3D 0; i < XSTATS_MAX; i++) > ids[i] =3D i; >=20 > -#define NUM_DEV_STATS 6 > +#define NUM_DEV_STATS 8 > /* Device names / values */ > int num_stats =3D rte_event_dev_xstats_names_get(evdev, > RTE_EVENT_DEV_XSTATS_DEVICE, > @@ -1504,8 +1504,10 @@ xstats_id_reset_tests(struct test *t) > static const char * const dev_names[] =3D { > "dev_rx", "dev_tx", "dev_drop", "dev_sched_calls", > "dev_sched_no_iq_enq", "dev_sched_no_cq_enq", > + "dev_sched_last_iter_bitmask", > + "dev_sched_progress_last_iter" > }; > - uint64_t dev_expected[] =3D {NPKTS, NPKTS, 0, 1, 0, 0}; > + uint64_t dev_expected[] =3D {NPKTS, NPKTS, 0, 1, 0, 0, 4, 1}; > for (i =3D 0; (int)i < ret; i++) { > unsigned int id; > uint64_t val =3D rte_event_dev_xstats_by_name_get(evdev, > @@ -1518,8 +1520,8 @@ xstats_id_reset_tests(struct test *t) > } > if (val !=3D dev_expected[i]) { > printf("%d: %s value incorrect, expected %" > - PRIu64" got %d\n", __LINE__, dev_names[i], > - dev_expected[i], id); > + PRIu64" got %"PRIu64"\n", __LINE__, > + dev_names[i], dev_expected[i], val); > goto fail; > } > /* reset to zero */ > @@ -1542,11 +1544,11 @@ xstats_id_reset_tests(struct test *t) > } > }; >=20 > -/* 48 is stat offset from start of the devices whole xstats. > +/* 49 is stat offset from start of the devices whole xstats. > * This WILL break every time we add a statistic to a port > * or the device, but there is no other way to test > */ > -#define PORT_OFF 48 > +#define PORT_OFF 50 > /* num stats for the tested port. CQ size adds more stats to a port */ > #define NUM_PORT_STATS 21 > /* the port to test. */ > @@ -1670,7 +1672,7 @@ xstats_id_reset_tests(struct test *t) > /* queue offset from start of the devices whole xstats. > * This will break every time we add a statistic to a device/port/queue > */ > -#define QUEUE_OFF 90 > +#define QUEUE_OFF 92 > const uint32_t queue =3D 0; > num_stats =3D rte_event_dev_xstats_names_get(evdev, > RTE_EVENT_DEV_XSTATS_QUEUE, queue, > diff --git a/drivers/event/sw/sw_evdev_xstats.c > b/drivers/event/sw/sw_evdev_xstats.c > index 02f7874180..c2647d7da2 100644 > --- a/drivers/event/sw/sw_evdev_xstats.c > +++ b/drivers/event/sw/sw_evdev_xstats.c > @@ -17,6 +17,8 @@ enum xstats_type { > /* device instance specific */ > no_iq_enq, > no_cq_enq, > + sched_last_iter_bitmask, > + sched_progress_last_iter, > /* port_specific */ > rx_used, > rx_free, > @@ -57,6 +59,9 @@ get_dev_stat(const struct sw_evdev *sw, uint16_t obj_id= x > __rte_unused, > case calls: return sw->sched_called; > case no_iq_enq: return sw->sched_no_iq_enqueues; > case no_cq_enq: return sw->sched_no_cq_enqueues; > + case sched_last_iter_bitmask: return sw->sched_last_iter_bitmask; > + case sched_progress_last_iter: return sw->sched_progress_last_iter; > + > default: return -1; > } > } > @@ -177,9 +182,11 @@ sw_xstats_init(struct sw_evdev *sw) > */ > static const char * const dev_stats[] =3D { "rx", "tx", "drop", > "sched_calls", "sched_no_iq_enq", "sched_no_cq_enq", > + "sched_last_iter_bitmask", "sched_progress_last_iter", > }; > static const enum xstats_type dev_types[] =3D { rx, tx, dropped, > - calls, no_iq_enq, no_cq_enq, > + calls, no_iq_enq, no_cq_enq, sched_last_iter_bitmask, > + sched_progress_last_iter, > }; > /* all device stats are allowed to be reset */ >=20 > -- > 2.25.1