]> Cypherpunks repositories - gostls13.git/commit
runtime/pprof: test multithreaded profile, remove OS X workarounds
authorRuss Cox <rsc@golang.org>
Mon, 5 Aug 2013 23:49:02 +0000 (19:49 -0400)
committerRuss Cox <rsc@golang.org>
Mon, 5 Aug 2013 23:49:02 +0000 (19:49 -0400)
commitd3066e47b13f3a46ae76a0612abbe25d4d80ddbf
tree62d4576a0d1f6bd6a6f226a0a737a20983da24f8
parentd8e27db39562d2106f0c9cf7518eaa9ade748a4f
runtime/pprof: test multithreaded profile, remove OS X workarounds

This means that pprof will no longer report profiles on OS X.
That's unfortunate, but the profiles were often wrong and, worse,
it was difficult to tell whether the profile was wrong or not.

The workarounds were making the scheduler more complex,
possibly caused a deadlock (see issue 5519), and did not actually
deliver reliable results.

It may be possible for adventurous users to apply a patch to
their kernels to get working results, or perhaps having no results
will encourage someone to do the work of creating a profiling
thread like on Windows. Issue 6047 has details.

Fixes #5519.
Fixes #6047.

R=golang-dev, bradfitz, r
CC=golang-dev
https://golang.org/cl/12429045
15 files changed:
src/pkg/runtime/cpuprof.c
src/pkg/runtime/lock_futex.c
src/pkg/runtime/lock_sema.c
src/pkg/runtime/os_darwin.c
src/pkg/runtime/os_freebsd.c
src/pkg/runtime/os_linux.c
src/pkg/runtime/os_netbsd.c
src/pkg/runtime/os_openbsd.c
src/pkg/runtime/os_plan9.c
src/pkg/runtime/os_windows.c
src/pkg/runtime/pprof/pprof.go
src/pkg/runtime/pprof/pprof_test.go
src/pkg/runtime/proc.c
src/pkg/runtime/runtime.h
src/pkg/runtime/signal_unix.c