From a1587100146a1fec07369e3b127832434fee9dcd Mon Sep 17 00:00:00 2001 From: Ollrogge <nils-ollrogge@outlook.de> Date: Tue, 27 Sep 2022 12:38:59 +0200 Subject: [PATCH] pb_submitter build script && minor code cleanup --- build => build_kernel.sh | 2 ++ build_module => build_module.sh | 2 ++ build_pb_submitter.sh | 6 ++++++ kernel/sched/pb.c | 7 +++---- pb_utils/pb_submitter/pb_submitter.c | 2 +- pb_utils/pb_submitter/syscall_long_test.c | 3 ++- pb_utils/pb_submitter/task_long_test.c | 3 ++- pb_utils/pb_submitter/test_prog.c | 3 ++- 8 files changed, 20 insertions(+), 8 deletions(-) rename build => build_kernel.sh (89%) rename build_module => build_module.sh (75%) create mode 100755 build_pb_submitter.sh diff --git a/build b/build_kernel.sh similarity index 89% rename from build rename to build_kernel.sh index 07d48ceef579..7029679eea09 100755 --- a/build +++ b/build_kernel.sh @@ -1,3 +1,5 @@ +#!/bin/bash + worker=8 time make -j"$worker" bzImage diff --git a/build_module b/build_module.sh similarity index 75% rename from build_module rename to build_module.sh index 011f53a5fd2a..2b494e563c7f 100755 --- a/build_module +++ b/build_module.sh @@ -1,3 +1,5 @@ +#!/bin/bash + cd ./pb_utils/mod_gen/mods/ make cd - diff --git a/build_pb_submitter.sh b/build_pb_submitter.sh new file mode 100755 index 000000000000..56ea2188c90f --- /dev/null +++ b/build_pb_submitter.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +cd ./pb_utils/pb_submitter +./build.sh +cd - + diff --git a/kernel/sched/pb.c b/kernel/sched/pb.c index f320071e3237..5f1df293d3d2 100644 --- a/kernel/sched/pb.c +++ b/kernel/sched/pb.c @@ -164,7 +164,7 @@ static void enqueue_task_pb(struct rq *rq, struct task_struct *p, int flags) /** * Don't schedule a task that is dead. (e.g. plan was incorrect and program finished quicker) - * todo: if we have multiple tasks structs just try the next plan entry + * TODO: if we have multiple tasks structs try the next plan entry */ if (pb->c_entry < pb->size && pb->plan[pb->c_entry].task_struct->state == TASK_DEAD) { premature_finish = true; @@ -235,7 +235,6 @@ static void check_preempt_curr_pb(struct rq *rq, struct task_struct *p, int flag static struct task_struct * pick_next_task_pb(struct rq *rq, struct task_struct *prev, struct rq_flags *rf) { - // contains task to be executed struct task_struct *picked = NULL; enum pb_mode current_mode, next_mode; @@ -348,8 +347,8 @@ static void update_curr_pb(struct rq *rq) const struct sched_class pb_sched_class = { .next = &dl_sched_class, - .enqueue_task = enqueue_task_pb, // NOP - .dequeue_task = dequeue_task_pb, // NOP + .enqueue_task = enqueue_task_pb, + .dequeue_task = dequeue_task_pb, .yield_task = yield_task_pb, .check_preempt_curr = check_preempt_curr_pb, // NOP diff --git a/pb_utils/pb_submitter/pb_submitter.c b/pb_utils/pb_submitter/pb_submitter.c index e8cb3474749e..048560444526 100644 --- a/pb_utils/pb_submitter/pb_submitter.c +++ b/pb_utils/pb_submitter/pb_submitter.c @@ -54,7 +54,7 @@ int main(int argc, char** argv) perror("pipe"); return -1; } - + fp = fopen(argv[2], "r"); if (fp == NULL) { usage(); diff --git a/pb_utils/pb_submitter/syscall_long_test.c b/pb_utils/pb_submitter/syscall_long_test.c index afefbcba6c6b..820fec2b2128 100644 --- a/pb_utils/pb_submitter/syscall_long_test.c +++ b/pb_utils/pb_submitter/syscall_long_test.c @@ -10,8 +10,9 @@ int main(void) int a = 0; int c = 0; for (;a < 100000; a++){c = c + a;} - // check if program runs && syscall to switch tasks + // check if program runs printf("loop run: %d, c = %d \n", b, c); + // syscall to switch tasks usleep(10000); } return 0; diff --git a/pb_utils/pb_submitter/task_long_test.c b/pb_utils/pb_submitter/task_long_test.c index b9f9c2d76104..0a96cbd83de4 100644 --- a/pb_utils/pb_submitter/task_long_test.c +++ b/pb_utils/pb_submitter/task_long_test.c @@ -10,8 +10,9 @@ int main(void) int a = 0; int c = 0; for (;a < 10000000; a++){c = c + a;} - // check if program runs && syscall to switch tasks + // check if program runs printf("loop run: %d, c = %d \n", b, c); + // syscall to switch tasks usleep(1); } return 0; diff --git a/pb_utils/pb_submitter/test_prog.c b/pb_utils/pb_submitter/test_prog.c index 74d87392c328..11c4bcb587b5 100644 --- a/pb_utils/pb_submitter/test_prog.c +++ b/pb_utils/pb_submitter/test_prog.c @@ -10,8 +10,9 @@ int main(void) int a = 0; int c = 0; for (;a < 100000; a++){c = c + a;} - // check if program runs && syscall to switch tasks + // check if program runs printf("loop run: %d, c = %d \n", b, c); + // syscall to switch tasks usleep(1); } return 0; -- GitLab