From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jia He Subject: Re: [PATCH v2] ring: guarantee ordering of cons/prod loading when doing Date: Mon, 6 Nov 2017 15:25:12 +0800 Message-ID: <7b7f3677-8313-9a2f-868f-b3a6231548d6@gmail.com> References: <1509612210-5499-1-git-send-email-hejianet@gmail.com> <20171102172337.GB1478@jerin> <25192429-8369-ac3d-44b0-c1b1d7182ef0@gmail.com> <20171103125616.GB20326@jerin> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Cc: dev@dpdk.org, olivier.matz@6wind.com, konstantin.ananyev@intel.com, bruce.richardson@intel.com, jianbo.liu@arm.com, hemant.agrawal@nxp.com, jie2.liu@hxt-semitech.com, bing.zhao@hxt-semitech.com, jia.he@hxt-semitech.com To: Jerin Jacob Return-path: Received: from mail-it0-f48.google.com (mail-it0-f48.google.com [209.85.214.48]) by dpdk.org (Postfix) with ESMTP id 699AC1B226 for ; Mon, 6 Nov 2017 08:25:22 +0100 (CET) Received: by mail-it0-f48.google.com with SMTP id y15so4147090ita.4 for ; Sun, 05 Nov 2017 23:25:22 -0800 (PST) In-Reply-To: <20171103125616.GB20326@jerin> 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 Jerin On 11/3/2017 8:56 PM, Jerin Jacob Wrote: > -----Original Message----- >> [...] >> g like that. >> Ok, but how to distinguish following 2 options? > No clearly understood this question. For arm64 case, you can add > CONFIG_RTE_RING_USE_C11_MEM_MODEL=y in config/defconfig_arm64-armv8a-* Sorry for my unclear expressions. I mean there should be one additional config macro besides CONFIG_RTE_RING_USE_C11_MEM_MODEL for users to choose? i.e.  - On X86:CONFIG_RTE_RING_USE_C11_MEM_MODEL=n include rte_ring_generic.h, no changes - On arm64,CONFIG_RTE_RING_USE_C11_MEM_MODEL=y include rte_ring_c11_mem.h by default. In rte_ring_c11_mem.h, implement new version of __rte_ring_move_prod_head/__rte_ring_move_cons_head/update_tail Then, how to distinguish the option of using rte_smp_rmb() or __atomic_load/store_n()? Thanks for the clarification. -- Cheers, Jia