bjpop/haskell-linux-perf — pull request #2 by Mikolaj (2012-10-12 13:17:21+00:00)
Title: RC1

Please review, test and decide if it's good enough.

Status (copied form the email):

I've (let's hope) closed ghc-events and TS
and I'm past the 'test' phase in haskell-linux-perf.
So, what's left for me to do is to make the other two branches
and, after dcoutts tests the demo and gives feedback,
extend the documentation (including what we learned
on the perf list and perhaps posting to the list some more
bugs/misunerstandings dicovered during the tests).

I've hacked around some of the perf counters issues
to try and test ghc-events and TS support for counters,
but unfortunately we still have to problem of the blank
'period' (and 'freq') field, so I think we have not chance
to test it any further in this release. It's possible it's
a perf bug and it may repair itself without our assistance
in the future (1 in 100 chance, but, hey, theoretically :).

The full testing report: I've tested the demo workflow
on ParFib, parlist and parlist2 from

https://github.com/Mikolaj/threadscope-sparkgraph-demo

and ray (normal events are almost as dense as perf events),
sumeuler, partree, coins and blackscholes from the nofib/parallel test suite.

For these tests I've used GHC 7.7 to compile the programs
to profile and GHC 7.6.1 to compile our tools.
I've compiled and done a few tests with GHC 7.4.1.
I've also made a couple of test with runtime options
different than suggested in README.to-eventlog (more cores,
maximal set of eventlog events to record, etc.). Only the latter
tests revealed any errors (in ghc-events, unrelated to perf),
which I've since fixed. Otherwise, the eventlogs are huge,
but everything runs smootly (slowly, but most steps are
about as slow, so it doesn't look like a silly fault somewhere).

BTW, do you get

'trace' not valid for hardware events. Ignoring.

and similar messages when in invoking to-eventlog-script, too?
I think this is caused by bugginess/misdocumentation of perf-script,
so perhaps in your version or system setup it works OK?