[Linux-hls-cvs] hls/hls hls_hooks.c,1.8,1.9 hls_sched_th.c,1.8,1.9
Status: Pre-Alpha
Brought to you by:
lucabe
|
From: Luca A. <lu...@us...> - 2004-11-02 07:39:37
|
Update of /cvsroot/linux-hls/hls/hls In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5235/hls Modified Files: hls_hooks.c hls_sched_th.c Log Message: - Update the 2.6 backend... Now it inserts without big crashes, but still does not work Check if it breaks 2.4 (there is a pre_26 tag) Index: hls_hooks.c =================================================================== RCS file: /cvsroot/linux-hls/hls/hls/hls_hooks.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** hls_hooks.c 29 Nov 2003 11:59:00 -0000 1.8 --- hls_hooks.c 2 Nov 2004 07:39:28 -0000 1.9 *************** *** 56,60 **** HLS_ASSERT (HLSInitState == 1); ! HLS_ASSERT ((State == TASK_UNINTERRUPTIBLE) || (State == TASK_INTERRUPTIBLE)); HLS_ASSERT (Thread); #ifdef HLS_DEBUG --- 56,60 ---- HLS_ASSERT (HLSInitState == 1); ! /* this is only valid for 2.4... HLS_ASSERT ((State == TASK_UNINTERRUPTIBLE) || (State == TASK_INTERRUPTIBLE)); */ HLS_ASSERT (Thread); #ifdef HLS_DEBUG *************** *** 113,117 **** --- 113,119 ---- case VP_Waiting: /* Thread->state = TASK_UNINTERRUPTIBLE;*/ + #if 0 Thread->state = State; + #endif Th->InState = HLS_Waiting; break; *************** *** 127,130 **** --- 129,133 ---- case VP_Running: HLS_ASSERT (Th->vp->Proc != NO_PROC); + Th->InState = HLS_Ready; break; default: *************** *** 168,171 **** --- 171,175 ---- #else if (t->InState != HLS_Waiting) { + BUG_ON(t->InState != HLS_Waiting); /* FIXME: This stuff is arch-dependent!!! */ /* maybe we should provide some TH_STATE() and TH_ID() macros ? */ *************** *** 174,178 **** } #endif ! #if 0 HLS_ASSERT (t->vp->State == VP_Waiting); #else --- 178,183 ---- } #endif ! #if 1 ! BUG_ON(t->vp->State != VP_Waiting); HLS_ASSERT (t->vp->State == VP_Waiting); #else *************** *** 334,337 **** --- 339,343 ---- } + whereami = 15; #ifdef HLS_DEBUG HLSChangeFlag = HLS_CNT; *************** *** 342,345 **** --- 348,354 ---- t = HLSFindThread (Thread); HLS_ASSERT (t); + HLS_ASSERT (t->vp); + HLS_ASSERT (t->vp->TopSched); + HLS_ASSERT (t->vp->TopSched->CB); /* FIXME: What to do here? */ *************** *** 356,364 **** } #endif if (t->InState != HLS_Ready) { hls_hard_printk("HYPERERROR!!! Strange internal state [%d]: %x\n", Thread->pid, t->InState); ! hls_printk("HYPERERROR!!! Strange internal state [%d]: %x\n", Thread->pid, t->InState); } t->InState = HLS_Waiting; t->vp->TopSched->CB->B_VP_Release (t->vp); --- 365,376 ---- } #endif + whereami = 25; if (t->InState != HLS_Ready) { hls_hard_printk("HYPERERROR!!! Strange internal state [%d]: %x\n", Thread->pid, t->InState); ! WARN_ON(t->InState != HLS_Ready); ! // hls_printk("HYPERERROR!!! Strange internal state [%d]: %x\n", Thread->pid, t->InState); } + whereami = 35; t->InState = HLS_Waiting; t->vp->TopSched->CB->B_VP_Release (t->vp); Index: hls_sched_th.c =================================================================== RCS file: /cvsroot/linux-hls/hls/hls/hls_sched_th.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** hls_sched_th.c 9 Oct 2004 10:26:55 -0000 1.8 --- hls_sched_th.c 2 Nov 2004 07:39:28 -0000 1.9 *************** *** 237,240 **** --- 237,241 ---- switch (body->State) { case TASK_RUNNING: + Inst->vp->State = VP_Waiting; Inst->vp->TopSched->CB->B_VP_Request (Inst->vp); break; |