BSDCan2010 - Final Release

BSDCan 2010
The Technical BSD Conference

Speakers
George Neville-Neil
Schedule
Day Talks - 2 - 2010-05-14
Room DMS 1120
Start time 11:30
Duration 01:00
Info
ID 186
Event type Lecture
Track Hacking
Language used for presentation English

Porting hwpmc to non x86 platforms

Hardware Performance Monitoring Counters provide programmers and systems integrators with the ability to gather accurate, low level, information about the performance of their code, both at the user and kernel levels. Until recently these counters were only available on Intel and AMD chips but they have now been made available on alternate, embedded, architectures such as MIPS and XScale. This talk will cover porting support for the hwpmc(4) driver and associated libraries to non-x86 architectures as well as give details about how the counters provided on these new architectures differ from those available on the x86.

Hardware Performance Monitoring Counters provide programmers and systems integrators with the ability to gather accurate, low level, information about the performance of their code, both at the user and kernel levels. Until recently these counters were only available on Intel and AMD chips but they have now been made available on alternate, embedded, architectures such as MIPS and XScale. This talk will cover porting support for the hwpmc(4) driver and associated libraries to non-x86 architectures as well as give details about how the counters provided on these new architectures differ from those available on the x86.

A brief outline:

*) History

The history of support for performance monitoring counters will be described, from the early, limited sets on Pentium processors to the much more rich set of counters on modern hardware.

*) Motivation

Why these counters are important and how they are used in the real world to help to improve the performance of running software.

*) Driver and Library API and Architecture

A high level overview of how the driver and user level API interact giving details on where changes need to be made to port the driver to newer hardware and to make sure that it is up to date.

*) MIPS Counters

Specific examples from the new MIPS driver which is being developed for FreeBSD.

*) Conclusions and Questions