From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jianbo Liu Subject: Re: [PATCH 1/2] eal/arm64: modify I/O device memory barriers Date: Mon, 8 Jan 2018 09:55:58 +0800 Message-ID: <20180108015557.GA25103@arm.com> References: <20171227042824.33373-1-yskoh@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Cc: adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com, jerin.jacob@caviumnetworks.com, dev@dpdk.org, Thomas Speier To: Yongseok Koh Return-path: Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30047.outbound.protection.outlook.com [40.107.3.47]) by dpdk.org (Postfix) with ESMTP id 78B621B1A2 for ; Mon, 8 Jan 2018 02:57:25 +0100 (CET) Content-Disposition: inline In-Reply-To: <20171227042824.33373-1-yskoh@mellanox.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The 12/26/2017 20:28, Yongseok Koh wrote: > Instead of using system-wide 'dsb' instruction for IO barriers, 'dmb' is > sufficient and could bring better performance. Using 'dmb' with Outer > Shareable Domain option is also consistent with linux kernel. But in kernel dsb is used for io barriers. https://github.com/torvalds/linux/blob/master/arch/arm64/include/asm/io.h#L= 109 Do you consider adding dma_*mb? https://github.com/torvalds/linux/blob/master/arch/arm64/include/asm/barrie= r.h#L40 > > Cc: Thomas Speier > > Signed-off-by: Yongseok Koh > Acked-by: Thomas Speier > Acked-by: Shahaf Shuler > --- > lib/librte_eal/common/include/arch/arm/rte_atomic_64.h | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h b/lib= /librte_eal/common/include/arch/arm/rte_atomic_64.h > index 0b70d6209..8dcce6054 100644 > --- a/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h > +++ b/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h > @@ -58,11 +58,11 @@ extern "C" { > > #define rte_smp_rmb() dmb(ishld) > > -#define rte_io_mb() rte_mb() > +#define rte_io_mb() dmb(osh) > > -#define rte_io_wmb() rte_wmb() > +#define rte_io_wmb() dmb(oshst) > > -#define rte_io_rmb() rte_rmb() > +#define rte_io_rmb() dmb(oshld) > > #ifdef __cplusplus > } > -- > 2.11.0 > -- IMPORTANT NOTICE: The contents of this email and any attachments are confid= ential and may also be privileged. If you are not the intended recipient, p= lease notify the sender immediately and do not disclose the contents to any= other person, use it for any purpose, or store or copy the information in = any medium. Thank you.