blob: 85eeacd17d7b32867ad3df1ba5e58e989366ccf7 [file] [log] [blame]
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
# This script shows example usage of damo for access-aware weighted
# interleaving. The script assumes the system has two NUMA nodes of id 0 and 1.
# The script asks DAMON to interleave hot pages of the target process, passed
# as the first command line argument of this script, at a 1:1 ratio between
# nodes 0 and 1.
#
# To run this, the kernel should have the weighted interleaving support of
# DAMON[1], which is expected to land into mainline in v6.17-rc1.
#
# [1] https://lore.kernel.org/r/20250709005952.17776-1-bijan311@gmail.com/
set -e
bindir=$(realpath $(dirname "$0"))
damo_bin="$bindir/../damo"
target_proc=$1
if [ ! -f "$damo_bin" ]
then
echo "damo not found at $damo_bin"
exit 1
fi
"$damo_bin" start \
--target_pid $target_proc --ops vaddr \
--monitoring_intervals_goal 4% 3 5ms 10s \
--damos_action migrate_hot 0 1 1 1 --damos_access_rate 5% max \
--damos_apply_interval 1s \
--damos_quota_interval 1s --damos_quota_space 200MB \