From mboxrd@z Thu Jan 1 00:00:00 1970 From: Santosh Shukla Subject: Re: [PATCH 23/28] net/ixgbe: use eal I/O device memory read/write API Date: Thu, 22 Dec 2016 18:06:16 +0530 Message-ID: <20161222123614.GA8868@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> <20161216044017.GA29607@santosh-Latitude-E5530-non-vPro> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Cc: Jerin Jacob , , "Ananyev, Konstantin" , Thomas Monjalon , Bruce Richardson , Jan Viktorin , Helin Zhang To: Jianbo Liu Return-path: Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0046.outbound.protection.outlook.com [104.47.32.46]) by dpdk.org (Postfix) with ESMTP id 5C68C10D21 for ; Thu, 22 Dec 2016 13:36:40 +0100 (CET) Content-Disposition: inline In-Reply-To: <20161216044017.GA29607@santosh-Latitude-E5530-non-vPro> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi Jiangbo, On Thu, Dec 15, 2016 at 08:40:19PM -0800, Santosh Shukla wrote: > On Thu, Dec 15, 2016 at 04:37:12PM +0800, Jianbo Liu wrote: > > On 14 December 2016 at 09:55, Jerin Jacob > > wrote: > > > From: Santosh Shukla > > > > > > > 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. We spend time looking at drivers code where double barrier may happen. Most of them are in driver init path, configuration/control path code. So keeping double barrier won't impact performance. We plan to replace only fast path code with _relaxed style API's. That way we won't impact each driver performance and we'll have the clean port. Does it make sense? Thought? > > > > #define IXGBE_PCI_REG_ADDR(hw, reg) \ > > > ((volatile uint32_t *)((char *)(hw)->hw_addr + (reg))) > > > -- > > > 2.5.5 > > >