From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Santosh.Shukla@cavium.com>
Received: from NAM01-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam01on0055.outbound.protection.outlook.com [104.47.32.55])
 by dpdk.org (Postfix) with ESMTP id 1D1B93990
 for <dev@dpdk.org>; Fri, 16 Dec 2016 05:40:30 +0100 (CET)
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=Lq9jRdcUkUWj+oNJIt8EAqeMGQ5+NkbJ+yIZkXUZ+QQ=;
 b=Nnb7+uELmTJaipBFvGTdKpljkofkuqW1VfZklB/2f5QuoLLhVwpJi8mbYMbEdRIW8LXEr2Zm5ud2iffaDtw/7+gi8bxp2fC7+Ug/dcY3YRfJRaHBFLUu9Sr1HYwouolOMlusLut7tF7dVQkMgshSyBV9yhapRXpPbfwFWVqrEw8=
Authentication-Results: spf=none (sender IP is )
 smtp.mailfrom=Santosh.Shukla@cavium.com; 
Received: from santosh-Latitude-E5530-non-vPro (12.0.243.26) by
 CY1PR0701MB1726.namprd07.prod.outlook.com (10.163.21.140) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id
 15.1.693.12; Fri, 16 Dec 2016 04:40:27 +0000
Date: Thu, 15 Dec 2016 20:40:19 -0800
From: Santosh Shukla <santosh.shukla@caviumnetworks.com>
To: Jianbo Liu <jianbo.liu@linaro.org>
CC: Jerin Jacob <jerin.jacob@caviumnetworks.com>, <dev@dpdk.org>, "Ananyev,
 Konstantin" <konstantin.ananyev@intel.com>, Thomas Monjalon
 <thomas.monjalon@6wind.com>, Bruce Richardson <bruce.richardson@intel.com>,
 Jan Viktorin <viktorin@rehivetech.com>, Helin Zhang <helin.zhang@intel.com>
Message-ID: <20161216044017.GA29607@santosh-Latitude-E5530-non-vPro>
References: <1481680558-4003-1-git-send-email-jerin.jacob@caviumnetworks.com>
 <1481680558-4003-24-git-send-email-jerin.jacob@caviumnetworks.com>
 <CAP4Qi38Bp6oL7uQcOoUqFHk53ARS3Yd+RKw4w1XeHUC+aveEMw@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CAP4Qi38Bp6oL7uQcOoUqFHk53ARS3Yd+RKw4w1XeHUC+aveEMw@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Originating-IP: [12.0.243.26]
X-ClientProxiedBy: CY1PR17CA0033.namprd17.prod.outlook.com (10.163.68.43) To
 CY1PR0701MB1726.namprd07.prod.outlook.com (10.163.21.140)
X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1726;
 2:Cwkrk1rPqitiu/7DH4AS1t+KuxMRnOTS/l+WQq5fm2lpgTDgsXpQNcxOFdW6BOurINdU1F4mYms3jJKWTcg1P256sIAYOXSRkpLwDdC2vxTINYE1EAzu0d352rwfWdgQdXMVq2JW552Hr4Hrf6H393UGSdw7gzDf/C2gfSs3nC8=;
 3:DO9tkuWaVSoxyb2fXfaXYLkLHde1TduStKeGCj2OKpJoqartoH5nHIf9bAcD6uQbnlHeA3NvN5GjjNlooU7Xzsjb3KUFM0AVMQUNXRbDBdH1SwYZ2kIEK2puRtaQWma0tpPpXu4hADmF7EiaZJhSIk4s3TErt1vEOnwqnOpxC8g=;
 25:RuJi8cC2526cPiJcia1S9ul56jVJLLV8u2zfmIN1gvBwblmfbGXmMjuVIbNjsDM7XFEPW/+/pVJPKaSnw090URDutPN2+QyDqPqLyQpaLYz21/1PzzeVnJUPKnoL/pfyD1TqcSmt8MAjoyjXBdJlbhZFTJAsv0BhsLT6v14bfiTOwcXwv1UDuhMr2OYtcMi9MocyVwWEe4bhibtQJqyA089EdMaV2kHWtVj66IhW/jkzxuU3U/zSkI33mAAyDN8SBLS2KFIcX71wJzuS1mqrQvnWzFTvF91Qm/QbHbtKza4Xx8XqdfcIp5gk0je8vgFTYQRwcZk28oDoMgXwqS87VKWHUmbVtuY7elTNrIHHhHhDM8VDz/RlcK/TVsJuS7gk8CjLqTwzIAXQrQdpkegBVJZwqv00VBEpZjQazI1xJMqxOUEZY0EtLbUKCfncsGbg/MoiGrZ7wGqETozcvZUPDA==
X-MS-Office365-Filtering-Correlation-Id: 3a9b3fe1-c200-43ba-60b3-08d4256da925
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001);
 SRVR:CY1PR0701MB1726; 
X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1726;
 31:Rg1iixpBX37IYBhC98qbqT5czMfzSYexh67D0Ih39LLZcltQBZuDYRfbPliVFeLOgaq9b234+KM6v44DAbijZH5wCHcjCyHPI3tBfqu+g6+KSueJvkB5IaLYs0GnaJY0sANcu3iwQrpyHnmSwH8SZHARWA2IObhaV6b2/up3ks1OS2T3W3QQq4o4YtYRGyymEZxZv5CCr7aoizQ6vMcGEjABVIO6JUlelgvsxLdkZxt2EYV0g+fN383oCffLo7hW;
 20:xOVEdDRWntTUHnP9x6RFNZ1fp7Pe/HJFEafZNa9cZ3GQH1t66HwQw+3ZkFIOrwUT7s/5uP/qz6Ad+PmjQyeKzWiz/kZPdP0gU/4iC7xaxMHzip1OXCaHK5/mwQjDNRLlYZctHO2C5vwvKpwQWXF8KdzrbV/so9z/cvWG8gz4SdSVpPMfdpuPnTkHlylKs6ktyhj9MZMzMC5ll8v1B8Z8kMcGIg8evFjGbHqo8N4c/noePjD9OGTKLzyi4TxRVHgRMlcecYq7ZEa5KzpdVpvhFywRg/hgQ5Q1InaVNJvER5gACm0JtY3B0lxzogw10bys3yR21Q4KKNsk3yDTaDA1HN4NcWeHwboLQ5SxgprSO5vrwEPfUmEqWYOLkC/GrMDCRgd4+ltpEqhUNkNs5G+F7bRTe0ouiXgwU56wluB2J6uOTW83GjpGxHgXi6S8RUJHG+7UOTObPKKVKvQLCdudp4hNreJLgODw4c5DIwrs70m54v7lZ6ryxtqh+lQqwyQBUKn4zDJN9sAkBeRAiENWzeha76669+CPgSOsN3DKcoumCSC3toVGxIAm1qo6Uz7tw24LcRJEkN4BYrInjkDhpk3VA5Uqd2fthvJmHFo/e9Q=
X-Microsoft-Antispam-PRVS: <CY1PR0701MB1726724A83FF716DBC1B84EBEA9C0@CY1PR0701MB1726.namprd07.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:(788757137089)(228905959029699)(17755550239193); 
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6041248)(20161123555025)(20161123562025)(20161123564025)(20161123560025)(6072148);
 SRVR:CY1PR0701MB1726; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0701MB1726; 
X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1726;
 4:JCy0Ab8V05DZWd9DO7SxjSyrsSNWTk2zYdE3TC4Q2p8nbVlz5BObyaHJ8EydBIgqq0RSS34Iqe4KFk8Ua5irhMMOe7x9Di3Z1mH0s23SBc1CWA+cPXY83A8sTgdTeRsGzAaXbaBE/1FjzcOJOuRsrfmx1FtJLNYmjCtp1pWrNouTfzU0/NZF+FqICsOeBVySvRJPJUIKi8Wo061uzLy1JMfjUmUeuGEm+OOig38Bf1NV8BczOnsNacHYetMIBLIV20N/2E6Dxu9iWQeb3X8Ce5ohESo1icQe/h/PleOUzTHMh+JPIZuBXz49sDljl4CMqFerGX2DM6BM9ILhq21CnFwgu+HGXsbleiHpyKY6oK6ZECgwoe+YHdQ8lWgFnaz6Eo9yLHpF6IQlFmJtaogjrxF8O1D+LdSN5r+Y+MFfZjQrMnRu8hLISDNc61XGJMOYLL8f4frfTOBUVzFAFbSm5DC7SNlp2IBhFo9Pj4/hNNgb9jbZ74cXtK0P8ipprwcntwNCX8ZHz9h1rP0DsRgxuS0O5zNkBnDMZmz+rSPI0neAyXZwHjZvbc27o8+m+DIW9LwjEzsIG2fls5DiVcTagJHyzX96Dp72Dx+aMKPLedT30Vznlp538hGvvdYzFQEjaL69urOJfXJzlYJ85bqPTV+UWqvMgy1MaeZHs+8NObA+Bqo9gLGOvW/RfA5L4kZX
X-Forefront-PRVS: 01583E185C
X-Forefront-Antispam-Report: SFV:NSPM;
 SFS:(10009020)(4630300001)(6009001)(7916002)(39410400002)(39450400003)(39830400002)(199003)(189002)(24454002)(43544003)(229853002)(50466002)(6666003)(42882006)(38730400001)(110136003)(5660300001)(6916009)(2950100002)(9686002)(4001350100001)(46406003)(189998001)(54356999)(83506001)(6116002)(42186005)(25786008)(97736004)(101416001)(76176999)(3846002)(50986999)(33656002)(33716001)(4326007)(66066001)(23726003)(1076002)(81166006)(105586002)(8676002)(106356001)(7736002)(97756001)(575784001)(92566002)(81156014)(2906002)(6496003)(68736007)(47776003)(305945005)(18370500001);
 DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0701MB1726;
 H:santosh-Latitude-E5530-non-vPro; FPR:; SPF:None; PTR:InfoNoRecords; A:1;
 MX: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; CY1PR0701MB1726;
 23:efemLe0RJjfj4a8s6SMvfo3mKhW6pBPRdxRbTiE?=
 =?us-ascii?Q?9eDSIJWqzoHOvlZoIKHaDaIJnNXUCiuK3ZeREymISUwrJf+nLnTS3Ktq42sj?=
 =?us-ascii?Q?bSwuQcYJ97Dd7G2s3Hmj3BPyMQoCE23M0o5V/ZMT0u8vi8e0ComrF+HXDSj3?=
 =?us-ascii?Q?Y4+hypJRoWlHLR3sD9wYKyUZ2Yv1EI9MIhjvYFEOoDAd43hn9QkdlPlXO3aE?=
 =?us-ascii?Q?5nHFkunNrIRcGEOjFPT7ts4NDNUeLzo/QrZ4/6Mwt48tDXousAGqEVrYbFmu?=
 =?us-ascii?Q?QXYNbVSjQfC+rQYb9pPzOohDUnk16TgIW7kdwCfjO1l4ljJqpwlfNi8sNIaH?=
 =?us-ascii?Q?7kGDd1sqeVe446rC7H6RkQnd7Cv8beYNGavgXVJbuk2dMcd7u0T/YqvWkyKK?=
 =?us-ascii?Q?f6M/qRcvUkhvGCFZmzjF5ELtGyz7RxBXOvgFe63mJJlR3P3FZbZBw5jOceo6?=
 =?us-ascii?Q?77Jm56Uzy8VSKmpgC4E1uK7ZKlkviv3fdo5bLuW5lwdrck9XwhIPVNQQRm6I?=
 =?us-ascii?Q?X7SWpfAArnhJoXOY0COoLlouXavRtdS+Tj7AkTxCNPYwrkERHSLfPhvpWHHj?=
 =?us-ascii?Q?WF6pISDvD239a5outRP1uK3XT0NMV9bIWCoznis5A5iIadJ6CVyoKp3XlQ9V?=
 =?us-ascii?Q?A1u3//Ni38r12ETUSTQbRMUpcannIwUhTwFbL373UD4j5O0QZpaStNajuNtH?=
 =?us-ascii?Q?VioSow1lBhuSp8hU0qGw/8nszDVDYW/neXitnjX3nCniQ8Y2WwRQsBqJ56GM?=
 =?us-ascii?Q?Uf0TSItlOUKqdispH76IZIMPASgcusfQ20PjJ5D0AEkq6rIF9//TAN2rVilt?=
 =?us-ascii?Q?msoayBqO3aJllEZ47fvvV50zQReTsw7UMMB+VrqQ7XSc8O2wQt1IbKtH2Dcj?=
 =?us-ascii?Q?vW2XMloIecrcNW4686RWmuWI8Wd6JO2NTIdXmO+tcsN430Bj2r/xLJuQNj8D?=
 =?us-ascii?Q?n7p0xPd8vrlnE31QEdvjJ+LuTg1ZLfSqE66jm4jAadHayGiQllB4pHZkAIkv?=
 =?us-ascii?Q?aUhtqfJoWFJNmXAhEBqFlIJsanERyJwYdgzxuhQUK0WdXx9BuU2BMJxOYJKh?=
 =?us-ascii?Q?MekCYTDGoqRgQY23UPusUd+naGVJEjsEBgKrXU+v4F26UCFZpv99GhEn0Bfs?=
 =?us-ascii?Q?NTyi+xw/0RUtyzm+nqWE/rclyvahEhv5Vxbn4/Y46Z+TgKU6Ic4mDuHFH7Ta?=
 =?us-ascii?Q?Sfp7zwhgsIZP1glO9KyUZB8drofxU5DGSBzkXHzmoczB9blzOC48DwTldpHe?=
 =?us-ascii?Q?sB4GDegjpAKZvWpM4vBj+XWg62runlGOOR+dS5ne1lnW9IJKpgNTt1HbsuSh?=
 =?us-ascii?Q?ph5ZxEEZxbj5MX0OduQFDNss/CYv5Rr671cE3fuZC7kJyuSa0eQBSJe/xl+c?=
 =?us-ascii?Q?LxUEbkg=3D=3D?=
X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1726;
 6:KCScidVEOdcLv2nN96RzjPKQHDgBAHnkxf5xM/1KGC4E0t/2+NSqnqddp7TcwbsQub0+2jcwQ60675d38snWn1VvKfmnp3GlFGeBVM80AF52J3k55C6BJVfbI/5unLi0QqTktiFTXpccq0L6F7pgT+NbTqswZZd7Bhyak/SqAmZhWh/6I8aZ8mFJZHqz9TUmcwadtA/1re1C0z+zoWJkIVvNkQBDfGWBdWEKeIYY1JjuPwLimd4Q/vWc2g3qebqgO99IPiZRX9r32sZTjIWwFEGl1QKLsE6P7r4ZGzU12iir8XZVBoEg4DrPPcFakEoW;
 5:PJEThqd0llBtCiwlMicxWGPBlvWW2zlo/juBespYIlWAk+P+fsdGrly/cqTylTduZdcIyzd3EYVu0bcvJAB9D+bjXMScw/demKWMv4h6grmfZQGAHYsh7209mFoGWh2WUd5Cosu7bZhfHXDmeo4HAA==;
 24:M0X67OKUeKTOdgDVLRMND+HqQC5PURcF0HyzetOUu4WAsq4MQxQ/Z6gqgoR2tyKLq+fL5u3xBR+8ff8Ja/duNfgv1Rii6VgqYffnVZS3+SE=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1726;
 7:XOfuSLWzaQo7yUB03m9lSUWtRvCutnuzZ48DqekZ6Aen6Yj4m0ls41F+xpWmjT3kQoyYSP0qihy6zpawC3kHz8uo5JMU8KLHXaF+Z1MlgogLWZ9L+FQzZUirPzx/8SeCKrKJ5l4YrNUDmTiX/vY0NBhzni2vRO7DR7OJiI4v4gxmIY8ryJB/LNngsNxUIXubyoKNeac+HlxbpTu3B3pElNIKeQgSfR840RxBH+5HsE92BHBAupsqK1Gvj79QEsbumbnYWv5FRMJujELKcyPp4OfO5IWmHlzGF7SwOzlO1rnqqyEkegS4E5A016EMEHvsMd0XoqK+JaFqebICrXDmHH6SW60oNuhNcnXL9G3AvNE=
X-OriginatorOrg: caviumnetworks.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2016 04:40:27.8669 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB1726
Subject: Re: [dpdk-dev] [PATCH 23/28] net/ixgbe: use eal I/O device memory
 read/write API
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Dec 2016 04:40:30 -0000

On Thu, Dec 15, 2016 at 04:37:12PM +0800, Jianbo Liu wrote:
> On 14 December 2016 at 09:55, Jerin Jacob
> <jerin.jacob@caviumnetworks.com> wrote:
> > From: Santosh Shukla <santosh.shukla@caviumnetworks.com>
> >
> > Replace the raw I/O device memory read/write access with eal
> > abstraction for I/O device memory read/write access to fix
> > portability issues across different architectures.
> >
> > Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
> > Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> > CC: Helin Zhang <helin.zhang@intel.com>
> > CC: Konstantin Ananyev <konstantin.ananyev@intel.com>
> > ---
> >  drivers/net/ixgbe/base/ixgbe_osdep.h | 13 +++++++++----
> >  1 file changed, 9 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/net/ixgbe/base/ixgbe_osdep.h b/drivers/net/ixgbe/base/ixgbe_osdep.h
> > index 77f0af5..9d16c21 100644
> > --- a/drivers/net/ixgbe/base/ixgbe_osdep.h
> > +++ b/drivers/net/ixgbe/base/ixgbe_osdep.h
> > @@ -44,6 +44,7 @@
> >  #include <rte_cycles.h>
> >  #include <rte_log.h>
> >  #include <rte_byteorder.h>
> > +#include <rte_io.h>
> >
> >  #include "../ixgbe_logs.h"
> >  #include "../ixgbe_bypass_defines.h"
> > @@ -121,16 +122,20 @@ typedef int               bool;
> >
> >  #define prefetch(x) rte_prefetch0(x)
> >
> > -#define IXGBE_PCI_REG(reg) (*((volatile uint32_t *)(reg)))
> > +#define IXGBE_PCI_REG(reg) ({                  \
> > +       uint32_t __val;                         \
> > +       __val = rte_readl(reg);                 \
> > +       __val;                                  \
> > +})
> >
> >  static inline uint32_t ixgbe_read_addr(volatile void* addr)
> >  {
> >         return rte_le_to_cpu_32(IXGBE_PCI_REG(addr));
> >  }
> >
> > -#define IXGBE_PCI_REG_WRITE(reg, value) do { \
> > -       IXGBE_PCI_REG((reg)) = (rte_cpu_to_le_32(value)); \
> > -} while(0)
> > +#define IXGBE_PCI_REG_WRITE(reg, value) ({             \
> > +       rte_writel(rte_cpu_to_le_32(value), reg);       \
> > +})
> >
> 
> memory barrier operation is put inside IXGBE_PCI_REG_READ/WRITE in
> your change, but I found rte_*mb is called before these macros in some
> places.
> Can you remove all these redundant calls? And please do the same
> checking for other drivers.
>

Ok.

Thinking of adding _relaxed_rd/wr style macro agnostic to arch for ixgbe case 
in particular. Such that for those code incident:
x86 case> first default barrier + relaxed call.
arm case> first default barrier + relaxed call.

Does that make sense to you? If so then will take care in v2.

Santosh.


> >  #define IXGBE_PCI_REG_ADDR(hw, reg) \
> >         ((volatile uint32_t *)((char *)(hw)->hw_addr + (reg)))
> > --
> > 2.5.5
> >