1
0
Fork 0
mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-01-22 16:06:04 -05:00

tools/memory-model: Add simpletest.sh to check locking, RCU, and SRCU

This commit abstracts out common function to check a given litmus test
for locking, RCU, and SRCU in order to avoid duplicating code.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
This commit is contained in:
Paul E. McKenney 2019-03-19 16:21:09 -07:00
parent 2024436d48
commit aedbf1e085

View file

@ -0,0 +1,35 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0+
#
# Give zero status if this is a simple test and non-zero otherwise.
# Simple tests do not contain locking, RCU, or SRCU.
#
# Usage:
# simpletest.sh file.litmus
#
# Copyright IBM Corporation, 2019
#
# Author: Paul E. McKenney <paulmck@linux.ibm.com>
litmus=$1
if test -f "$litmus" -a -r "$litmus"
then
:
else
echo ' --- ' error: \"$litmus\" is not a readable file
exit 255
fi
exclude="^[[:space:]]*\("
exclude="${exclude}spin_lock(\|spin_unlock(\|spin_trylock(\|spin_is_locked("
exclude="${exclude}\|rcu_read_lock(\|rcu_read_unlock("
exclude="${exclude}\|synchronize_rcu(\|synchronize_rcu_expedited("
exclude="${exclude}\|srcu_read_lock(\|srcu_read_unlock("
exclude="${exclude}\|synchronize_srcu(\|synchronize_srcu_expedited("
exclude="${exclude}\)"
if grep -q $exclude $litmus
then
exit 255
fi
exit 0