Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1395472yba; Thu, 4 Apr 2019 09:53:21 -0700 (PDT) X-Google-Smtp-Source: APXvYqwvsUXAQy2DJ5YpmeqKmu8iObVd9oKp3+P77xOTcE0MwpBN/U/z8UTWn83BoXvu45Ir2wgW X-Received: by 2002:a17:902:7794:: with SMTP id o20mr7335930pll.189.1554396800928; Thu, 04 Apr 2019 09:53:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554396800; cv=none; d=google.com; s=arc-20160816; b=HIL+C+qgkKG8fh6t8ee3oxw/RW5ELgm8D30wIOAj732TNvvffaP3LH5g0pDKZTFkOy JmyMVHzg7kgGLHlSMil+xNa26+ni1Ki69eMprF4hSASwXaOVZBrwLe5YVaV9BikgPX80 eaj1NK83q0rjdd9PeuDFuJQaPL2KbfJNKr6WSqvbIxgHWygdmLZliBjPms8O4w+UQFgw g3l72zesz0zS97Uwdn78fSIAKJdiQUbFYUzbSVCSJmMvGgMh03GVZlGwO5mJiwgD83iK 2w2iqr1ARZOLpM5hMVyypBEUM0gjc9fZsNJpRYM6tMfYKs0O225eZyn2w5lcCE02wcBX Fc2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date; bh=y6CVxd97+wjqs9a/Pujfxp6kV4dLOxRvVkSwcPVCPuc=; b=J9TcVsKJ2byeW6CPlSnGWflDfsPfWgNN+MiKx/FUeTs2AjAOAnpwRPbcHk+V+phCze LhpDv9hl2y735bZOT6/hp21snPfv0s8eVsxOHsX7rJM8cxOqENjVRVJ4RpnkBKSmdIAV HKOlKjXUuMNcAFC+BBWG5rnnZlCYLHbwoRazveIrCKrZPUVmTOLV8JnF0Ulz/QfZjkSn ZOwGLj2HfisUeWeqUOqIflGnVg3uuLACltY3ofaJZSOVFBgRPM9D8TxyoxD7+sKKFWq5 1K3r2l7+mnpX4VfhQsm3gkFO/rwbV9t8ZrO4YBv9m0+uNhomyYoBWoM93in91106b7Tn DIHA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m8si15770062pgp.68.2019.04.04.09.53.05; Thu, 04 Apr 2019 09:53:20 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729531AbfDDQwa (ORCPT + 99 others); Thu, 4 Apr 2019 12:52:30 -0400 Received: from Galois.linutronix.de ([146.0.238.70]:46038 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726698AbfDDQwa (ORCPT ); Thu, 4 Apr 2019 12:52:30 -0400 Received: from p5492e2fc.dip0.t-ipconnect.de ([84.146.226.252] helo=nanos) by Galois.linutronix.de with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1hC5b8-0006NC-9X; Thu, 04 Apr 2019 18:52:18 +0200 Date: Thu, 4 Apr 2019 18:52:17 +0200 (CEST) From: Thomas Gleixner To: David Laight cc: 'Fenghua Yu' , 'Ingo Molnar' , 'Borislav Petkov' , 'H Peter Anvin' , 'Dave Hansen' , 'Paolo Bonzini' , 'Ashok Raj' , 'Peter Zijlstra' , 'Kalle Valo' , 'Xiaoyao Li ' , 'Michael Chan' , 'Ravi V Shankar' , 'linux-kernel' , 'x86' , "'linux-wireless@vger.kernel.org'" , "'netdev@vger.kernel.org'" , "'kvm@vger.kernel.org'" Subject: RE: [PATCH v6 04/20] x86/split_lock: Align x86_capability to unsigned long to avoid split locked access In-Reply-To: Message-ID: References: <1554326526-172295-1-git-send-email-fenghua.yu@intel.com> <1554326526-172295-5-git-send-email-fenghua.yu@intel.com> <73ecc9de54c3424da3cddd1a34cb8701@AcuMS.aculab.com> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="8323329-1812670699-1554396738=:1802" X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323329-1812670699-1554396738=:1802 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT On Thu, 4 Apr 2019, David Laight wrote: > From: David Laight Sent: 04 April 2019 15:45 > > From: Fenghua Yu Sent: 03 April 2019 22:22 > > That is not true. > > The BTS/BTR instructions access the memory word that contains the > > expected bit. > > The 'operand size' only affects the size of the register use for the > > bit offset. > > If the 'operand size' is 16 bits wide (+/- 32k bit offset) the cpu might > > do an aligned 16bit memory access, otherwise (32 or 64bit bit offset) it > > might do an aligned 32 bit access. > > It should never do an 64bit access and never a misaligned one (even if > > the base address is misaligned). > > Hmmm... I may have misread things slightly. > The accessed address is 'Effective Address + (4 ∗ (BitOffset DIV 32))'. > However nothing suggests that it ever does 64bit accesses. > > If it does do 64bit accesses when the operand size is 64 bits then the > asm stubs ought to be changed to only specify 32bit operand size. bitops operate on unsigned long arrays, so the RMW on the affected array member has to be atomic vs. other RMW operations on the same array member. If we make the bitops 32bit wide on x86/64 we break that. So selecting 64bit access (REX.W prefix) is correct and has to stay. Thanks, tglx --8323329-1812670699-1554396738=:1802--