Anyway, my current actions are:
rpm -ivh http://linuxsoft.cern.ch/cern/slc4X/i386/SRPMS/kernel-2.6.9-22.EL.src.rpm cd /usr/src/redhat/SPECS rpmbuild -bp --target=i686 kernel-2.6.spec cp -a /usr/src/redhat/BUILD/kernel-2.6.9/linux-2.6.9 /usr/src
[root@wn-a-25 linux-2.6.9]# /root/perfctr-2.6.27/update-kernel -p 2.6.9-22.EL-redhat
it works well (also --test works well)
CONFIG_MODULES=y and CONFIG_MODVERSIONS=y are left as is
# perfctr CONFIG_PERFCTR=y CONFIG_PERFCTR_VIRTUAL=y CONFIG_PERFCTR_GLOBAL=y
# CONFIG_PERFCTR_DEBUG is not set # CONFIG_PERFCTR_INIT_TESTS is not set
make clean make bzImage make modules make modules_install make install
On slc4 /dev/perfctr was already existing after the reboot, so I suppose it's a static device.
To build library:
make make PREFIX=/home/cms install
CVSROOT=:pserver:anonymous@cmscvs.cern.ch:/cvs_server/repositories/CMSSW cvs login (98passwd) cvs co Configuration/PyReleaseValidation
cvs co -d PerfAnalysis UserCode/Tuura/PerfAnalysis
export CMSSW_P=/home/cms/CMSSW_1_5_2 export PATH=$PATH:$CMSSW_P/src/Configuration/PyReleaseValidation/data export PATH=$PATH:/home/cms/perf/bin/:$CMSSW_P/src/PerfAnalysis . /opt/cms/cmsset_default.sh cd /home/cms/CMSSW_1_5_2 eval `scramv1 runtime -sh`
cmsDriver.py QCD --prefix "perfex `perfctr-amd 1`"
Lassi wrote a nice one-liner for profiling things:
(dir=Z-PERFCTR-MU-ALL; for sample in `seq 1 11`; do (echo "Run started at `date +%s` (`date`)" for f in 'B_JETS'; do basef=$f-MU-default-$sample perfexout=$dir/perf-$basef perfexopt="$(perfctr-amd $sample ${perfexout}-def.txt)" (set -x; (time cmsDriver.py MU+ -e 10 --prefix "perfex -o ${perfexout}-out.txt $perfexopt" ) >& $dir/out-$basef.txt </dev/null) done echo "Run ended at `date +%s` (`date`)" ) >& $dir/all-out-$sample.txt done) >& Z-PERFCTR-MU-ALL/all-out.txt </dev/null &
(dir=Z-PERFCTR-5; for sample in `seq 1 11`; do (echo "Run started at `date +%s` (`date`)" for f in 'B_JETS'; do [ $(ls "$f"_*SIM.root 2>/dev/null | wc -l) = 1 ] || continue basef=$f-DIGI-default-$sample perfexout=$dir/perf-$basef perfexopt="$(perfctr-amd $sample ${perfexout}-def.txt)" (set -x; (time cmsDriver.py "$f" -s DIGI --prefix "perfex -o ${perfexout}-out.txt $perfexopt" ) >& $dir/out-$basef.txt </dev/null) done echo "Run ended at `date +%s` (`date`)" ) >& $dir/all-reco-out-$sample.txt done) >& Z-PERFCTR-5/all-out.txt </dev/null &
dmesg | grep CPU cat /proc/cpuinfo http://ezix.org/project/wiki/HardwareLiSter