2
我试图为Linux 2.4.18实现一个新的调度机制作为HW分配的一部分。 我有以下问题: 在新机制中,我需要在活动队列不为空时更改历元,以便我需要将所有进程从活动队列转移到过期,然后在过期和积极的。 如何检查活动队列中的所有进程以将其转移到已过期?Linux中的进程调度机制
我试着通过所有值为1的位图,并在每个我用户for_each_task并从活动中删除,并插入到过期。
但由于某些原因,当我改变到新机制(使用系统调用)时,系统会自行重置。
我认为这可能是太难以让系统在日程安排功能中经历如此多的过程吗?
任何想法?
这是我的日程安排功能写道
for(int i=0;i<140;i++)
{
if(this_rq()->active->bitmap[i])
{
list_t* iterator;
list_t* queue=this_rq()->active->queue;
list_for_each(iterator, queue + i)
{
task_t* p = list_entry(iterator,task_t,run_list);
dequeue_task(p,this_rq()->active);
enqueue_task(p,this_rq()->expired);
}
}
}
感谢