From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f182.google.com (mail-wr0-f182.google.com [209.85.128.182]) by dpdk.org (Postfix) with ESMTP id 9B23F952 for ; Fri, 10 Feb 2017 11:53:09 +0100 (CET) Received: by mail-wr0-f182.google.com with SMTP id 89so104895542wrr.2 for ; Fri, 10 Feb 2017 02:53:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:user-agent:in-reply-to :references:mime-version:content-transfer-encoding; bh=94d83sDsLG31+rYT4tLZvGcdN71WMa/94lIHGYKuU8I=; b=zZjMetOppD5ZWRbU6/ANtwKKg3IlAHYMwzNfsheDJJlEdjkzw6VddU9nwaKFJndqXg HYev667YD/k/z4nXX0OcRmOlyJN/ZoHKkYWCOJQAN4zEjTVNUMxs8o+3vcG9LWRSrfSI ocvtHC+Nb500R2zNhkk0P1kjBij5eFRl+5aaglVzNtuF1E8qrHFjaFNUHv0tYUwr9Z2r vANyVPYWqrPxffXqV9DG2cAgmPV3cirMqpWrFzcKleTIy9DkU/cABDUHTGklfaikZSv7 /BGsGZ1jVMpvkN0F5LGA00Zf8E91HDvYLh8jiDVpEMZ7ca652GQF2OqdfIVnlutcp3b8 QbYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:user-agent :in-reply-to:references:mime-version:content-transfer-encoding; bh=94d83sDsLG31+rYT4tLZvGcdN71WMa/94lIHGYKuU8I=; b=fOdgCluNeZ4G3qSZ6wnDwkqGm8xqa7SkKFX1NLIknMenO+zemuxiZp5o9ZyZzkU4Lu fv/wjn3gbsNQimYZU6VNT/BZ86jUmSQXQRnxQmBlZxt48G7axykQD+/hF9vxCzt8Io2j BgQRtTXSfMsBg32EpOTuFFcx9uGriJuVeoHsTMgInsao8SG1v8Dcx0vcNGlbvlgaNHEX hwbJsaODT8jxh8mOuxhpgQDzPHCfkei2mlMyLH6M6wf6IjY47u1hTFAoUCdbjcSPZh02 1OT2rQkZgePdcvacmWqesvfWoHaj8YgJaDm8ESFevCFtHk49bPFVLHYuCjOjzuHwUprP lXzQ== X-Gm-Message-State: AMke39lKs/buq6jH4AiMCQIu2HSZdVzw1vDSv8boddbK5KFvAw3tSQMv1WgRBeAz4Dmqqb5C X-Received: by 10.223.138.220 with SMTP id z28mr7136814wrz.26.1486723989458; Fri, 10 Feb 2017 02:53:09 -0800 (PST) Received: from xps13.localnet (184.203.134.77.rev.sfr.net. [77.134.203.184]) by smtp.gmail.com with ESMTPSA id k43sm2101940wrc.46.2017.02.10.02.53.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 10 Feb 2017 02:53:07 -0800 (PST) From: Thomas Monjalon To: "Hunt, David" Cc: Nikhil Rao , bruce.richardson@intel.com, Konstantin Ananyev , dev@dpdk.org Date: Fri, 10 Feb 2017 11:53:06 +0100 Message-ID: <2295899.BebvH11edl@xps13> User-Agent: KMail/4.14.10 (Linux/4.5.4-1-ARCH; KDE/4.14.11; x86_64; ; ) In-Reply-To: References: <1475184293-18298-1-git-send-email-nikhil.rao@intel.com> <1919498.PKpEFfz702@xps13> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [dpdk-dev] [PATCH] eal: fix bug in x86 cmpset 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: , X-List-Received-Date: Fri, 10 Feb 2017 10:53:09 -0000 2017-02-10 10:39, Hunt, David: > > On 9/2/2017 4:53 PM, Thomas Monjalon wrote: > > 2016-11-06 22:09, Thomas Monjalon: > >> 2016-09-29 18:34, Thomas Monjalon: > >>> 2016-09-30 02:54, Nikhil Rao: > >>>> The original code used movl instead of xchgl, this caused > >>>> rte_atomic64_cmpset to use ebx as the lower dword of the source > >>>> to cmpxchg8b instead of the lower dword of function argument "src". > >>> Could you please start the explanation with a statement of > >>> what is wrong from an user point of view? > >>> It could help to understand how severe it is. > >> Please, we need a clear explanation of the bug, and an acknowledgement. > > Should we close this bug? > > I took a few minutes to look at this, and the issue can easily be > reproduced with a small snippet of code. > With the 'mov', the lower dword of the result is incorrect. This is > resolved by using 'xchgl'. > > void main() > { > uint64_t a = 0xff000000ff; > > rte_atomic64_cmpset( &a, 0xff000000ff, 0xfa000000fa); > printf("0x%lx\n", a); > } > > When using 'mov', the result is 0xfa00000000 > When using 'xchgl', the result is 0xfa000000fa, as expected. This operation is used a lot in drivers for link status. I think we need to clearly explain what was the consequence of this bug.