Removing the perfmon(4) driver
brde at optusnet.com.au
Thu Apr 23 10:59:50 UTC 2009
On Wed, 22 Apr 2009, John Baldwin wrote:
> While looking at something else today I noticed that we have a perfmon(4)
> driver which is an old driver that provided early support for the performance
> counters on the Pentium and Pentium Pro. At this point it seems to be
> superseded by hwpmc(4). Are there any objections to removing perform(4)?
I still use it occasionally. After updating it to Y2K so as to support
AthlonXP (this also works for Athlon64), it has some advantages over
hwpmc. Mainly lack of bloat, but also:
- with (modified) high resolution kernel profiling, it can profile
individual functions precisely, e.g., to count cache misses per
function even for functions that are only called once. Statistical
profiling cannot do this and hwpmc doesn't support high resolution
kernel profiling (neither does perfmon for SMP, since the locking
needed for this is especially delicate and not done; locking for
all types of kernel profiling for SMP is mostly broken (either not
done or can cause deadlock), but this is fixed in my version).
- in userland, its standard support utilitities (I use only wollman's
unmaintained since 1999 /usr/src/share/examples/perfmon) have a
raw interface that doesn't prevent access to undocumented counters.
Some useful k8 counters work on all my AthlonXP k7 CPUs though they
are only documented for k8.
More information about the freebsd-arch