Site Overlay

Golang patch accepted: insufficient padding in the ‘p’ structure

Golang patch accepted: insufficient padding in the `p` structure

In the ‘p’ struct type defined in the Golang runtime code, there is some padding at the end to avoid false sharing between different ‘p’-type structs. That padding should be at least the size of a cache line to accomplish that. This patch fixes the hardcoded 64-byte padding and makes that the size of a cache line.

On Power, that only worked because the cache line size was wrongly set at 64 bytes. The patch also fixes the cache line size for Power for both big endian and little endian.

Committed as aaa6b53. This patch fixes issue #16477 for ppc64x.

by 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.