|
Packit |
577717 |
Changes after perfctr-2.6.0:
|
|
Packit |
577717 |
- See if we can work around the PowerPC PMI/DECR/TAU erratum.
|
|
Packit |
577717 |
- Automate setting of usr.lib/Makefile:SO_LIBVER !
|
|
Packit |
577717 |
- Install perfex with dynamically linked libperfctr.so.
|
|
Packit |
577717 |
- Fix vperfctr_reset_sampling_timer() to be cpu_khz-dependent.
|
|
Packit |
577717 |
Assuming 32-bit sampling precision and max sustained rate of
|
|
Packit |
577717 |
one event per core clock, then set the sampling timer to a
|
|
Packit |
577717 |
value N such that N < (2^32 * HZ) / (cpu_khz * 1000).
|
|
Packit |
577717 |
- Convert NR_CPUS arrays to per_cpu().
|
|
Packit |
577717 |
|
|
Packit |
577717 |
Changes after perfctr-2.7:
|
|
Packit |
577717 |
- Implement a patch-less version of the driver. Insert a glue module
|
|
Packit |
577717 |
that hooks into the kernel via code backpatching and symbol table
|
|
Packit |
577717 |
information. Afterwards, the driver module proper can interface with
|
|
Packit |
577717 |
the glue module for the kernel callbacks, IDT, and irq return path.
|
|
Packit |
577717 |
This requires the /proc/<pid>/perfctr removal in perfctr-2.7.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
Possible Changes:
|
|
Packit |
577717 |
- Change NR_CPUS loops to use the 2.6.2-rc1+ for_each_cpu() macro?
|
|
Packit |
577717 |
- Increase [18] arrays in i386 to [24] or [32]? Just in case...
|
|
Packit |
577717 |
- SuSE kernels don't use EXTRAVERSION. Fix update-kernel to use
|
|
Packit |
577717 |
rpm to identify the exact version instead.
|
|
Packit |
577717 |
- Pull out common parts of *_check_control() and do those once.
|
|
Packit |
577717 |
- Consider specialised read_counter() procedures for different uses.
|
|
Packit |
577717 |
- Investigate the feasibility of adding back inheritance support.
|
|
Packit |
577717 |
- When an overflown perfctr is reset, we should take into account
|
|
Packit |
577717 |
how many events past 0 or 1 it is at.
|
|
Packit |
577717 |
- Implement gethrvtime(). Don't ever STOP the counters. To stop PMC
|
|
Packit |
577717 |
updates, call CONTROL with tsc_on == 1 and nractrs == nrictrs == 0.
|
|
Packit |
577717 |
The driver will continue sampling the TSC. Then gethrvtime() reduces
|
|
Packit |
577717 |
to scaling the virtualised TSC with cpu_khz.
|
|
Packit |
577717 |
- Describe derived events in event_set.c.
|
|
Packit |
577717 |
- Write some documentation :-(
|
|
Packit |
577717 |
- The P6 and P4 sub-models don't matter for the driver. Should the driver
|
|
Packit |
577717 |
just export the major model and the cpuid, and let user-space figure
|
|
Packit |
577717 |
out sub-model details?
|
|
Packit |
577717 |
- Access control mechanism for global-mode perfctrs?
|
|
Packit |
577717 |
- Interrupt support for global-mode perfctrs?
|
|
Packit |
577717 |
- Multiplexing support? PAPI seems to do fine w/o it.
|
|
Packit |
577717 |
- A "kernel profiling" mode which uses global-mode perfctrs in
|
|
Packit |
577717 |
interrupt mode to profile the kernel?
|
|
Packit |
577717 |
- Buffer interrupts and signal user-space when buffer is nearly full?
|