From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C1658A0A05; Tue, 19 Jan 2021 12:24:04 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A9EAC140CCD; Tue, 19 Jan 2021 12:24:04 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 16A1A140CCC for ; Tue, 19 Jan 2021 12:24:02 +0100 (CET) IronPort-SDR: m4x3MjBoJo+r7pVP1uXKJvgplGhYq3WYPX8EksjK0t7e5YIT5i+c3KeuahiRHSIkejJVSkCzcV BvPv6jAmLdqA== X-IronPort-AV: E=McAfee;i="6000,8403,9868"; a="179061118" X-IronPort-AV: E=Sophos;i="5.79,358,1602572400"; d="scan'208";a="179061118" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jan 2021 03:24:02 -0800 IronPort-SDR: /RqGEKevGlsnuxQH7zcee91qnscODLnz1UT4iVCJYS3X+9Q28UZRZA4AsfwSQ2FVjSldPbKZ/q sI2adbAWgStg== X-IronPort-AV: E=Sophos;i="5.79,358,1602572400"; d="scan'208";a="383891124" Received: from aburakov-mobl.ger.corp.intel.com (HELO [10.252.49.223]) ([10.252.49.223]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jan 2021 03:23:59 -0800 To: Thomas Monjalon Cc: dev@dpdk.org, Timothy McDaniel , Jan Viktorin , Ruifeng Wang , Jerin Jacob , David Christensen , Bruce Richardson , Konstantin Ananyev , david.hunt@intel.com, chris.macnamara@intel.com References: <4544999.HkzO7cMdQl@thomas> <7d39b1f2-fb18-73db-c9da-49be72543161@intel.com> <5237700.INpASENRAa@thomas> From: "Burakov, Anatoly" Message-ID: <95c0b120-3197-0e34-74b1-2ba76b116035@intel.com> Date: Tue, 19 Jan 2021 11:23:56 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 MIME-Version: 1.0 In-Reply-To: <5237700.INpASENRAa@thomas> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v17 03/11] eal: change API of power intrinsics X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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 19-Jan-21 10:42 AM, Thomas Monjalon wrote: > 19/01/2021 11:29, Burakov, Anatoly: >> On 18-Jan-21 10:26 PM, Thomas Monjalon wrote: >>> 14/01/2021 15:46, Anatoly Burakov: >>>> +struct rte_power_monitor_cond { >>>> + volatile void *addr; /**< Address to monitor for changes */ >>>> + uint64_t val; /**< Before attempting the monitoring, the address >>>> + * may be read and compared against this value. >>> >>> "may" be read and compared? >>> Is there a case where there is no read and compare? >> >> Yes, if the mask is not set. > > If the mask is not set, the address is "read" anyway > or it is only "watched" for any change? > > Sorry the mechanism is really not clear to me. > The "value" is only used to avoid the sleep, i.e. to check if the write has already happened. We're waiting on *a write* rather than *a value*, so it's not equivalent to "wait until equal" call. It's more of a "sleep until something happens". -- Thanks, Anatoly