Table of Contents

FreeBSD Developer Summit: hwpmc(4) hackathon

Overview

It's time to do some serious work on hwpmc(4) and that's what this session will be about. We'll work on adding new counters, fixing bugs, and informally discussing how we continue to extend and maintain this piece of our infrastructure.

Goals

Topics

# Topic Description
1 What's missing?
2 What needs to change for modern CPUs?
3 Add tests to Kyua
4 Extensions to user space tools

Attending

In order to attend you need register for the developer summit as well as by email for the session and be confirmed by the working group organizer. Follow the guidelines described on the main page or what you received by email. For questions or if in doubt ask gnn@freebsd.org

Please do NOT add yourself here. Your name will appear automatically once you have received the confirmation email. You need to put your name on the general developer summit attendees list though.

Name Username / Affiliation Topics of Interest Notes
Michael Bentkofsky Verisign
PedroGiffuni pfg@ Google Perf Tool
PeterGrehan grehan@ Bhyve Integration
Suresh Gumpula NetApp
JohnMarkGurney jmg
JustinHibbits jhibbits
Marcus Hoffman Norse
MarkJohnston markjdb
GeorgeNevilleNeill gnn Session chair
NavdeepParhar np
AlfredPerlstein alfred@
Anton Rang
Jonathan Saks Xinuos
Stacey Son sson@
Claudia Y Norse
BjoernZeeb bz

Notes

Raw notes from our session

- DTrace + pmc
- Improve kcachegrind output for multi CPU (jmg)
- Test hwpmc(4) on 32 cores (bitmap issue) [gnn]
- np@ says there is an issue under high network load  You have to
  stress the machine  Adrian says a locking issue.
  boost rtprio?  Read vs. write lock
- enum types cause build spam probably related to ctf
- uncore counters Sandy Bridge ++
  Reqruires breakdown of macros
- does uncore work in sampling mode
- Isilon has code for user/kernel sampling (ring@acm.org)
- pmc annotate symbol length is too short for C++
- patch to have pmcstat run for N seconds (Julien @ Verisign)
- PEBS Support (work with Isilon? ring@acm.org)
- Indirect events (jhibbits)
- Better specification of limits etc. on event counting/sampling
- Mark process group for sampling
- Mark a list of PIDs for sampling?
- Hardware support for marking processes? (PowerPC, Intel)
- Last branch recording?
- Derived events for presentation (display CPI)
- perl script to convert from PDF events to macros (bz) to commit
- A modeling language to deal with contraints? (jhibbits, bz, ring)
- Up all the defaults for log and other sizes
- PCM from Intel
- Intel white papers on uncore
- Isilon folks might do atf like tests for pmc (check NetBSD)
- Administrative user dump (my machine sucks)
- PAPI ?
- Can we state our overhead?
- Can we start from main() instead of from fork() of process?
- Support rdtsc in process mode

Results

(Add a list or attach slides detailing the achieved results here.)