From mboxrd@z Thu Jan 1 00:00:00 1970 From: mhiramat@kernel.org (Masami Hiramatsu) Date: Mon, 25 Jun 2018 22:13:02 +0900 Subject: [PATCH v9 7/7] kselftests: Add tests for the preemptoff and irqsoff tracers In-Reply-To: <20180621223236.211495-8-joel@joelfernandes.org> References: <20180621223236.211495-1-joel@joelfernandes.org> <20180621223236.211495-8-joel@joelfernandes.org> Message-ID: <20180625221302.8507c98e500d8efc70c19d88@kernel.org> Content-Type: text/plain; charset="UTF-8" Message-ID: <20180625131302.jUrLv4CswakDmUiufMkxFJPpqX8sB-joblhV6K-T2xs@z> Hi Joel, On Thu, 21 Jun 2018 15:32:36 -0700 Joel Fernandes 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 : " 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 : " 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html