]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: align mcentral by cache line size
authorAliaksandr Valialkin <valyala@gmail.com>
Mon, 24 Apr 2017 14:26:41 +0000 (17:26 +0300)
committerIan Lance Taylor <iant@golang.org>
Wed, 26 Apr 2017 03:48:23 +0000 (03:48 +0000)
This may improve perormance during concurrent access
to mheap.central array from multiple CPU cores.

Change-Id: I8f48dd2e72aa62e9c32de07ae60fe552d8642782
Reviewed-on: https://go-review.googlesource.com/41550
Reviewed-by: Austin Clements <austin@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/runtime/mheap.go

index c2d5b46223050d671daad70f26eab1d58d161a24..82dc599b975926713cc95ee60f869526862fa308 100644 (file)
@@ -121,7 +121,7 @@ type mheap struct {
        // gets its own cache line.
        central [_NumSizeClasses]struct {
                mcentral mcentral
-               pad      [sys.CacheLineSize]byte
+               pad      [sys.CacheLineSize - unsafe.Sizeof(mcentral{})%sys.CacheLineSize]byte
        }
 
        spanalloc             fixalloc // allocator for span*