From mboxrd@z Thu Jan 1 00:00:00 1970 From: "H. Peter Anvin" Subject: Re: [PATCH v2 0/3] x86: faster mb()+other barrier.h tweaks Date: Tue, 12 Jan 2016 14:25:24 -0800 Message-ID: <56957D54.5000602@zytor.com> References: <1452635935-5439-1-git-send-email-mst@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1452635935-5439-1-git-send-email-mst@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: "Michael S. Tsirkin" , linux-kernel@vger.kernel.org, Linus Torvalds Cc: Davidlohr Bueso , Davidlohr Bueso , Peter Zijlstra , the arch/x86 maintainers , virtualization , Thomas Gleixner , "Paul E. McKenney" , Ingo Molnar List-Id: virtualization@lists.linuxfoundation.org On 01/12/16 14:10, Michael S. Tsirkin wrote: > mb() typically uses mfence on modern x86, but a micro-benchmark shows that it's > 2 to 3 times slower than lock; addl $0,(%%e/rsp) that we use on older CPUs. > > So let's use the locked variant everywhere - helps keep the code simple as > well. > > While I was at it, I found some inconsistencies in comments in > arch/x86/include/asm/barrier.h > > I hope I'm not splitting this up too much - the reason is I wanted to isolate > the code changes (that people might want to test for performance) from comment > changes approved by Linus, from (so far unreviewed) comment change I came up > with myself. > > Lightly tested on my system. > > Michael S. Tsirkin (3): > x86: drop mfence in favor of lock+addl > x86: drop a comment left over from X86_OOSTORE > x86: tweak the comment about use of wmb for IO > I would like to get feedback from the hardware team about the implications of this change, first. -hpa From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753914AbcALW0u (ORCPT ); Tue, 12 Jan 2016 17:26:50 -0500 Received: from terminus.zytor.com ([198.137.202.10]:38623 "EHLO mail.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753725AbcALW0b (ORCPT ); Tue, 12 Jan 2016 17:26:31 -0500 Subject: Re: [PATCH v2 0/3] x86: faster mb()+other barrier.h tweaks To: "Michael S. Tsirkin" , linux-kernel@vger.kernel.org, Linus Torvalds References: <1452635935-5439-1-git-send-email-mst@redhat.com> Cc: Davidlohr Bueso , Peter Zijlstra , Ingo Molnar , Thomas Gleixner , "Paul E. McKenney" , the arch/x86 maintainers , Davidlohr Bueso , virtualization From: "H. Peter Anvin" Message-ID: <56957D54.5000602@zytor.com> Date: Tue, 12 Jan 2016 14:25:24 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <1452635935-5439-1-git-send-email-mst@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/12/16 14:10, Michael S. Tsirkin wrote: > mb() typically uses mfence on modern x86, but a micro-benchmark shows that it's > 2 to 3 times slower than lock; addl $0,(%%e/rsp) that we use on older CPUs. > > So let's use the locked variant everywhere - helps keep the code simple as > well. > > While I was at it, I found some inconsistencies in comments in > arch/x86/include/asm/barrier.h > > I hope I'm not splitting this up too much - the reason is I wanted to isolate > the code changes (that people might want to test for performance) from comment > changes approved by Linus, from (so far unreviewed) comment change I came up > with myself. > > Lightly tested on my system. > > Michael S. Tsirkin (3): > x86: drop mfence in favor of lock+addl > x86: drop a comment left over from X86_OOSTORE > x86: tweak the comment about use of wmb for IO > I would like to get feedback from the hardware team about the implications of this change, first. -hpa