Joseph Koshy is a FreeBSD developer who has been contributing to FreeBSD for more than a decade. He recently gave a talk on “FreeBSD and PMCTools” as part of the ACM Bangalore Tech Talk Series. I was aware of Koshy’s work due to my interest in both system level performance monitoring (I have given a talk on this topic at Foss.in 2005) and FreeBSD. Having worked with porting BSD userland as part of my earlier work on SFU at Microsoft, I had read his name several times in FreeBSD Release notes and Changelogs. I was really surprised to hear from him that this was his first ever public lecture on FreeBSD/PMCtools tools.
Joseph started with an introduction to FreeBSD and the BSD philosophy (In short – don’t worry about ideology just code :). He then explained how the architecture of PMC tools evolved and the challenges of writing such a tool. One of the challenges of performance counters is that the number and nature of performance counters changes with every generation of Intel/AMD chips so some of the assumptions go for a toss. So the code has to be writen with long term portability in mind while keeping the UI (command line in this case – A GUI interface is in the works but not a top priority. If you are interested in contributing to FOSS, this is a good opportunity – get in touch with Joseph). The PMCtools code is well written and is referenced in a “Communications of the ACM” (CACM) article as an example of beautiful and well-written code. His presentation at the ACM Tech Talk follows. It can be downloaded here