-
Notifications
You must be signed in to change notification settings - Fork 18k
runtime/pprof: tests start failing since migration of AIX builder #45170
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
This is related to a change in the configuration we made. We increased the number of possible threads by CPU (smt) from 4 to 8. It seems that pprof is loosing some samples because of that. @laboger do you have an equivalent on Linux Power of SMT ? I guess yes, and if this case do you have any problems with 8 threads by CPU ? Note that I've revert temporary to SMT 4 for the builder, to avoid blocking builds too much. |
/cc @cherrymui |
Hi. Just a small idea - as I saw in the stats: In the past, when using a tool such as
|
I'm not sure the Golang |
It was just a guess - but when I saw It was also an issue with PowerVP getting stats from the VIOS (when it was AIX 6.1 based) and moved from POWERX to POWERX+1. In short: performance stats being broken is a recurring thing when PROC_TYPE goes up. |
@Helflym I built and tested on a Linux P9 LE system with SMT=8 and it works without error. I understand SMT=8 is the default for P9 so most likely that is what the P9 LE builders have. |
Ok, we might remove Power8 compat mode and add SMT=8 again. But I just want to be sure that with POWER8 compat mode and SMT=4 it's working too. |
/cc @pmur |
Even with SMT=4 it seems to be broken but only for remote builds. My local builds seems to be passing without any troubles. |
@Helfsym From the output it almost seems like the timer interval is not being set correctly or is being set in a way so it results in fewer samples. I see that AIX has a different way to do the setitimer than linux. I don't know if that helps. |
@laboger yes but that's normal. AIX syscalls are a bit special as we must pass through libc calls. Anyway, we have move back to Power9 and the tests are still failing. |
I've been able to investigate a bit more what's going on. Moreover, looking at the syscalls being launched, I've a lot (like 1/3, 1/2 of the whole syscall for one test) being I'll continue to investigate a bit. But if I'm finding nothing relevant, I'll push a temporary patch skipping |
@Helflym I don't know if this could be relevant, but have you looked at the implementation of procyield in runtime/asm_ppc64x.s? Carlos put that in before AIX was added to Go. Maybe those settings are affecting AIX differently on P9. |
@laboger yeap, I've seen that and it seems to be common to everyone. But I've asked for a confirmation if this is indeed working in AIX too. |
Change https://golang.org/cl/306489 mentions this issue: |
Most of the time, the pprof tests are passing, except for the builder. The reason is still unknown but I'd rather release the builder to avoid missing other more important bugs. Updates #45170 Change-Id: I667543ee1ae309b7319c5b3676a0901b4d0ecf2e Reviewed-on: https://go-review.googlesource.com/c/go/+/306489 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com> Trust: Lynn Boger <laboger@linux.vnet.ibm.com>
Change https://golang.org/cl/317369 mentions this issue: |
Change https://golang.org/cl/317297 mentions this issue: |
Most of the time, the pprof tests are passing, except for the builder. The reason is still unknown but I'd rather release the builder to avoid missing other more important bugs. Updates #45170 Change-Id: I667543ee1ae309b7319c5b3676a0901b4d0ecf2e Reviewed-on: https://go-review.googlesource.com/c/go/+/306489 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com> Trust: Lynn Boger <laboger@linux.vnet.ibm.com> (cherry picked from commit 7bfd681) Reviewed-on: https://go-review.googlesource.com/c/go/+/317297 Trust: Heschi Kreinick <heschi@google.com> Run-TryBot: Heschi Kreinick <heschi@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Most of the time, the pprof tests are passing, except for the builder. The reason is still unknown but I'd rather release the builder to avoid missing other more important bugs. Updates #45170 Change-Id: I667543ee1ae309b7319c5b3676a0901b4d0ecf2e Reviewed-on: https://go-review.googlesource.com/c/go/+/306489 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com> Trust: Lynn Boger <laboger@linux.vnet.ibm.com> (cherry picked from commit 7bfd681) Reviewed-on: https://go-review.googlesource.com/c/go/+/317369 Reviewed-by: Heschi Kreinick <heschi@google.com> Trust: Dmitri Shuralyov <dmitshur@golang.org> Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
We recently moved the AIX VM into a Power9 server, in order to allow P9 builds in a near future.
For now, it's still using P8 instructions only, thus nothing should have change for now.
However,
runtime/pprof
tests start failing:https://build.golang.org/log/aa79ac6509bea68e2e34cb50ac83b454544bdcd6
https://build.golang.org/log/9b24ed78ebd9a7e3bc3fcecb4e7504b6865b545b
...
I have to investigate them.
@laboger Did you already add this kind of bug or it's AIX related ?
The text was updated successfully, but these errors were encountered: