brintos

brintos / linux-shallow public Read only

0
0
Text · 1.6 KiB · ba10389 Raw
79 lines · plain
1#!/bin/sh2# SPDX-License-Identifier: GPL-2.03# description: test for the preemptirqsoff tracer4# requires: preemptoff:tracer irqsoff:tracer5 6MOD=preemptirq_delay_test7 8fail() {9    reset_tracer10    rmmod $MOD || true11    exit_fail12}13 14unsup() { #msg15    reset_tracer16    rmmod $MOD || true17    echo $118    exit_unsupported19}20 21unres() { #msg22    reset_tracer23    rmmod $MOD || true24    echo $125    exit_unresolved26}27 28modprobe $MOD || unres "$MOD module not available"29rmmod $MOD30 31reset_tracer32 33# Simulate preemptoff section for half a second couple of times34echo preemptoff > current_tracer35sleep 136modprobe $MOD test_mode=preempt delay=500000 || fail37rmmod $MOD || fail38modprobe $MOD test_mode=preempt delay=500000 || fail39rmmod $MOD || fail40modprobe $MOD test_mode=preempt delay=500000 || fail41rmmod $MOD || fail42 43cat trace44 45# Confirm which tracer46grep -q "tracer: preemptoff" trace || fail47 48# Check the end of the section49grep -E -q "5.....us : <stack trace>" trace || fail50 51# Check for 500ms of latency52grep -E -q "latency: 5..... us" trace || fail53 54reset_tracer55 56# Simulate irqsoff section for half a second couple of times57echo irqsoff > current_tracer58sleep 159modprobe $MOD test_mode=irq delay=500000 || fail60rmmod $MOD || fail61modprobe $MOD test_mode=irq delay=500000 || fail62rmmod $MOD || fail63modprobe $MOD test_mode=irq delay=500000 || fail64rmmod $MOD || fail65 66cat trace67 68# Confirm which tracer69grep -q "tracer: irqsoff" trace || fail70 71# Check the end of the section72grep -E -q "5.....us : <stack trace>" trace || fail73 74# Check for 500ms of latency75grep -E -q "latency: 5..... us" trace || fail76 77reset_tracer78exit 079