Hi,

I have looked over what is currently in the pfmon/tests directory and made a quick list of things that would be good to test for pfmon/libpfm.

check that all the kernel systemcalls for perfmon function
       -each call exists in kernel
       -error checking prevents invalid arguments from crashing system

generic pfmon tests
      -list of events available
      -repeatable measurements for sequential invocations of the same process
      -repeatable measurements for multiple indepedent concurrent processes
      -measure user-space only/kernel-space only/both user and kernel-space
      -measure following across fork, vfork, exec, pthread
      -measure with signal in process
      -attach to existing task
      -sampling using available buffers
      -system-wide setup


This list is incomplete, but just thinking what kind of tests would be good to check that everything is working properly. Any additions or comments on the list would be appreciated.

One of the complications I noticed is that each processor's performance monitoring hardware has it own set of events available. For some of the existing ia64 specific tests unaligned access are used. I assume that this was selected because it was a rare event and the number of events could be counted precisely on the ia64. However, this isn't going to translate to other processors. Would floating point be a reasonable substitution for that? Floating point operations would be rare on integer code and in the kernel.

The performance hardware also has kinds of support, such as opcode address and value matching on ia64. They will need to be some architecture specific tests to exercise things too.

-Will
_______________________________________________
perfmon mailing list
[email protected]
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/

Reply via email to