1*4cc0ee77SSeongJae Park#!/bin/bash
2*4cc0ee77SSeongJae Park# SPDX-License-Identifier: GPL-2.0
3*4cc0ee77SSeongJae Park
4*4cc0ee77SSeongJae Park# Kselftest framework requirement - SKIP code is 4.
5*4cc0ee77SSeongJae Parkksft_skip=4
6*4cc0ee77SSeongJae Park
7*4cc0ee77SSeongJae Parkif [ $EUID -ne 0 ]
8*4cc0ee77SSeongJae Parkthen
9*4cc0ee77SSeongJae Park	echo "Run as root"
10*4cc0ee77SSeongJae Park	exit $ksft_skip
11*4cc0ee77SSeongJae Parkfi
12*4cc0ee77SSeongJae Park
13*4cc0ee77SSeongJae Parkdamon_reclaim_enabled="/sys/module/damon_reclaim/parameters/enabled"
14*4cc0ee77SSeongJae Parkif [ ! -f "$damon_reclaim_enabled" ]
15*4cc0ee77SSeongJae Parkthen
16*4cc0ee77SSeongJae Park	echo "No 'enabled' file.  Maybe DAMON_RECLAIM not built"
17*4cc0ee77SSeongJae Park	exit $ksft_skip
18*4cc0ee77SSeongJae Parkfi
19*4cc0ee77SSeongJae Park
20*4cc0ee77SSeongJae Parknr_kdamonds=$(pgrep kdamond | wc -l)
21*4cc0ee77SSeongJae Parkif [ "$nr_kdamonds" -ne 0 ]
22*4cc0ee77SSeongJae Parkthen
23*4cc0ee77SSeongJae Park	echo "Another kdamond is running"
24*4cc0ee77SSeongJae Park	exit $ksft_skip
25*4cc0ee77SSeongJae Parkfi
26*4cc0ee77SSeongJae Park
27*4cc0ee77SSeongJae Parkecho Y > "$damon_reclaim_enabled"
28*4cc0ee77SSeongJae Park
29*4cc0ee77SSeongJae Parknr_kdamonds=$(pgrep kdamond | wc -l)
30*4cc0ee77SSeongJae Parkif [ "$nr_kdamonds" -ne 1 ]
31*4cc0ee77SSeongJae Parkthen
32*4cc0ee77SSeongJae Park	echo "kdamond is not turned on"
33*4cc0ee77SSeongJae Park	exit 1
34*4cc0ee77SSeongJae Parkfi
35*4cc0ee77SSeongJae Park
36*4cc0ee77SSeongJae Parkecho N > "$damon_reclaim_enabled"
37*4cc0ee77SSeongJae Parknr_kdamonds=$(pgrep kdamond | wc -l)
38*4cc0ee77SSeongJae Parkif [ "$nr_kdamonds" -ne 0 ]
39*4cc0ee77SSeongJae Parkthen
40*4cc0ee77SSeongJae Park	echo "kdamond is not turned off"
41*4cc0ee77SSeongJae Park	exit 1
42*4cc0ee77SSeongJae Parkfi
43