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