To: perfctr-devel@lists.sourceforge.net Subject: perfctr-2.0-pre4 released perfctr-2.0-pre4 is now available at the usual place: http://www.csd.uu.se/~mikpe/linux/perfctr/. The new API is in place and seems to work fine. The split of the old "status" field in three (tsc_on, nrctrs, and nrictrs) annoys me and I may change this particular detail slightly. Apart from this and the non-functioning signal-on-overflow facility, I consider this to be fairly close to perfctr-2.0 final. A question: should TSC sampling be mandatory? How often do people monitor the performance counters while ignoring the TSC? Sampling the TSC costs cycles, but not sampling it also has costs (it forces my library to fall back to the system call when sampling). Version 2.0-pre4, 2001-04-30 - Some module usage accounting changes which should make automatic module loading and unloading more robust in 2.2 kernels. - Internal cleanups and a few minor bug fixes. - Some API naming changes, and O_CREAT can now be used to control whether opening /proc/self/perfctr should create and attach a vperfctr or not. - The user-space library has been updated for the new API. pmc_map[] is used to map from "virtual counter i" to an actual PMC index to be used by RDPMC -- the VIA Cyrix III / C3 is now able to sample in user-space even though it has no PMC(0). The layout of pmc_map[] is CPU-specific; see x86.c for details. Since TSC sampling is specified explicitly now, perfctr_cpu_nrctrs() has been changed to return the number of performance counters _excluding_ the TSC. - The example programs have been updated for the new API, with the exception of signal.c which is still non-functional. - The perfex.c example works better now that the API has a consistent one-evntsel-per-counter model even for Intel P5-like CPUs. - The global.c example has been fixed to not cause a division by zero on WinChip CPUs lacking a working TSC. / Mikael Pettersson