From: Michael Anthony Knyszek Date: Wed, 7 Sep 2022 20:11:00 +0000 (+0000) Subject: runtime: remove alignment padding in mheap and pageAlloc X-Git-Tag: go1.20rc1~1107 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=e28cc362a825b297fa8a10dc95d7c0d2e2b21dfc;p=gostls13.git runtime: remove alignment padding in mheap and pageAlloc All subfields use atomic types to ensure alignment, so there's no more need for these fields. Change-Id: Iada4253f352a074073ce603f1f6b07cbd5b7c58a Reviewed-on: https://go-review.googlesource.com/c/go/+/429220 Run-TryBot: Michael Knyszek TryBot-Result: Gopher Robot Auto-Submit: Michael Knyszek Reviewed-by: Keith Randall Reviewed-by: Keith Randall --- diff --git a/src/runtime/mheap.go b/src/runtime/mheap.go index be53f7bd91..610011863b 100644 --- a/src/runtime/mheap.go +++ b/src/runtime/mheap.go @@ -65,8 +65,6 @@ type mheap struct { // could self-deadlock if its stack grows with the lock held. lock mutex - _ uint32 // 8-byte align pages so its alignment is consistent with tests. - pages pageAlloc // page allocation data structure sweepgen uint32 // sweep generation, see comment in mspan; written during STW @@ -84,8 +82,6 @@ type mheap struct { // access (since that may free the backing store). allspans []*mspan // all spans out there - // _ uint32 // align uint64 fields on 32-bit for atomics - // Proportional sweep // // These parameters represent a linear function from gcController.heapLive @@ -191,8 +187,6 @@ type mheap struct { base, end uintptr } - _ uint32 // ensure 64-bit alignment of central - // central free lists for small size classes. // the padding makes sure that the mcentrals are // spaced CacheLinePadSize bytes apart, so that each mcentral.lock diff --git a/src/runtime/mpagealloc.go b/src/runtime/mpagealloc.go index 83df7c5150..853d7fc9ca 100644 --- a/src/runtime/mpagealloc.go +++ b/src/runtime/mpagealloc.go @@ -267,8 +267,6 @@ type pageAlloc struct { // All access is protected by the mheapLock. inUse addrRanges - _ uint32 // Align scav so it's easier to reason about alignment within scav. - // scav stores the scavenger state. scav struct { // index is an efficient index of chunks that have pages available to