brintos

brintos / linux-shallow public Read only

0
0
Text · 1.5 KiB · ade3557 Raw
59 lines · bash
1#!/bin/bash2# SPDX-License-Identifier: GPL-2.03 4# Kselftest framework requirement - SKIP code is 4.5ksft_skip=46 7if [ $EUID -ne 0 ]8then9	echo "Run as root"10	exit $ksft_skip11fi12 13damon_sysfs="/sys/kernel/mm/damon/admin"14if [ ! -d "$damon_sysfs" ]15then16	echo "damon sysfs not found"17	exit $ksft_skip18fi19 20# clear log21dmesg -C22 23# start DAMON with a scheme24echo 1 > "$damon_sysfs/kdamonds/nr_kdamonds"25echo 1 > "$damon_sysfs/kdamonds/0/contexts/nr_contexts"26echo "vaddr" > "$damon_sysfs/kdamonds/0/contexts/0/operations"27echo 1 > "$damon_sysfs/kdamonds/0/contexts/0/targets/nr_targets"28echo $$ > "$damon_sysfs/kdamonds/0/contexts/0/targets/0/pid_target"29echo 1 > "$damon_sysfs/kdamonds/0/contexts/0/schemes/nr_schemes"30scheme_dir="$damon_sysfs/kdamonds/0/contexts/0/schemes/0"31echo 4096000 > "$scheme_dir/access_pattern/sz/max"32echo 20 > "$scheme_dir/access_pattern/nr_accesses/max"33echo 1024 > "$scheme_dir/access_pattern/age/max"34echo "on" > "$damon_sysfs/kdamonds/0/state"35sleep 0.336 37# remove scheme sysfs dir38echo 0 > "$damon_sysfs/kdamonds/0/contexts/0/schemes/nr_schemes"39 40# try to update stat of already removed scheme sysfs dir41echo "update_schemes_stats" > "$damon_sysfs/kdamonds/0/state"42if dmesg | grep -q BUG43then44	echo "update_schemes_stats triggers a kernel bug"45	dmesg46	exit 147fi48 49# try to update tried regions of already removed scheme sysfs dir50echo "update_schemes_tried_regions" > "$damon_sysfs/kdamonds/0/state"51if dmesg | grep -q BUG52then53	echo "update_schemes_tried_regions triggers a kernel bug"54	dmesg55	exit 156fi57 58echo "off" > "$damon_sysfs/kdamonds/0/state"59