Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1307878 > unrolled thread

[PATCH v2 0/3] x86: faster mb()+other barrier.h tweaks

Started by"Michael S. Tsirkin" <mst@redhat.com>
First post2016-01-12 23:20 +0100
Last post2016-01-12 23:30 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v2 0/3] x86: faster mb()+other barrier.h tweaks "Michael S. Tsirkin" <mst@redhat.com> - 2016-01-12 23:20 +0100
    Re: [PATCH v2 0/3] x86: faster mb()+other barrier.h tweaks "H. Peter Anvin" <hpa@zytor.com> - 2016-01-12 23:30 +0100

#1307878 — [PATCH v2 0/3] x86: faster mb()+other barrier.h tweaks

From"Michael S. Tsirkin" <mst@redhat.com>
Date2016-01-12 23:20 +0100
Subject[PATCH v2 0/3] x86: faster mb()+other barrier.h tweaks
Message-ID<qQfsd-7eN-3@gated-at.bofh.it>
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

 arch/x86/include/asm/barrier.h | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

-- 
MST

[toc] | [next] | [standalone]


#1307882

From"H. Peter Anvin" <hpa@zytor.com>
Date2016-01-12 23:30 +0100
Message-ID<qQfBT-7kg-5@gated-at.bofh.it>
In reply to#1307878
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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web