1#!/bin/bash 2# 3# Kernel-version-dependent shell functions for the rest of the scripts. 4# 5# This program is free software; you can redistribute it and/or modify 6# it under the terms of the GNU General Public License as published by 7# the Free Software Foundation; either version 2 of the License, or 8# (at your option) any later version. 9# 10# This program is distributed in the hope that it will be useful, 11# but WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13# GNU General Public License for more details. 14# 15# You should have received a copy of the GNU General Public License 16# along with this program; if not, you can access it online at 17# http://www.gnu.org/licenses/gpl-2.0.html. 18# 19# Copyright (C) IBM Corporation, 2013 20# 21# Authors: Paul E. McKenney <paulmck@linux.vnet.ibm.com> 22 23# rcutorture_param_n_barrier_cbs bootparam-string 24# 25# Adds n_barrier_cbs rcutorture module parameter to kernels having it. 26rcutorture_param_n_barrier_cbs () { 27 if echo $1 | grep -q "rcutorture\.n_barrier_cbs" 28 then 29 : 30 else 31 echo rcutorture.n_barrier_cbs=4 32 fi 33} 34 35# rcutorture_param_onoff bootparam-string config-file 36# 37# Adds onoff rcutorture module parameters to kernels having it. 38rcutorture_param_onoff () { 39 if ! bootparam_hotplug_cpu "$1" && configfrag_hotplug_cpu "$2" 40 then 41 echo CPU-hotplug kernel, adding rcutorture onoff. 1>&2 42 echo rcutorture.onoff_interval=3 rcutorture.onoff_holdoff=30 43 fi 44} 45 46# per_version_boot_params bootparam-string config-file seconds 47# 48# Adds per-version torture-module parameters to kernels supporting them. 49per_version_boot_params () { 50 echo $1 `rcutorture_param_onoff "$1" "$2"` \ 51 `rcutorture_param_n_barrier_cbs "$1"` \ 52 rcutorture.stat_interval=15 \ 53 rcutorture.shutdown_secs=$3 \ 54 rcutorture.rcutorture_runnable=1 \ 55 rcutorture.test_no_idle_hz=1 \ 56 rcutorture.verbose=1 57} 58