]> Cypherpunks repositories - gostls13.git/commit
runtime: do no lose CPU profiling signals
authorDmitriy Vyukov <dvyukov@google.com>
Tue, 13 Aug 2013 18:12:02 +0000 (22:12 +0400)
committerDmitriy Vyukov <dvyukov@google.com>
Tue, 13 Aug 2013 18:12:02 +0000 (22:12 +0400)
commitcc4e6aad8ec18b4ee7fe0392f30f229ddb979589
tree73680a46d29bf17e50838c8ac4e3546780d52699
parent1da1030b5dd9d9610ccada4413a23e77b21c7f3b
runtime: do no lose CPU profiling signals
Currently we lose lots of profiling signals.
Most notably, GC is not accounted at all.
But stack splits, scheduler, syscalls, etc are lost as well.
This creates seriously misleading profile.
With this change all profiling signals are accounted.
Now I see these additional entries that were previously absent:
161  29.7%  29.7%      164  30.3% syscall.Syscall
 12   2.2%  50.9%       12   2.2% scanblock
 11   2.0%  55.0%       11   2.0% markonly
 10   1.8%  58.9%       10   1.8% sweepspan
  2   0.4%  85.8%        2   0.4% runtime.newstack
It is still impossible to understand what causes stack splits,
but at least it's clear how many time is spent on them.
Update #2197.
Update #5659.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/12179043
src/pkg/runtime/proc.c
src/pkg/runtime/signal_386.c
src/pkg/runtime/signal_amd64.c
src/pkg/runtime/signal_arm.c