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);
}
}
}
感謝