2 # SPDX-License-Identifier: GPL-2.0
3 # description: test for the preemptirqsoff tracer
5 MOD=preemptirq_delay_test
20 modprobe $MOD || unsup "$MOD module not available"
23 grep -q "preemptoff" available_tracers || unsup "preemptoff tracer not enabled"
24 grep -q "irqsoff" available_tracers || unsup "irqsoff tracer not enabled"
28 # Simulate preemptoff section for half a second couple of times
29 echo preemptoff > current_tracer
31 modprobe $MOD test_mode=preempt delay=500000 || fail
33 modprobe $MOD test_mode=preempt delay=500000 || fail
35 modprobe $MOD test_mode=preempt delay=500000 || fail
40 # Confirm which tracer
41 grep -q "tracer: preemptoff" trace || fail
43 # Check the end of the section
44 egrep -q "5.....us : <stack trace>" trace || fail
46 # Check for 500ms of latency
47 egrep -q "latency: 5..... us" trace || fail
51 # Simulate irqsoff section for half a second couple of times
52 echo irqsoff > current_tracer
54 modprobe $MOD test_mode=irq delay=500000 || fail
56 modprobe $MOD test_mode=irq delay=500000 || fail
58 modprobe $MOD test_mode=irq delay=500000 || fail
63 # Confirm which tracer
64 grep -q "tracer: irqsoff" trace || fail
66 # Check the end of the section
67 egrep -q "5.....us : <stack trace>" trace || fail
69 # Check for 500ms of latency
70 egrep -q "latency: 5..... us" trace || fail