3 # Verify /proc/interrupts parsing for various architectures.
5 # Copyright (c) 2016 Red Hat.
9 echo "QA output created by $seq"
11 # get standard environment, filters and checks
16 [ $PCP_PLATFORM = linux
] || _notrun
"Linux interrupts test, only works with Linux"
18 status
=1 # failure is the default!
19 $sudo rm -rf $tmp.
* $seq.full
24 [ -f $PCP_VAR_DIR/config
/pmda
/$domain.26.
$seq ] && \
25 _restore_config
$PCP_VAR_DIR/config
/pmda
/$domain.26
26 [ -f $PCP_VAR_DIR/config
/pmda
/$domain.27.
$seq ] && \
27 _restore_config
$PCP_VAR_DIR/config
/pmda
/$domain.27
31 trap "_cleanup; exit \$status" 0 1 2 3 15
33 # real QA test starts here
35 export LINUX_STATSPATH
=$root
36 pmda
=$PCP_PMDAS_DIR/linux
/pmda_linux.so
,linux_init
37 interrupts
=`echo $here/linux/interrupts-* | LC_COLLATE=POSIX sort`
38 softirqs
=`echo $here/linux/softirqs-* | LC_COLLATE=POSIX sort`
40 # override the default contents of PMDA cache files
41 # (do not want localhost versions to be used here).
44 [ -f $PCP_VAR_DIR/config
/pmda
/$domain.26 ] && \
45 _save_config
$PCP_VAR_DIR/config
/pmda
/$domain.26
46 $sudo rm -f $PCP_VAR_DIR/config
/pmda
/$domain.26
47 [ -f $PCP_VAR_DIR/config
/pmda
/$domain.27 ] && \
48 _save_config
$PCP_VAR_DIR/config
/pmda
/$domain.27
49 $sudo rm -f $PCP_VAR_DIR/config
/pmda
/$domain.27
51 for file in $interrupts
54 mkdir
-p $root/proc || _fail
"root in use when processing $file"
56 cp $file $root/proc
/interrupts
58 ncpu
=`echo $base | sed -e 's/.*-\([0-9][0-9]*\)cpu-.*/\1/'`
59 _make_proc_stat
$root/proc
/stat
$ncpu
60 export LINUX_NCPUS
=$ncpu
62 echo "== Checking interrupts metrics from $base ($ncpu CPU)"
63 pminfo
-f -L -K clear -K add
,$domain,$pmda kernel.percpu.intr kernel.percpu.interrupts
64 echo && echo "== done" && echo
65 echo "== Checking interrupts helptext from $base ($ncpu CPU)"
66 pminfo
-tT -L -K clear -K add
,$domain,$pmda kernel.percpu.intr kernel.percpu.interrupts
67 echo && echo "== done" && echo
74 mkdir
-p $root/proc || _fail
"root in use when processing $file"
76 cp $file $root/proc
/softirqs
78 ncpu
=`echo $base | sed -e 's/.*-\([0-9][0-9]*\)cpu-.*/\1/'`
79 _make_proc_stat
$root/proc
/stat
$ncpu
80 export LINUX_NCPUS
=$ncpu
82 echo "== Checking softirqs metrics from $base ($ncpu CPU)"
83 pminfo
-f -L -K clear -K add
,$domain,$pmda kernel.percpu.softirqs
84 echo && echo "== done" && echo