From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 3D621A0613
	for <public@inbox.dpdk.org>; Tue, 30 Jul 2019 17:45:45 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 1AAC91B9E9;
	Tue, 30 Jul 2019 17:45:45 +0200 (CEST)
Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com
 [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id 7A8A214E8
 for <dev@dpdk.org>; Tue, 30 Jul 2019 17:45:43 +0200 (CEST)
Received: from pps.filterd (m0045849.ppops.net [127.0.0.1])
 by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id
 x6UFjP7I005596; Tue, 30 Jul 2019 08:45:42 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;
 h=from : to : cc :
 subject : date : message-id : content-type : content-transfer-encoding :
 mime-version; s=pfpt0818; bh=I9D3mw0FKj+lLBMqmVT/xZWmtWcif8WOFLZIXny9Cfc=;
 b=CZsXv6jwMbDooFMaBUKZ5rW+d+DrXV0tbEi4NS+qOpcwU1SqGmbzlJxqfyUN61CM2ZiO
 A81ILiZsj2FoX4KKMlYt8CN1weOSU+NSQdTMyj5S2icdCuZcugziI6T/2EUOXKGkL98L
 uXyqk9B0nIuggaBiwtGgiwDYCRsxwMkVwkTxvvONeMB8Sq9OdeWcxB8FwmbLOSVAP+SY
 L31n3ui81BMq/0S6hONI3B6Uzz58Ef/mrbV+F4Rh4LWmmrQTxHqGOJ7OhHcPRKu/bLGy
 OEcLczLulkQShgnlwZ2h1Y+FDkR3MxgcmaR7acwwnGeu3pkb8NcLSDLAHN6ZcQcKyMzQ Ig== 
Received: from sc-exch01.marvell.com ([199.233.58.181])
 by mx0a-0016f401.pphosted.com with ESMTP id 2u0kyq5gym-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);
 Tue, 30 Jul 2019 08:45:42 -0700
Received: from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH01.marvell.com
 (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Tue, 30 Jul
 2019 08:45:41 -0700
Received: from NAM02-CY1-obe.outbound.protection.outlook.com (104.47.37.57) by
 SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server
 (TLS) id
 15.0.1367.3 via Frontend Transport; Tue, 30 Jul 2019 08:45:41 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NK1793leyefoNExpaE4f7tnEuh8I8TaM080mVmIgE9HT62RBUiGnFG2ZkBJf2pWyuOtfh/nEaQwQHvdRUzBNZo4t4uqtHZwl6Kqzf7wV5j+i58svFXha65oxLGmGTJRzm5aSbFmQ63zcgluX2uM6LxugrSjGujKyMm3c5lTJZ1PEQjhKTgLZOuLTmWPkTfRAnSsYI8O9uThq6OxVUm+Hf1myRyhKU6UJ0IIVF//HA7vPIoTXMBzFfjMwe2VGwrbCPJze2BF4W/FqMtMh8PeZERtiw4+90JTZkXwOXlVKIqGDE7pKfmrQrhkXDMenwh9Mqd+trbb/aMDpHbosT14/Kw==
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=I9D3mw0FKj+lLBMqmVT/xZWmtWcif8WOFLZIXny9Cfc=;
 b=gDK90XQw55xuPmaHTFyNhw8IW4CHDgJ6KYL30mkv70V8xwK57Il2k2R7JtUmHyMwcOpgPNzI/jc4Hg9FOR5cKvzHsSghcCyFhcN7eokqlLwAJECEhXIP1kBWfN2T3H+XjRBF7nlBFf9SvVM5PoxiFuReqCti6gHI1aBsdslbnBlL5acrBCWv5JuvEcdNHxeHh3dIkG7tuj2Iy/dZ4+0J8tPFxSaksSH2bDZwwcgI8LAASmeuKQFy3A4kCfjbQkn/GcZaFSFXhdJeTZr3oBU+9xNeiuaVHpM5hpg7+UoAIb56CEVg6y4OxdjHOLfFHImbp0+iMlI5l6vSzYzRbhOqpQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1;spf=pass
 smtp.mailfrom=marvell.com;dmarc=pass action=none
 header.from=marvell.com;dkim=pass header.d=marvell.com;arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=marvell.onmicrosoft.com; s=selector2-marvell-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I9D3mw0FKj+lLBMqmVT/xZWmtWcif8WOFLZIXny9Cfc=;
 b=ZAEqAullWNHjOhijDLsw80TCP12uOSPZWfjAY+WGM45vQMZXDkwy/ZCQHa5tZMtVsr8d/3x6a3E2jYLxTochbPJmj3H026J4Cib26iUhOFEOdHWBiny9QqhKpt0l0H52cKQC9J7DcQNQIHIzscTWflan+4nSq/0zWzvaKBa9Dg0=
Received: from BYAPR18MB2424.namprd18.prod.outlook.com (20.179.91.149) by
 BYAPR18MB2359.namprd18.prod.outlook.com (20.179.90.156) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2115.14; Tue, 30 Jul 2019 15:45:39 +0000
Received: from BYAPR18MB2424.namprd18.prod.outlook.com
 ([fe80::2d42:12b6:aa2e:2862]) by BYAPR18MB2424.namprd18.prod.outlook.com
 ([fe80::2d42:12b6:aa2e:2862%4]) with mapi id 15.20.2115.005; Tue, 30 Jul 2019
 15:45:39 +0000
From: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
To: Bruce Richardson <bruce.richardson@intel.com>
CC: Marcin Zapolski <marcinx.a.zapolski@intel.com>, "dev@dpdk.org"
 <dev@dpdk.org>
Thread-Topic: [dpdk-dev] [RFC 19.11 1/2] ethdev: make DPDK core functions
 non-inline
Thread-Index: AdVG7SIxpbOMq2AnTcSNFWTpggCkGw==
Date: Tue, 30 Jul 2019 15:45:38 +0000
Message-ID: <BYAPR18MB242430BF204E3472FC0C841FC8DC0@BYAPR18MB2424.namprd18.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [106.200.247.60]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4f667039-23c4-42a3-042f-08d71504f891
x-microsoft-antispam: BCL:0; PCL:0;
 RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020);
 SRVR:BYAPR18MB2359; 
x-ms-traffictypediagnostic: BYAPR18MB2359:
x-microsoft-antispam-prvs: <BYAPR18MB235951798F562B0F7EA9BFF5C8DC0@BYAPR18MB2359.namprd18.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0114FF88F6
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(4636009)(136003)(376002)(366004)(39860400002)(396003)(346002)(189003)(199004)(13464003)(3846002)(99286004)(66946007)(64756008)(66476007)(66556008)(66446008)(14444005)(5660300002)(71200400001)(71190400001)(7696005)(76116006)(52536014)(66066001)(102836004)(476003)(6506007)(54906003)(53546011)(186003)(26005)(316002)(6116002)(486006)(4326008)(2906002)(9686003)(33656002)(68736007)(256004)(6436002)(25786009)(81156014)(7736002)(81166006)(6916009)(53936002)(55016002)(8936002)(74316002)(14454004)(229853002)(478600001)(305945005)(86362001);
 DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR18MB2359;
 H:BYAPR18MB2424.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: marvell.com does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: mTAGEYihZN+0JqKMIKeTXXp6Lo8gJ3A+M4n1dSTP1MKJRnL6jRt2P2IL4cN4EdH0vqbuVcHB5bsMhFR3lf+krqrEs3tRSBnybwrao2qGGgnonUmD9XkRFy6MsULZ8jlUvPM37QyR5QY0un3v64YO+252fmDYY92Ogo4k6ZZeGsOv3yQbZs9j+BdO0Cm1xc0EZko/nSL6QzDBCxbGeEMbJTLS4zEIeKM5PPBe9+zCmgqMUlnxHvzQefqauSF2v8XB3T5GyBcRpLt965qnMc+9vLtQ8zdNzALkL2qr4o3w1BNWB7uNzqUQ3eDtWJrvyn+1zfh5nunXL9QGEVa0GC3b3xDd7Bt60kpuRJ/NMX0CALwa+YIbGf32i/+Amllqe6myErpv6Io0WaP3yzk9NwIbswguZiyTQ2RvgDDXw1pW2r4=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f667039-23c4-42a3-042f-08d71504f891
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jul 2019 15:45:38.8351 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: jerinj@marvell.com
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR18MB2359
X-OriginatorOrg: marvell.com
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:5.22.84,1.0.8
 definitions=2019-07-30_07:2019-07-29,2019-07-30 signatures=0
Subject: Re: [dpdk-dev] [RFC 19.11 1/2] ethdev: make DPDK core
	functions	non-inline
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Tuesday, July 30, 2019 9:02 PM
> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> Cc: Marcin Zapolski <marcinx.a.zapolski@intel.com>; dev@dpdk.org
> Subject: [EXT] Re: [dpdk-dev] [RFC 19.11 1/2] ethdev: make DPDK core func=
tions
> non-inline
>=20
> ----------------------------------------------------------------------
> On Tue, Jul 30, 2019 at 03:01:00PM +0000, Jerin Jacob Kollanukkaran wrote=
:
> > > -----Original Message----- From: dev <dev-bounces@dpdk.org> On
> > > Behalf Of Marcin Zapolski Sent: Tuesday, July 30, 2019 6:20 PM To:
> > > dev@dpdk.org Cc: Marcin Zapolski <marcinx.a.zapolski@intel.com>
> > > Subject: [dpdk-dev] [RFC 19.11 1/2] ethdev: make DPDK core functions
> > > non- inline
> > >
> > > Make rte_eth_rx_burst, rte_eth_tx_burst and other static inline
> > > ethdev functions not inline. They are referencing DPDK internal
> > > structures and inlining forces those structures to be exposed to user
> applications.
> > >
> > > In internal testing with i40e NICs a performance drop of about 2%
> > > was observed with testpmd.
> >
> > I tested on two class of arm64 machines(Highend and lowend) one has
> > 1.4% drop And other one has 3.6% drop.
> >
> This is with testpmd only right? I'd just point out that we need to remem=
ber that
> these numbers need to be scaled down appropriately for a realworld app wh=
ere
> IO is only a (hopefully small) proportion of the packet processing budget=
. For
> example, I would expect the ~2% drop we saw in testpmd to correspond to
> <0.5% drop in something like OVS.

I see it as bit different view, Cycles saved infrastructure layer, cycles g=
ained in
application. So IMO it vary between end user application need what kind of
machine it runs.

>=20
> > I second to not expose internal data structure to avoid ABI break.
> >
> > IMO, This patch has performance issue due to it is fixing it in simple
> > way.
> >
> > It is not worth two have function call overhead to call the driver
> > function.  Some thoughts below to reduce the performance impact
> > without exposing internal structures.
> >
> The big concern I have with what you propose is that would involve changi=
ng
> each and every ethdev driver in DPDK! I'd prefer to make sure that the im=
pact of
> this change is actually felt in real-world apps before we start looking t=
o make
> such updates across the DPDK codebase.

I see those changes are NO BRAINER from driver POV. Once we add in one driv=
er, individual
PMD Maintainer can update easily. I think, we can do it once for all.
I am sure, you must aware of How hard is make 2% improvement in driver. I c=
an spend time in
This NO brainer to get 2% improvement back. I prefer later.


>=20
> > And I think, We need to follow the similar mechanism for cryptodev,
> > Eventdev, rawdev Etc so bring the common scheme to address this semanti=
cs
> will be use full.
> >
> Agreed.
>=20
> Regards,
> /Bruce