diff --git a/examples/rpm_test_example.diff b/examples/rpm_test_example.diff new file mode 100644 index 0000000000000000000000000000000000000000..3110dfe0face90af31148441130c37c580f0fdf7 --- /dev/null +++ b/examples/rpm_test_example.diff @@ -0,0 +1,25 @@ +diff --git a/scheduler/kernel/sched/mod/core.c b/scheduler/kernel/sched/mod/core.c +index 9f16b72..21262fd 100644 +--- a/scheduler/kernel/sched/mod/core.c ++++ b/scheduler/kernel/sched/mod/core.c +@@ -3234,6 +3234,9 @@ static void __sched notrace __schedule(bool preempt) + struct rq *rq; + int cpu; + ++ if (sched_feat(PLUGSCHED_TEST)) ++ printk_once("I am the new scheduler: __schedule\n"); ++ + cpu = smp_processor_id(); + rq = cpu_rq(cpu); + prev = rq->curr; +diff --git a/scheduler/kernel/sched/mod/features.h b/scheduler/kernel/sched/mod/features.h +index 4c40fac..8d1eafd 100644 +--- a/scheduler/kernel/sched/mod/features.h ++++ b/scheduler/kernel/sched/mod/features.h +@@ -1,4 +1,6 @@ + /* SPDX-License-Identifier: GPL-2.0 */ ++SCHED_FEAT(PLUGSCHED_TEST, false) ++ + /* + * Only give sleepers 50% of their service deficit. This allows + * them to run sooner, but does not allow tons of sleepers to diff --git a/tools/compile_and_create_rpm.sh b/tools/compile_and_create_rpm.sh new file mode 100755 index 0000000000000000000000000000000000000000..83963bf3494cb8420ac300da7474e52963bf285a --- /dev/null +++ b/tools/compile_and_create_rpm.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# This script will compile plugsched and create a rpm package +# test on Anolis 7.9 AHCK +# examples/rpm_test_example.diff is the example patch_file + +patch_file="" +if [ $# == 1 ]; then + if [ ${1} = "-h" -o ${1} = "--help" ]; then + echo "usage: ${0} patch_file" + exit 0 + fi + patch_file=${1} + if [ ! -f $patch_file ]; then + echo "$patch_file is not a file" + exit 1 + fi +fi + +yum install anolis-repos -y +yum install yum-utils podman -y +yum install kernel-debuginfo-$(uname -r) kernel-devel-$(uname -r) --enablerepo=Plus-debuginfo --enablerepo=Plus -y + +mkdir -p /tmp/work +if [ ! -z $patch_file ]; then + /bin/cp -f $patch_file /tmp/work/test.diff + patch_cmd="patch -p1 -f /tmp/work/create_rpm.sh <