Hi Joel,

On Thu, 21 Jun 2018 15:32:36 -0700
Joel Fernandes <[email protected]> wrote:
[...]
> +++ b/tools/testing/selftests/ftrace/test.d/preemptirq/irqsoff_tracer.tc
> @@ -0,0 +1,74 @@
> +#!/bin/sh
> +# SPDX-License-Identifier: GPL-2.0
> +# description: test for the preemptirqsoff tracer
> +
> +MOD=test_atomic_sections
> +
> +fail() {
> +    reset_tracer
> +    rmmod $MOD || true
> +    exit_fail
> +}
> +
> +unsup() { #msg
> +    reset_tracer
> +    rmmod $MOD || true
> +    echo $1
> +    exit_unsupported
> +}
> +
> +modprobe $MOD || unsup "$MOD module not available"
> +rmmod $MOD
> +
> +grep -q "preemptoff" available_tracers || unsup "preemptoff tracer not 
> enabled"
> +grep -q "irqsoff" available_tracers || unsup "irqsoff tracer not enabled"
> +
> +reset_tracer
> +
> +# Simulate preemptoff section for half a second couple of times
> +echo preemptoff > current_tracer
> +sleep 1
> +modprobe test_atomic_sections atomic_mode=preempt atomic_time=500000 || fail
> +rmmod test_atomic_sections || fail
> +modprobe test_atomic_sections atomic_mode=preempt atomic_time=500000 || fail
> +rmmod test_atomic_sections || fail
> +modprobe test_atomic_sections atomic_mode=preempt atomic_time=500000 || fail
> +rmmod test_atomic_sections || fail

Why don't you use $MOD for these operations?

> +
> +cat trace
> +
> +# Confirm which tracer
> +grep -q "tracer: preemptoff" trace || fail
> +
> +# Check the end of the section
> +egrep -q "5.....us : <stack trace>" trace || fail
> +
> +# Check for 500ms of latency
> +egrep -q "latency: 5..... us" trace || fail
> +
> +reset_tracer
> +
> +# Simulate irqsoff section for half a second couple of times
> +echo irqsoff > current_tracer
> +sleep 1
> +modprobe test_atomic_sections atomic_mode=irq atomic_time=500000 || fail
> +rmmod test_atomic_sections || fail
> +modprobe test_atomic_sections atomic_mode=irq atomic_time=500000 || fail
> +rmmod test_atomic_sections || fail
> +modprobe test_atomic_sections atomic_mode=irq atomic_time=500000 || fail
> +rmmod test_atomic_sections || fail

Ditto.

Other parts looks good to me.

Thanks,

> +
> +cat trace
> +
> +# Confirm which tracer
> +grep -q "tracer: irqsoff" trace || fail
> +
> +# Check the end of the section
> +egrep -q "5.....us : <stack trace>" trace || fail
> +
> +# Check for 500ms of latency
> +egrep -q "latency: 5..... us" trace || fail
> +
> +reset_tracer
> +exit 0
> +
> -- 
> 2.18.0.rc2.346.g013aa6912e-goog
> 


-- 
Masami Hiramatsu <[email protected]>

Reply via email to