William Cohen wrote:
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

Hi all,

Attached is a more recent version of the tests for perfmon2. The following changes have been made:

        -adapted to run with the 2.6.19-rc6-git10-perfmon2
        -repeatable measurements for multiple indepedent concurrent processes
        -have tests for AMD64, p6 based processors, and Itanium2/Montecito

Comments on the tests would be appreciated.

The tests require dejagnu/expect to run. To run use the following commands:

tar xvfz testsuite.tgz
cd testsuite
runtest --tool=pfmon

A couple thoughts/issues on the current set of tests:

The tests don't cover all the processor implementations that perfmon2 supports.

On some of the processors it might be difficult to select events that will have reasonably repeatible results. Some of the processors have very few events to chose. Cycle count could vary greatly with clock scaling and interrupts. Instruction counts could also vary significantly depending on the code that the compiler generates.

The tests are not designed to exhaustively checking all the events available for a processor. In general the tests are just designed to check that an event (or two) can be measure on the hardware. Thus, problems with an event being coded incorrectly are unlikely to be caught with the tests. This decision might need to be revisited for lists of architected events. E.g. need to make sure that this subset of events is measured correctly.

The tests don't clean up the executables after a run. Thus, if the perfmon changed and the second version doesn't compile, the old version of the executable is run.

-Will

Attachment: testsuite.tgz
Description: application/compressed-tar

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

Reply via email to