162306a36Sopenharmony_ci#!/bin/bash
262306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci# Kselftest framework requirement - SKIP code is 4.
562306a36Sopenharmony_ciksft_skip=4
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciif [ $EUID -ne 0 ]
862306a36Sopenharmony_cithen
962306a36Sopenharmony_ci	echo "Run as root"
1062306a36Sopenharmony_ci	exit $ksft_skip
1162306a36Sopenharmony_cifi
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_cidamon_reclaim_enabled="/sys/module/damon_reclaim/parameters/enabled"
1462306a36Sopenharmony_ciif [ ! -f "$damon_reclaim_enabled" ]
1562306a36Sopenharmony_cithen
1662306a36Sopenharmony_ci	echo "No 'enabled' file.  Maybe DAMON_RECLAIM not built"
1762306a36Sopenharmony_ci	exit $ksft_skip
1862306a36Sopenharmony_cifi
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_cinr_kdamonds=$(pgrep kdamond | wc -l)
2162306a36Sopenharmony_ciif [ "$nr_kdamonds" -ne 0 ]
2262306a36Sopenharmony_cithen
2362306a36Sopenharmony_ci	echo "Another kdamond is running"
2462306a36Sopenharmony_ci	exit $ksft_skip
2562306a36Sopenharmony_cifi
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciecho Y > "$damon_reclaim_enabled"
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_cinr_kdamonds=$(pgrep kdamond | wc -l)
3062306a36Sopenharmony_ciif [ "$nr_kdamonds" -ne 1 ]
3162306a36Sopenharmony_cithen
3262306a36Sopenharmony_ci	echo "kdamond is not turned on"
3362306a36Sopenharmony_ci	exit 1
3462306a36Sopenharmony_cifi
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ciecho N > "$damon_reclaim_enabled"
3762306a36Sopenharmony_cinr_kdamonds=$(pgrep kdamond | wc -l)
3862306a36Sopenharmony_ciif [ "$nr_kdamonds" -ne 0 ]
3962306a36Sopenharmony_cithen
4062306a36Sopenharmony_ci	echo "kdamond is not turned off"
4162306a36Sopenharmony_ci	exit 1
4262306a36Sopenharmony_cifi
43