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 3D11EA0548; Wed, 1 Jun 2022 10:46:38 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2FF2940694; Wed, 1 Jun 2022 10:46:38 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id 0E18140689 for ; Wed, 1 Jun 2022 10:46:35 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1654073196; x=1685609196; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=unDtHA1lmAHfTwXE7cYfe3SJNiTR0n7PEiqMmH9yKMg=; b=F3l5WneqkJW/8id4PTI6AcWj1087wU3mCYC2fJFqhLlFqVyOoLwov8ax yPbXPpT5yD031D661rtRwKmfjJI1xeWyP2iCKFPF7VaOsemRAdlPZiyVG APb/aPCXGm7VSPgzCsvvxqTVY+njGwctMGJzMM8bt5h1VzsrovnvUFl63 aRhjtUlGy2AfOGj+2yUp6ojJpWylM+Z0UY3PIallaAM6g4WIbhPJ1SNCx bGOi36gqdw+GgSGB47VLVQp/+W5c/5GOov9b05K4yuftrazbVYWtNZC0X mXDmjy/czYEtpaecDmWekntp9FRomNar6gVTwTzwcRRJAx1Nt3IV2JVu7 w==; X-IronPort-AV: E=McAfee;i="6400,9594,10364"; a="263157167" X-IronPort-AV: E=Sophos;i="5.91,266,1647327600"; d="scan'208";a="263157167" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Jun 2022 01:46:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,266,1647327600"; d="scan'208";a="633439793" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga008.fm.intel.com with ESMTP; 01 Jun 2022 01:46:34 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Wed, 1 Jun 2022 01:46:34 -0700 Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Wed, 1 Jun 2022 01:46:34 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Wed, 1 Jun 2022 01:46:34 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.49) 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.2308.27; Wed, 1 Jun 2022 01:46:33 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SieNmdFGKvmvy+f+CqEREFoMH24OZX8dln6ZhRGSh9p+m1XD8oQaKF5V4qENxbM/1GqeOEBXwnD5DIMg7Yh8cME8bBlfk14BCoGi2wQNUuQrkv/HWwepXepGizjyXWAL3ZC2HyDxQJxSWGOaxu48gHUDgChvFX8Ny8xEO+q/9/LXVfK4dyMKgSFY1fH2dIdWHMH+QTBVlxgWX/OieBNW8X5Svpg1eT1rKJRT7lWhhLSHjGOT7dfKr1oJ9PUy+YIITZ8vgr+bEufuRTsJl7TV5SsdbeeAlSD992FrQWa1yXlPHPFnRp2Iw+pUEORmO7raYpdjD3384x6q8ErLt82k9w== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=QCt127jJ2QyGvIHvZGVvSOY1z/m2/u0XCQvGyyJT7QM=; b=CZQQ5tNK50wDmtoozbirOfvRjYyT9BQK+p6yWV0muXCDX5bUgg7d4F1BxsDdLY1B92g6Wkl/Fg9sTI1134zKlGHH/NDX6uk5L6Fbh/s1nI9lRtfrD/+Cnarv5M+rmPhbHAD1uj1UpPYoF1/g5Thdm7Y15X6pYB6SW802A5HvOMIiNiw07emqHODvT1ODkbfBfH+K/WOMCd7ubwTENayylPxx0LqZFGWzxaRTsqRlqyCQdHQ/G0j29+0v4k1X8AMNm2Z3QRO9/xoYc8MIdQ7t3uBW/tPu56Vv2Nx4gPF4CDgoHRGPaojJU750JysPAp+gftwX3DS8K9ceBwcUaO+txA== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from MWHPR11MB0062.namprd11.prod.outlook.com (2603:10b6:301:67::34) by CY4PR11MB1414.namprd11.prod.outlook.com (2603:10b6:903:23::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.17; Wed, 1 Jun 2022 08:46:27 +0000 Received: from MWHPR11MB0062.namprd11.prod.outlook.com ([fe80::28de:cb68:fa21:3225]) by MWHPR11MB0062.namprd11.prod.outlook.com ([fe80::28de:cb68:fa21:3225%6]) with mapi id 15.20.5293.019; Wed, 1 Jun 2022 08:46:27 +0000 Message-ID: Date: Wed, 1 Jun 2022 14:16:17 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH] testpmd: optimize forward stream statistics Content-Language: en-US To: Junfeng Guo , , , CC: , Xiao Wang References: <20220524082745.4072844-1-junfeng.guo@intel.com> From: "Singh, Aman Deep" In-Reply-To: <20220524082745.4072844-1-junfeng.guo@intel.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: PN2PR01CA0140.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:6::25) To MWHPR11MB0062.namprd11.prod.outlook.com (2603:10b6:301:67::34) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9ab4b9d7-ec48-49bf-0abf-08da43ab3703 X-MS-TrafficTypeDiagnostic: CY4PR11MB1414:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0BXoM15MP14hE9ayqD13v9qldcX9gMJq9XkrJR2V05nXkCl6ZHC6h/gOsnjmiUe3ZwU3LL5QDTwUQF0WqwizeV3ev2Dn4hxGUrmQrx3Gx7un0gOe33H8DAbQt8tqy+YqdGu1TAym3qCd0+Vg8dcZUyQ8CUIJ4Y7SJdUbEMYLhELu1ug8Bgf0wQTbFzzCPr2UcthKWbmcGU6zg0PlYo2T4sf+tnp9HwLCa0DVlCrhntiJg37GlJs+WfjAYY3FjjkHHcUFqUV69DK0+VwTHQrgeEuC5dnNTT7NVQVyn+1R0djdugV/H68vBRgQaB3VWNTNg8UXi45YeXLkAxkNpn4pwGWik2XqjvAj24eucXOzK1UvCdAFc9X4zBBinajd2kViu8ko+pduyaLfwqIQa9GbOVi3KFkTJVo9RIyk0zK4M5b+pUFCPzD8qPIADUueohEAMKrhZJWZ+qtyrsAZcm++gbyyt+sTWQdd7KfigKgrFx6WXMKniZXwV8O6QSVTeveW4b8FUMRxrf0z8ajTscuMt0OuJ+rwhfLhYKruEUmYgMS//9DJw83Kz0gk8pXZ2cFdMj4qK3Vww/cUM1uCMlE0y24IJvuEZWgajeBC4PEUlvuiiZHgTdHW/AMBfZ3LKTxWs9xFnPZ9SGjPAICL1WTHmzNs/xDMU2X1gypYYVOj49cJivfetj918N8FDGxEUnlbRADqCpm85OVOLY5RGg+aIokZ/T127VlSoZjaYhCGaMnSOrZcpSny/SQczCxwjNHV X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR11MB0062.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(36756003)(31686004)(6636002)(31696002)(316002)(83380400001)(66556008)(66476007)(8676002)(66946007)(4326008)(508600001)(38100700002)(186003)(53546011)(6486002)(107886003)(86362001)(8936002)(6512007)(26005)(5660300002)(6666004)(2906002)(6506007)(82960400001)(2616005)(43740500002)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?S1hJSGJraVovS1UzZXlxS1V5NjY5L1JzcXNwaDZuNlBYUEdQQ05SSWxjSnNw?= =?utf-8?B?MjBka1N6OU9IUkxRaGxPeDY1ZXJiajdJd0tKNCt0dUV4cm94aHpnZERKcXg2?= =?utf-8?B?RlZ1WG02aG1ScHdSUW1Jd2hLRWh2NG5vOVBRY1o5cWRHNEJmcjErNjVkdzBG?= =?utf-8?B?ZHlnbEpqaUxMN0IzZ1dhSEdRcXJSYXlWQ1NGODFPLzZoWmxJb0xsWmUxYXFJ?= =?utf-8?B?THR1aFh2NThJWTB0aE4rREgxa1NiT0pwaFZVcnZhQTczR1VPWjNVT0Q3Nng2?= =?utf-8?B?eHRSSnB6N1FWR1g1OUNmYkVWUEloK0FWNW1CZ1V1UFNLRldwUTBsTWFmRk9W?= =?utf-8?B?YWtHQ0dvQ2pkR2NiWHArb0VPMHQ2U3NSZHpBYUUwOXhGeDdjMjFCb0s4VXBK?= =?utf-8?B?RllwNFRZM0ZjRGlOc2ZheTZFWHpiNW9sUnJ0bEcvZkV3MnBSZlllKzBWaWJD?= =?utf-8?B?VEQ4MEU5enRGMXNhYThJeE94ZmZmZmp1RnNYSFVVK290VVlWU3Y1S09KaW5E?= =?utf-8?B?M0pwd1dHZUdrMFQrNFI5Q29hckpjS1dBRmN6c3F0Q0JHeU1qaVFSMkptcHVW?= =?utf-8?B?Mm4ybS85K2RiQnZTeDNQTDdQWWFmM1RkY3RpVUEyRno4dEg2TExKMldDZUF1?= =?utf-8?B?b3orZlB4Y1lFYnZKOVVnY1oxc1JOb3NkQ05rK2NHZnUvUXpJYy80ajlJMFI1?= =?utf-8?B?WEdNaFY3S05IR1pXNGQyWVFnS25BU0JjaUdpNDQvUzhqcG5DbDExdGtGNVBo?= =?utf-8?B?SWxLT01FZld6M25jU0tleis1TUpXOFoyc1pmVmlhTTRwV3hiSHJpNTh2OWJU?= =?utf-8?B?WktEdTA1RXYrM3BRVTIrSDJoUmhvNDIvYWZPUzdpZUFxR3B2RkZyMTZLUm50?= =?utf-8?B?NlZUaU5JaFM2Wk9yS1c2VFVaT0p5Um03TEZFUDhMR3E2Tk00WUZXemF3WnNX?= =?utf-8?B?bWRYOFI2ZWN0dVBtWlhwQVFGSnZzOUdRcUtrR1VNTi9janpiZGozalp2Y0pr?= =?utf-8?B?T0FxTTNCQVVSdFdESS9HT3ljbXBYdVkxRW4rUGlKRDhuQ3Qrd3BxSlU1SGQ1?= =?utf-8?B?ejR6RmNvd0haMDVhd2hRVnE2Nm51Zkd3RnNzVjR1YUhNbUtMeDJUV0NTMi9S?= =?utf-8?B?Z0xQbldaYUdzUFptWXNzN255aU13bTNGZllRQ3Y2dVNWT3g1bTVDQXhXOE1m?= =?utf-8?B?bU41UFlzYmsrRjB4VWNMMlljc0VlOG5wbTl0VE1YRGJGMHovZjZKeTh6T0hI?= =?utf-8?B?Z2M1bWZjV0M5YmlXM1Z6a1lidGlSeUE1RENVRkJURmdXZEo5NENGSU5wRlFj?= =?utf-8?B?MHR3c3dNdW5meHpISzJmTEdxRXpEQVlsYWdzKzUzSkllNDZ0MHFhUkl4clFu?= =?utf-8?B?MWFXVjRYRUYxQWREOHMwSGxDRUF4dkhiS2E4blBvakNHWTBjRWhGK1JnRXJm?= =?utf-8?B?cU9IcDhhZVRoRXJSZlRmVHQweFg1NUZGaFBEVit3ZU1jNG84NjZHTTVwWEpz?= =?utf-8?B?MlJzTUlOR1RqT05WZmd2aWlEY0E2OUNjS1VyTTlnalZEdWJZV0c3L1NHVVNE?= =?utf-8?B?ZjFnRHgrRndmTGoxTVNOazgvQ3p3NHVlRHFqUk1MZUNQK1VJMGhSTzhaeFVO?= =?utf-8?B?VjZ3TWc5NjIxVXhCeUd5WE1vcDR6UUJoWUhzZXViNS9iSlFPSm9CVnNyMGRF?= =?utf-8?B?YVNWcEdLRUJwdnhXZ2dxeTMzWnZac3N4YWRiK3Z4eWdYMXZFVmFkVEw0am1j?= =?utf-8?B?OCtqemwyS1RZYjZQSXNFU2pTMjRHTG51OWkxOWxmVTF2UTVRRUZ3NllJMEFB?= =?utf-8?B?UEt6d0R0b0VhOEY5WWQyOXV0SExQZTFPQUFkL3dwN0hPVmNxL3k3SDI0Z1dj?= =?utf-8?B?YUZmL3I2Y1htYldOVG9hdm9SYkZPK3RnNmE5cmF0TDFqZDNoOG1ISzI3cUh3?= =?utf-8?B?UnFnVFJXbjNkSkNqaXd1THMwOUNIdGIvL3JtL0JuTUlxYnZiWjh2NmtrUFZ6?= =?utf-8?B?L2xsRzVTOWZPb2hpYzRvRC9HZnhTM1FjelJpRjhTNmYxYURRL3RVa2xWSk15?= =?utf-8?B?UHA3dnQ2VExIOFNwVHhxYlRWZmFhRVd3U1JXWGU0dCtaMkhMY3lhZ3d2QnZ0?= =?utf-8?B?eVBrVzRpT01oY0l5VEh5RjlaK282S1FZYkFBck0yaHl1YTA2V0dNcVJtQk1V?= =?utf-8?B?VUVWaXZualNwMzNWNGRpd3daRFpJamVSQ3FXaXJ3b2g0dk9Cbnc3OHZSdHl2?= =?utf-8?B?TC82VzMra3JQU3J5RC9MWDlUQ3RteVMvRUMvSUZxdXIxcVVvVzdObE4xeEJy?= =?utf-8?B?RDNUYXF5cDZuSkpEZHNHZ1JVRlJvMHZHMEpOcG1MWklleFdxZUNiVE9sMitW?= =?utf-8?Q?e5/O2xWzRCK4YYKM=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 9ab4b9d7-ec48-49bf-0abf-08da43ab3703 X-MS-Exchange-CrossTenant-AuthSource: MWHPR11MB0062.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2022 08:46:27.1979 (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: n78xLtVC4KVwMQ3fmtRIJNbWphDllyohstFvESEi8Q11HMgwB2b+Uo783eGe5bSIjuAqSpoHPmiXoIieK2fcHNlVg4sMak1vXDIbvWJjkiU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1414 X-OriginatorOrg: intel.com 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 Hi Junfeng On 5/24/2022 1:57 PM, Junfeng Guo wrote: > 1. add throughput statistics for forward stream > 2. display forward statistics for every forward stream > > Signed-off-by: Xiao Wang > Signed-off-by: Junfeng Guo > --- > app/test-pmd/testpmd.c | 41 ++++++++++++++++++++++++++++++++++++++--- > app/test-pmd/testpmd.h | 6 ++++++ > 2 files changed, 44 insertions(+), 3 deletions(-) > > diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c > index fe2ce19f99..076a042e77 100644 > --- a/app/test-pmd/testpmd.c > +++ b/app/test-pmd/testpmd.c > @@ -1926,6 +1926,8 @@ fwd_stream_stats_display(streamid_t stream_id) > { > struct fwd_stream *fs; > static const char *fwd_top_stats_border = "-------"; > + uint64_t diff_pkts_rx, diff_pkts_tx, diff_cycles; > + uint64_t pps_rx, pps_tx; > > fs = fwd_streams[stream_id]; > if ((fs->rx_packets == 0) && (fs->tx_packets == 0) && > @@ -1939,6 +1941,21 @@ fwd_stream_stats_display(streamid_t stream_id) > " TX-dropped: %-14"PRIu64, > fs->rx_packets, fs->tx_packets, fs->fwd_dropped); > > + diff_pkts_rx = fs->rx_packets - fs->pre_rx; > + diff_pkts_tx = fs->tx_packets - fs->pre_tx; > + diff_cycles = fs->pre_cycles; > + > + fs->pre_rx = fs->rx_packets; > + fs->pre_tx = fs->tx_packets; > + fs->pre_cycles = rte_rdtsc(); > + if (diff_cycles > 0) > + diff_cycles = fs->pre_cycles - diff_cycles; > + > + pps_rx = diff_cycles > 0 ? > + (double)diff_pkts_rx * rte_get_tsc_hz() / diff_cycles : 0; > + pps_tx = diff_cycles > 0 ? > + (double)diff_pkts_tx * rte_get_tsc_hz() / diff_cycles : 0; > + > /* if checksum mode */ > if (cur_fwd_eng == &csum_fwd_engine) { > printf(" RX- bad IP checksum: %-14"PRIu64 > @@ -1952,6 +1969,11 @@ fwd_stream_stats_display(streamid_t stream_id) > printf("\n"); > } > > + printf("\n Throughput (since last show)\n"); > + printf(" Rx-pps: %12"PRIu64"\n Tx-pps: %12"PRIu64"\n", pps_rx, pps_tx); > + fs->rx_pps = pps_rx; > + fs->tx_pps = pps_tx; > + > if (record_burst_stats) { > pkt_burst_stats_display("RX", &fs->rx_burst_stats); > pkt_burst_stats_display("TX", &fs->tx_burst_stats); > @@ -1979,6 +2001,8 @@ fwd_stats_display(void) > uint64_t fwd_cycles = 0; > uint64_t total_recv = 0; > uint64_t total_xmit = 0; > + uint64_t total_rx_pps = 0; > + uint64_t total_tx_pps = 0; > struct rte_port *port; > streamid_t sm_id; > portid_t pt_id; > @@ -1989,10 +2013,9 @@ fwd_stats_display(void) > for (sm_id = 0; sm_id < cur_fwd_config.nb_fwd_streams; sm_id++) { > struct fwd_stream *fs = fwd_streams[sm_id]; > > - if (cur_fwd_config.nb_fwd_streams > > + fwd_stream_stats_display(sm_id); > + if (cur_fwd_config.nb_fwd_streams == > cur_fwd_config.nb_fwd_ports) { > - fwd_stream_stats_display(sm_id); > - } else { > ports_stats[fs->tx_port].tx_stream = fs; > ports_stats[fs->rx_port].rx_stream = fs; > } > @@ -2008,7 +2031,14 @@ fwd_stats_display(void) > > if (record_core_cycles) > fwd_cycles += fs->core_cycles; > + > + total_rx_pps += fs->rx_pps; > + total_tx_pps += fs->tx_pps; > } > + > + printf("\n Total Rx-pps: %12"PRIu64" Tx-pps: %12"PRIu64"\n", > + total_rx_pps, total_tx_pps); > + > for (i = 0; i < cur_fwd_config.nb_fwd_ports; i++) { > pt_id = fwd_ports_ids[i]; > port = &ports[pt_id]; > @@ -2124,6 +2154,11 @@ fwd_stats_reset(void) > fs->rx_bad_l4_csum = 0; > fs->rx_bad_outer_l4_csum = 0; > fs->rx_bad_outer_ip_csum = 0; > + fs->pre_rx = 0; > + fs->pre_tx = 0; > + fs->pre_cycles = 0; > + fs->rx_pps = 0; > + fs->tx_pps = 0; > > memset(&fs->rx_burst_stats, 0, sizeof(fs->rx_burst_stats)); > memset(&fs->tx_burst_stats, 0, sizeof(fs->tx_burst_stats)); > diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h > index 31f766c965..cad57af27e 100644 > --- a/app/test-pmd/testpmd.h > +++ b/app/test-pmd/testpmd.h > @@ -155,6 +155,12 @@ struct fwd_stream { > struct pkt_burst_stats rx_burst_stats; > struct pkt_burst_stats tx_burst_stats; > struct fwd_lcore *lcore; /**< Lcore being scheduled. */ > + > + uint64_t pre_rx; > + uint64_t pre_tx; > + uint64_t pre_cycles; > + uint64_t rx_pps; > + uint64_t tx_pps; > }; For each parameter, please add comment to describe its purpose. Just as it is done for other parameters in the struct. > > /**