From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0ED1BA327F for ; Mon, 21 Oct 2019 21:17:40 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7AC3A1BEA4; Mon, 21 Oct 2019 21:17:39 +0200 (CEST) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by dpdk.org (Postfix) with ESMTP id 8EDC91BE9C for ; Mon, 21 Oct 2019 21:17:37 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1571685456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=NxiHU6BsoHdpopFdl3DhCSwQsLlYYi5iJeiTpzja6fI=; b=CY9+CegE0QdG490+KCM2GRYnKOAANg+fbFfVWzgdOyP3GTbjzaRTZzbPGzMK1PFNk6co0r 8srugDHoYVVjTePVJ0vk9omWnQptU4xM/LER+G8sxYTQgUCSWsq8jFXnQlBGLk74RyPR7W wN0qHsHzkAkg7RPw1C93I8ln+r20CFU= Received: from mail-vk1-f198.google.com (mail-vk1-f198.google.com [209.85.221.198]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-270-1-pOIIfbPsm8IVciXucC_A-1; Mon, 21 Oct 2019 15:17:35 -0400 Received: by mail-vk1-f198.google.com with SMTP id q187so6571146vkq.4 for ; Mon, 21 Oct 2019 12:17:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=V9R7S3K7KwsalI+b4aoojDVx+BupoJTqkKei6ZRt+t8=; b=VoC2gc02uieuBGwMGxaNrRdR75Re27RnHPvtnU/UrtqqcOsqvcImQo94p3eN8tinXA ZXr6bDWh2MfV+GGjiidyqt02lclcFbNxL2Q5Azn0UbJ6pACjBxBLhmoBrlHQCTdqMwp7 Evc/mavkeRMtUfgIYFsi16yRtRS6KsROd+6kPhVVCqGSflkYvAtOfcOOev2DB7ccFbEn 86D0YFv5L4OHEX2vufe4jVMi/T0incpUCsadc4uJy74ezeBEBUpNBtHSVleU6DZX0htL n1iFLpWPTyk1fniWjeSIJl6Iz6c0aDQ/GWBmeAwUCGFNyrM6TgRWXRYDtZ7ck5M9c/u1 7dHQ== X-Gm-Message-State: APjAAAUgqV2chtcelSy22byEpqZSQslv+Ug/cmnxZCr6i2iix3NDEbTq bB4hK+klTUSXL6KFhec6l9gzJgnhMWh6hn9aAIsabhkL32nMG2krEGw56B1QeT9oCFUcK2FyKXd ZDX9cueMrrKzRn9AxJD0= X-Received: by 2002:a67:fa99:: with SMTP id f25mr8167318vsq.141.1571685454740; Mon, 21 Oct 2019 12:17:34 -0700 (PDT) X-Google-Smtp-Source: APXvYqxMzFuN/qnZoBwtw6uHmXrH5rp48BMeymrxbR3GjslBRAhi8H7VbPckhrqg4wAAbICHSFtuAcjX2njic7g5syc= X-Received: by 2002:a67:fa99:: with SMTP id f25mr8167308vsq.141.1571685454485; Mon, 21 Oct 2019 12:17:34 -0700 (PDT) MIME-Version: 1.0 References: <1561911676-37718-1-git-send-email-gavin.hu@arm.com> <1569562904-43950-1-git-send-email-gavin.hu@arm.com> <1569562904-43950-3-git-send-email-gavin.hu@arm.com> In-Reply-To: From: David Marchand Date: Mon, 21 Oct 2019 21:17:23 +0200 Message-ID: To: "Gavin Hu (Arm Technology China)" Cc: dev , nd , "thomas@monjalon.net" , Stephen Hemminger , "hemant.agrawal@nxp.com" , "jerinj@marvell.com" , Pavan Nikhilesh , Honnappa Nagarahalli , "Ruifeng Wang (Arm Technology China)" , "Phil Yang (Arm Technology China)" , Steve Capper X-MC-Unique: 1-pOIIfbPsm8IVciXucC_A-1 X-Mimecast-Spam-Score: 0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [dpdk-dev] [PATCH v7 2/7] eal: add the APIs to wait until equal X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Mon, Oct 21, 2019 at 9:39 AM Gavin Hu (Arm Technology China) wrote: > > -----Original Message----- > > From: David Marchand > > - This is a new api, should be marked experimental, even if inlined. > It is ok to add for the patches except the rte_ring, which called the API= in the .h file, other than the .c file. > For the .h file is included by a lot of components, which require adding = 'allowing_experimenal_apis =3D true' to the meson.build and makefile. > I am worried adding too many of these changes is confusing. I may leave t= his patch out of the series if there is no decorous solutions. You can still keep the current code in the ring headers under a #ifndef ALLOW_EXPERIMENTAL_API banner and put the call to your new experimental api in the #else part of it. Something like: #ifndef ALLOW_EXPERIMENTAL_API while (unlikely(ht->tail !=3D old_val)) rte_pause(); #else rte_wait_until_equal_relaxed_32(&ht->tail, old_val); #endif This way, if the application enables the experimental api, then the ring code will benefit from it, else it will rely on the current stable code. --=20 David Marchand