runtime: change in pacer behavior on ppc64le in go1.20 #66600
Labels
arch-ppc64x
compiler/runtime
Issues related to the Go compiler and/or runtime.
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Go version
go version go1.20.14 linux/ppc64le
Output of
go env
in your module/workspace:What did you do?
Built the test in test/bench/go1 and profiled BinaryTree17 in go1.20. I found that according to a perf profile, the % of time spent in gcDrain increased dramatically when the GOMAXPROCS value increased.
I tried this on go1.19 and I don't see the dramatic increased % in gcDrain.
What did you see happen?
I turned on some GODEBUG trace values and see that in go1.19 the pacer goal increased significantly in go1.19 and as a result the garbage collector doesn't run as often. In go1.20 the goal stays low resulting in a lot more executions of the garbage collector.
I also tried the same experiment on an x86 and don't see the increase in % for gcDrain.
Output from go1.19:
Output from go1.20:
Someone had a question about why there was a dramatic increase in gcDrain % which is why I started experimenting.
What did you expect to see?
I did not expect to see such an increase in gcDrain when increasing GOMAXPROCS. It appears that something changed in go1.20 to cause this.
The text was updated successfully, but these errors were encountered: