1#!/bin/sh 2# SPDX-License-Identifier: GPL-2.0 3# description: ftrace - function trace with cpumask 4# requires: function:tracer 5 6if ! which nproc ; then 7 nproc() { 8 ls -d /sys/devices/system/cpu/cpu[0-9]* | wc -l 9 } 10fi 11 12NP=`nproc` 13 14if [ $NP -eq 1 ] ;then 15 echo "We can not test cpumask on UP environment" 16 exit_unresolved 17fi 18 19ORIG_CPUMASK=`cat tracing_cpumask` 20 21do_reset() { 22 echo $ORIG_CPUMASK > tracing_cpumask 23} 24 25echo 0 > tracing_on 26echo > trace 27: "Bitmask only record on CPU1" 28echo 2 > tracing_cpumask 29MASK=0x`cat tracing_cpumask` 30test `printf "%d" $MASK` -eq 2 || do_reset 31 32echo function > current_tracer 33echo 1 > tracing_on 34(echo "forked") 35echo 0 > tracing_on 36 37: "Check CPU1 events are recorded" 38grep -q -e "\[001\]" trace || do_reset 39 40: "There should be No other cpu events" 41! grep -qv -e "\[001\]" -e "^#" trace || do_reset 42 43do_reset 44