xref: /linux/tools/testing/selftests/verification/test.d/rv_wwnr_printk.tc (revision 0b1b4a3d8ebec3c42231c306d4b9a5153d047674)
1*0c0cd931SGabriele Monaco#!/bin/sh
2*0c0cd931SGabriele Monaco# SPDX-License-Identifier: GPL-2.0-or-later
3*0c0cd931SGabriele Monaco# description: Test wwnr monitor with printk reactor
4*0c0cd931SGabriele Monaco# requires: available_reactors wwnr:monitor printk:reactor stress-ng:program
5*0c0cd931SGabriele Monaco
6*0c0cd931SGabriele Monacoload() { # returns true if there was a reaction
7*0c0cd931SGabriele Monaco	local lines_before num
8*0c0cd931SGabriele Monaco	num=$((($(nproc) + 1) / 2))
9*0c0cd931SGabriele Monaco	lines_before=$(dmesg | wc -l)
10*0c0cd931SGabriele Monaco	stress-ng --cpu-sched "$num" --timer "$num" -t 5 -q
11*0c0cd931SGabriele Monaco	dmesg | tail -n $((lines_before + 1)) | grep -q "rv: monitor wwnr does not allow event"
12*0c0cd931SGabriele Monaco}
13*0c0cd931SGabriele Monaco
14*0c0cd931SGabriele Monacoecho 1 > monitors/wwnr/enable
15*0c0cd931SGabriele Monacoecho printk > monitors/wwnr/reactors
16*0c0cd931SGabriele Monaco
17*0c0cd931SGabriele Monacoload
18*0c0cd931SGabriele Monaco
19*0c0cd931SGabriele Monacoecho 0 > monitoring_on
20*0c0cd931SGabriele Monaco! load
21*0c0cd931SGabriele Monacoecho 1 > monitoring_on
22*0c0cd931SGabriele Monaco
23*0c0cd931SGabriele Monacoload
24*0c0cd931SGabriele Monaco
25*0c0cd931SGabriele Monacoecho 0 > reacting_on
26*0c0cd931SGabriele Monaco! load
27*0c0cd931SGabriele Monacoecho 1 > reacting_on
28*0c0cd931SGabriele Monaco
29*0c0cd931SGabriele Monacoecho nop > monitors/wwnr/reactors
30*0c0cd931SGabriele Monacoecho 0 > monitors/wwnr/enable
31