#include #include #include #include #include #include #include #include #define MAX 100 struct vcpu *Vcpu[MAX]; int next_vcpu=0; /* Add a VCPU */ static int simple_vcpu_init(struct vcpu *v){ int t=0; /*find the first position of array available*/ while(tsched_priv); } struct task_slice simple_schedule(s_time_t now){ struct task_slice ret; ret.time = MILLISECS(100); /*if next array position == NULL than restart to 0*/ if (Vcpu[next_vcpu+1]==NULL){ ret.task = Vcpu[0]; next_vcpu=0; } else ret.task = Vcpu[next_vcpu+1]; next_vcpu++; return ret; } struct scheduler sched_simple_def = { .name = "Very simple Scheduler", .opt_name = "simple", .sched_id = 13, .init_vcpu = simple_vcpu_init, .destroy_vcpu = simple_vcpu_destroy, .do_schedule = simple_schedule, };