Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 352 → Rev 353

/shark/trunk/kernel/activate.c
18,11 → 18,11
 
/**
------------
CVS : $Id: activate.c,v 1.4 2003-11-05 15:05:10 giacomo Exp $
CVS : $Id: activate.c,v 1.5 2003-12-10 16:54:58 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.4 $
Last update: $Date: 2003-11-05 15:05:10 $
Revision: $Revision: 1.5 $
Last update: $Date: 2003-12-10 16:54:58 $
------------
 
task_activate & group_activate
62,7 → 62,7
#include <errno.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
#include <tracer.h>
 
/*+
Activates a single task
118,7 → 118,7
proc_table[p].frozen_activations++;
else {
/* tracer stuff */
trc_logevent(TRC_ACTIVATE,&p);
TRACER_LOGEVENT(FTrace_EVT_task_activate,1,p,0);
l = proc_table[p].task_level;
level_table[l]->public_activate(l,p);
160,7 → 160,7
continue;
}
/* tracer stuff */
trc_logevent(TRC_ACTIVATE,&i);
TRACER_LOGEVENT(FTrace_EVT_task_activate,1,i,0);
l = proc_table[i].task_level;
level_table[l]->public_activate(l,i);
}
179,7 → 179,7
continue;
}
/* tracer stuff */
trc_logevent(TRC_ACTIVATE,&i);
TRACER_LOGEVENT(FTrace_EVT_task_activate,1,i,0);
l = proc_table[i].task_level;
level_table[l]->public_activate(l,i);
event_need_reschedule();
198,7 → 198,7
l = proc_table[i].task_level;
level_table[l]->public_activate(l,i);
/* tracer stuff */
trc_logevent(TRC_ACTIVATE,&i);
TRACER_LOGEVENT(FTrace_EVT_task_activate,1,i,0);
}
scheduler();
/shark/trunk/kernel/modules/edf.c
20,11 → 20,11
 
/**
------------
CVS : $Id: edf.c,v 1.8 2003-09-29 16:24:36 giacomo Exp $
CVS : $Id: edf.c,v 1.9 2003-12-10 16:55:00 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.8 $
Last update: $Date: 2003-09-29 16:24:36 $
Revision: $Revision: 1.9 $
Last update: $Date: 2003-12-10 16:55:00 $
------------
 
This file contains the scheduling module EDF (Earliest Deadline First)
60,8 → 60,9
#include <kernel/descr.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
 
#include <tracer.h>
 
//#define EDF_DEBUG
#define edf_printf kern_printf
 
122,7 → 123,7
 
case EDF_IDLE:
/* tracer stuff */
trc_logevent(TRC_INTACTIVATION,&p);
TRACER_LOGEVENT(FTrace_EVT_task_timer,3,p,proc_table[p].task_level);
/* similar to EDF_task_activate */
temp = iq_query_timespec(p,&lev->ready);
ADDUSEC2TIMESPEC(lev->period[p], temp);
371,7 → 372,7
proc_table[p].avail_time = proc_table[p].wcet;
 
jet_update_endcycle(); /* Update the Jet data... */
trc_logevent(TRC_ENDCYCLE,&p); /* tracer stuff */
TRACER_LOGEVENT(FTrace_EVT_task_end_cycle,3,p,l);
 
break;
 
390,7 → 391,7
if (proc_table[p].status == EDF_IDLE)
proc_table[p].status = EDF_WAIT;
 
trc_logevent(TRC_DISABLE,&p);
TRACER_LOGEVENT(FTrace_EVT_task_disable,3,p,l);
 
break;
 
/shark/trunk/kernel/modules/posix.c
20,11 → 20,11
 
/**
------------
CVS : $Id: posix.c,v 1.5 2003-10-07 09:25:33 giacomo Exp $
CVS : $Id: posix.c,v 1.6 2003-12-10 16:55:00 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.5 $
Last update: $Date: 2003-10-07 09:25:33 $
Revision: $Revision: 1.6 $
Last update: $Date: 2003-12-10 16:55:00 $
------------
 
This file contains the scheduling module compatible with POSIX
63,8 → 63,9
#include <kernel/descr.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
 
#include <tracer.h>
 
/*+ Status used in the level +*/
#define POSIX_READY MODULE_STATUS_BASE
 
264,7 → 265,7
proc_table[p].status = SLEEP;
 
jet_update_endcycle(); /* Update the Jet data... */
trc_logevent(TRC_ENDCYCLE,&exec_shadow); /* tracer stuff */
TRACER_LOGEVENT(FTrace_EVT_task_end_cycle,3,p,l);
 
return 0;
}
/shark/trunk/kernel/modules/hardcbs.c
45,8 → 45,9
#include <kernel/descr.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
 
#include <tracer.h>
 
/*+ Status used in the level +*/
#define HCBS_IDLE APER_STATUS_BASE /*+ waiting the activation +*/
#define HCBS_ZOMBIE APER_STATUS_BASE+1 /*+ waiting the period end +*/
190,7 → 191,7
}
/* tracer stuff */
trc_logevent(TRC_INTACTIVATION,&p);
TRACER_LOGEVENT(FTrace_EVT_task_timer,3,p,proc_table[p].task_level);
 
}
 
449,7 → 450,7
}
 
jet_update_endcycle(); /* Update the Jet data... */
trc_logevent(TRC_ENDCYCLE,&p); /* tracer stuff */
TRACER_LOGEVENT(FTrace_EVT_task_end_cycle,3,p,l);
 
break;
 
456,7 → 457,7
case 1:
 
lev->flag[p] |= HCBS_SLEEP;
trc_logevent(TRC_DISABLE,&p);
TRACER_LOGEVENT(FTrace_EVT_task_disable,3,p,l);
 
break;
 
/shark/trunk/kernel/modules/cbs.c
20,11 → 20,11
 
/**
------------
CVS : $Id: cbs.c,v 1.7 2003-07-24 12:24:51 giacomo Exp $
CVS : $Id: cbs.c,v 1.8 2003-12-10 16:54:59 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.7 $
Last update: $Date: 2003-07-24 12:24:51 $
Revision: $Revision: 1.8 $
Last update: $Date: 2003-12-10 16:54:59 $
------------
 
This file contains the aperiodic server CBS (Total Bandwidth Server)
60,8 → 60,9
#include <kernel/descr.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
 
#include <tracer.h>
 
/*+ 4 debug purposes +*/
#undef CBS_TEST
#undef CBS_COUNTER
239,7 → 240,7
if (p==5) cbs_counter2++;
#endif
/* tracer stuff */
trc_logevent(TRC_INTACTIVATION,&p);
TRACER_LOGEVENT(FTrace_EVT_task_timer,3,p,proc_table[p].task_level);
 
}
 
492,7 → 493,7
}
 
jet_update_endcycle(); /* Update the Jet data... */
trc_logevent(TRC_ENDCYCLE,&p); /* tracer stuff */
TRACER_LOGEVENT(FTrace_EVT_task_end_cycle,3,p,l);
 
break;
 
499,7 → 500,7
case 1:
 
lev->flag[p] |= CBS_SLEEP;
trc_logevent(TRC_DISABLE,&p);
TRACER_LOGEVENT(FTrace_EVT_task_disable,3,p,l);
 
break;
 
/shark/trunk/kernel/modules/rrsoft.c
20,11 → 20,11
 
/**
------------
CVS : $Id: rrsoft.c,v 1.5 2003-05-01 19:39:35 pj Exp $
CVS : $Id: rrsoft.c,v 1.6 2003-12-10 16:55:01 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.5 $
Last update: $Date: 2003-05-01 19:39:35 $
Revision: $Revision: 1.6 $
Last update: $Date: 2003-12-10 16:55:01 $
------------
 
This file contains the scheduling module RRSOFT (Round Robin)
60,8 → 60,9
#include <kernel/descr.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
 
#include <tracer.h>
 
/*+ Status used in the level +*/
#define RRSOFT_READY MODULE_STATUS_BASE
#define RRSOFT_IDLE MODULE_STATUS_BASE+2
121,8 → 122,6
lev->reactivation_timer[p] = kern_event_post(&lev->reactivation_time[p],
RRSOFT_timer_reactivate,
(void *)p);
/* tracer stuff */
// trc_logevent(TRC_INTACTIVATION,&p);
}
 
/* This is not efficient but very fair :-)
324,7 → 323,7
proc_table[p].status = RRSOFT_IDLE;
 
jet_update_endcycle(); /* Update the Jet data... */
trc_logevent(TRC_ENDCYCLE,&exec_shadow); /* tracer stuff */
TRACER_LOGEVENT(FTrace_EVT_task_end_cycle,3,p,l);
return 0;
}
/shark/trunk/kernel/modules/ss.c
20,11 → 20,11
 
/**
------------
CVS : $Id: ss.c,v 1.4 2003-01-07 17:07:51 pj Exp $
CVS : $Id: ss.c,v 1.5 2003-12-10 16:55:01 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.4 $
Last update: $Date: 2003-01-07 17:07:51 $
Revision: $Revision: 1.5 $
Last update: $Date: 2003-12-10 16:55:01 $
------------
 
This file contains the aperiodic Sporadic Server (SS).
125,8 → 125,9
#include <kernel/descr.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
 
#include <tracer.h>
 
/* For debugging purpose */
//#define DEBUG 1
 
884,7 → 885,7
}
 
jet_update_endcycle(); /* Update the Jet data... */
trc_logevent(TRC_ENDCYCLE,&exec_shadow); /* tracer stuff */
TRACER_LOGEVENT(FTrace_EVT_task_end_cycle,3,p,l);
 
return 0;
}
/shark/trunk/kernel/modules/tbs.c
20,11 → 20,11
 
/**
------------
CVS : $Id: tbs.c,v 1.4 2003-01-07 17:07:51 pj Exp $
CVS : $Id: tbs.c,v 1.5 2003-12-10 16:55:01 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.4 $
Last update: $Date: 2003-01-07 17:07:51 $
Revision: $Revision: 1.5 $
Last update: $Date: 2003-12-10 16:55:01 $
------------
 
This file contains the aperiodic server TBS (Total Bandwidth Server)
60,8 → 60,9
#include <kernel/descr.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
 
#include <tracer.h>
 
/*+ 4 debug purposes +*/
#undef TBS_TEST
 
328,7 → 329,7
TBS_activation(lev);
 
jet_update_endcycle(); /* Update the Jet data... */
trc_logevent(TRC_ENDCYCLE,&exec_shadow); /* tracer stuff */
TRACER_LOGEVENT(FTrace_EVT_task_end_cycle,3,p,l);
 
return 0;
}
/shark/trunk/kernel/modules/rr2.c
20,11 → 20,11
 
/**
------------
CVS : $Id: rr2.c,v 1.4 2003-01-07 17:07:50 pj Exp $
CVS : $Id: rr2.c,v 1.5 2003-12-10 16:55:01 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.4 $
Last update: $Date: 2003-01-07 17:07:50 $
Revision: $Revision: 1.5 $
Last update: $Date: 2003-12-10 16:55:01 $
------------
 
This file contains the scheduling module RR2 (Round Robin) version 2
60,8 → 60,9
#include <kernel/descr.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
 
#include <tracer.h>
 
/*+ Status used in the level +*/
#define RR2_READY MODULE_STATUS_BASE
 
221,7 → 222,7
proc_table[p].status = SLEEP;
 
jet_update_endcycle(); /* Update the Jet data... */
trc_logevent(TRC_ENDCYCLE,&exec_shadow); /* tracer stuff */
TRACER_LOGEVENT(FTrace_EVT_task_end_cycle,3,p,l);
 
return 0;
}
/shark/trunk/kernel/modules/ds.c
20,11 → 20,11
 
/**
------------
CVS : $Id: ds.c,v 1.4 2003-01-07 17:07:50 pj Exp $
CVS : $Id: ds.c,v 1.5 2003-12-10 16:54:59 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.4 $
Last update: $Date: 2003-01-07 17:07:50 $
Revision: $Revision: 1.5 $
Last update: $Date: 2003-12-10 16:54:59 $
------------
 
This file contains the aperiodic server DS (Deferrable Server)
64,8 → 64,9
#include <kernel/descr.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
 
#include <tracer.h>
 
/*+ Status used in the level +*/
#define DS_WAIT APER_STATUS_BASE /*+ waiting the service +*/
 
365,7 → 366,7
DS_activation(lev);
 
jet_update_endcycle(); /* Update the Jet data... */
trc_logevent(TRC_ENDCYCLE,&exec_shadow); /* tracer stuff */
TRACER_LOGEVENT(FTrace_EVT_task_end_cycle,3,p,l);
 
return 0;
}
/shark/trunk/kernel/modules/rm.c
20,11 → 20,11
 
/**
------------
CVS : $Id: rm.c,v 1.5 2003-05-05 07:31:44 pj Exp $
CVS : $Id: rm.c,v 1.6 2003-12-10 16:55:00 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.5 $
Last update: $Date: 2003-05-05 07:31:44 $
Revision: $Revision: 1.6 $
Last update: $Date: 2003-12-10 16:55:00 $
------------
 
This file contains the scheduling module RM (Rate Monotonic)
67,8 → 67,9
#include <kernel/descr.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
 
#include <tracer.h>
 
/*+ Status used in the level +*/
#define RM_READY MODULE_STATUS_BASE /*+ - Ready status +*/
#define RM_WCET_VIOLATED MODULE_STATUS_BASE+2 /*+ when wcet is finished +*/
121,7 → 122,7
 
case RM_IDLE:
/* tracer stuff */
trc_logevent(TRC_INTACTIVATION,&p);
TRACER_LOGEVENT(FTrace_EVT_task_timer,3,p,proc_table[p].task_level);
/* similar to RM_task_activate */
temp = iq_query_timespec(p, &lev->ready);
ADDUSEC2TIMESPEC(lev->period[p], temp);
335,8 → 336,8
proc_table[p].avail_time = proc_table[p].wcet;
 
jet_update_endcycle(); /* Update the Jet data... */
trc_logevent(TRC_ENDCYCLE,&exec_shadow); /* tracer stuff */
 
TRACER_LOGEVENT(FTrace_EVT_task_end_cycle,3,p,l);
/* when the deadline timer fire, it recognize the situation and set
correctly all the stuffs (like reactivation, sleep, etc... ) */
 
/shark/trunk/kernel/modules/ps.c
20,11 → 20,11
 
/**
------------
CVS : $Id: ps.c,v 1.4 2003-01-07 17:07:50 pj Exp $
CVS : $Id: ps.c,v 1.5 2003-12-10 16:55:00 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.4 $
Last update: $Date: 2003-01-07 17:07:50 $
Revision: $Revision: 1.5 $
Last update: $Date: 2003-12-10 16:55:00 $
------------
 
This file contains the aperiodic server PS (Polling Server)
103,8 → 103,9
#include <kernel/descr.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
 
#include <tracer.h>
 
/*+ Status used in the level +*/
#define PS_WAIT APER_STATUS_BASE /*+ waiting the service +*/
 
407,7 → 408,7
PS_activation(lev);
 
jet_update_endcycle(); /* Update the Jet data... */
trc_logevent(TRC_ENDCYCLE,&exec_shadow); /* tracer stuff */
TRACER_LOGEVENT(FTrace_EVT_task_end_cycle,3,p,l);
 
return 0;
}
/shark/trunk/kernel/modules/rr.c
20,11 → 20,11
 
/**
------------
CVS : $Id: rr.c,v 1.5 2003-04-28 11:52:05 giacomo Exp $
CVS : $Id: rr.c,v 1.6 2003-12-10 16:55:00 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.5 $
Last update: $Date: 2003-04-28 11:52:05 $
Revision: $Revision: 1.6 $
Last update: $Date: 2003-12-10 16:55:00 $
------------
 
This file contains the scheduling module RR (Round Robin)
60,8 → 60,9
#include <kernel/descr.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
 
#include <tracer.h>
 
//#define RRDEBUG
 
#define rr_printf kern_printf
245,7 → 246,7
proc_table[p].status = SLEEP;
 
jet_update_endcycle(); /* Update the Jet data... */
trc_logevent(TRC_ENDCYCLE,&exec_shadow); /* tracer stuff */
TRACER_LOGEVENT(FTrace_EVT_task_end_cycle,3,p,l); /* tracer stuff */
 
#ifdef RRDEBUG
rr_printf("(msg%d)",p);
/shark/trunk/kernel/modules/sem.c
20,11 → 20,11
 
/**
------------
CVS : $Id: sem.c,v 1.5 2003-11-06 09:42:23 giacomo Exp $
CVS : $Id: sem.c,v 1.6 2003-12-10 16:55:01 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.5 $
Last update: $Date: 2003-11-06 09:42:23 $
Revision: $Revision: 1.6 $
Last update: $Date: 2003-12-10 16:55:01 $
------------
 
This file contains the Hartik 3.3.1 Semaphore functions
69,10 → 69,10
#include <kernel/descr.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
#include <limits.h>
#include <fcntl.h>
 
#include <tracer.h>
 
/* Semaphores descriptor tables */
static struct sem_des {
360,7 → 360,7
LEVEL l; /* for readableness only */
 
/* tracer stuff */
trc_logevent(TRC_SEM_WAIT,s);
TRACER_LOGEVENT(FTrace_EVT_set_mutex_wait,3,*s,exec_shadow);
 
kern_epilogue_macro();
 
388,7 → 388,7
else {
s1->count--;
/* tracer stuff */
trc_logevent(TRC_SEM_WAIT,s);
TRACER_LOGEVENT(FTrace_EVT_set_mutex_wait,3,*s,exec_shadow);
kern_context_load(proc_table[exec_shadow].context);
}
 
412,9 → 412,6
 
s1 = &sem_table[*s];
 
/* tracer stuff */
//trc_logevent(TRC_SEM_WAITNB,s);
 
if (s1->blocked.first != NIL || s1->count == 0) {
errno = EAGAIN;
kern_frestore(f);
452,9 → 449,6
/* The non blocking wait is really simple! */
/* We do not suspend or schedule anything */
if (wait == NON_BLOCK) {
/* tracer */
//trc_logevent(TRC_SEM_WAITNB,s);
 
if (s1->blocked.first != NIL || s1->count < n) {
errno = EAGAIN;
kern_sti();
476,7 → 470,7
LEVEL l; /* for readableness only */
 
/* tracer */
trc_logevent(TRC_SEM_WAIT,s);
TRACER_LOGEVENT(FTrace_EVT_set_mutex_wait,3,*s,exec_shadow);
kern_epilogue_macro();
504,8 → 498,8
else {
s1->count -= n;
/* tracer */
trc_logevent(TRC_SEM_WAIT,s);
kern_context_load(proc_table[exec_shadow].context);
TRACER_LOGEVENT(FTrace_EVT_set_mutex_wait,3,*s,exec_shadow);
kern_context_load(proc_table[exec_shadow].context);
}
}
 
551,7 → 545,7
}
/* tracer */
trc_logevent(TRC_SEM_SIGNAL,s);
TRACER_LOGEVENT(FTrace_EVT_set_mutex_lock,1,*s,exec_shadow);
kern_frestore(f);
}
else {
576,7 → 570,7
}
/* tracer */
trc_logevent(TRC_SEM_SIGNAL,s);
TRACER_LOGEVENT(FTrace_EVT_set_mutex_lock,3,*s,exec_shadow);
kern_context_load(proc_table[exec_shadow].context);
}
626,7 → 620,7
}
/* tracer */
trc_logevent(TRC_SEM_SIGNAL,s);
TRACER_LOGEVENT(FTrace_EVT_set_mutex_lock,3,*s,exec_shadow);
/* Preempt if necessary */
if (fl) event_need_reschedule();
656,7 → 650,7
}
/* tracer */
trc_logevent(TRC_SEM_SIGNAL,s);
TRACER_LOGEVENT(FTrace_EVT_set_mutex_lock,3,*s,exec_shadow);
/* Preempt if necessary */
if (fl) scheduler();
/shark/trunk/kernel/modules/makefile
9,6 → 9,7
LIBRARY = mod
 
OBJS_PATH = $(BASE)/kernel/modules
INCL += -I$(BASE)/tracer/include
 
#
# Object files
41,14 → 42,7
bd_edf.o \
bd_pscan.o
 
TRC_OBJ = trace.o \
trcdummy.o \
trcfixed.o \
trccirc.o \
trcdfix.o \
trcudp.o
OBJS = $(SCHED_OBJ) $(APER_OBJ) $(RES_OBJ)
 
OBJS = $(SCHED_OBJ) $(APER_OBJ) $(RES_OBJ) $(TRC_OBJ)
 
include $(BASE)/config/lib.mk
 
/shark/trunk/kernel/kill.c
18,11 → 18,11
 
/**
------------
CVS : $Id: kill.c,v 1.6 2003-11-13 08:57:21 giacomo Exp $
CVS : $Id: kill.c,v 1.7 2003-12-10 16:54:59 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.6 $
Last update: $Date: 2003-11-13 08:57:21 $
Revision: $Revision: 1.7 $
Last update: $Date: 2003-12-10 16:54:59 $
------------
 
This file contains:
66,8 → 66,9
#include <errno.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
 
#include <tracer.h>
 
/*+ this structure contains the functions to be called to test if a
task is blocked on a cancellation point +*/
static struct {
168,7 → 169,7
kern_context_delete(proc_table[i].context);
/* tracer stuff */
trc_logevent(TRC_DESTROY,&i);
TRACER_LOGEVENT(FTrace_EVT_task_end,1,i,0);
//kern_printf("[k%i]",i);
/* Free the used stack area */
/shark/trunk/kernel/kern.c
18,11 → 18,11
 
/**
------------
CVS : $Id: kern.c,v 1.5 2003-05-01 19:40:53 pj Exp $
CVS : $Id: kern.c,v 1.6 2003-12-10 16:54:59 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.5 $
Last update: $Date: 2003-05-01 19:40:53 $
Revision: $Revision: 1.6 $
Last update: $Date: 2003-12-10 16:54:59 $
------------
 
This file contains:
71,8 → 71,9
#include <errno.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
 
#include <tracer.h>
 
/*----------------------------------------------------------------------*/
/* Kernel System variables */
/*----------------------------------------------------------------------*/
279,9 → 280,6
 
// kern_printf("]");
 
/* tracer stuff */
//trc_logevent(exec,TRC_SCHEDULE,NULL,0);
 
/* we follow the shadow chain */
old_exec_shadow=exec_shadow;
exec_shadow = exec = p;
289,9 → 287,8
exec_shadow = proc_table[exec_shadow].shadow;
 
/* tracer stuff */
//trc_logevent(exec_shadow,TRC_DISPATCH,NULL,0);
if (old_exec_shadow!=exec_shadow)
trc_logevent(TRC_SCHEDULE,&exec_shadow);
TRACER_LOGEVENT(FTrace_EVT_task_schedule,1,exec_shadow,0);
// kern_printf("[%i->%i]",old_exec_shadow,exec_shadow);
 
/* we control the correctness of the shadows when we kill */
374,8 → 371,6
/* Kernel main system functions */
/*----------------------------------------------------------------------*/
 
extern int trc_systemevents(trc_event_t *evt, int event, void *ptr);
 
/*+
This function initialize
- the virtual machine (timer, interrupt, mem)
485,13 → 480,6
 
sys_tick = __kernel_register_levels__(multiboot);
 
/* tracer stuff */
/*
trc_register_eventclass(TRC_CLASS_SYSTEM,
TRC_SYSTEMNUMBER,
trc_systemevents);
*/
/* test on system tick */
if (sys_tick>=55000) {
printk("The system tick must be less than 55 mSec!");
538,7 → 526,9
// sys_atexit((void(*)(void *))C8042_restore,NULL,AFTER_EXIT);
 
/* tracer stuff */
trc_resume();
#ifdef __OLD_TRACER__
trc_resume();
#endif
/* exec and exec_shadow are already = -1 */
kern_gettime(&schedule_time);
565,7 → 555,9
 
// ll_abort(666);
/* tracer stuff */
trc_suspend();
#ifdef __OLD_TRACER__
trc_suspend();
#endif
 
runlevel = RUNLEVEL_SHUTDOWN;
/shark/trunk/kernel/grpcreat.c
18,11 → 18,11
 
/**
------------
CVS : $Id: grpcreat.c,v 1.4 2003-11-05 15:05:11 giacomo Exp $
CVS : $Id: grpcreat.c,v 1.5 2003-12-10 16:54:58 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.4 $
Last update: $Date: 2003-11-05 15:05:11 $
Revision: $Revision: 1.5 $
Last update: $Date: 2003-12-10 16:54:58 $
------------
 
This file contains:
64,7 → 64,8
#include <errno.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
//#include <kernel/trace.h>
#include <tracer.h>
 
static DWORD unique_task_ID = 0;
 
302,7 → 303,8
proc_table[i].context = c;
 
/* Tracer stuff */
trc_logevent(TRC_CREATE,&i);
TRACER_LOGEVENT(FTrace_EVT_task_create,3,i,(int)c);
 
//kern_printf("[c%i %i]",i,proc_table[i].context);
/* Count the task if it is an Application or System Task... */
/shark/trunk/kernel/tskmsg.c
18,11 → 18,11
 
/**
------------
CVS : $Id: tskmsg.c,v 1.2 2003-07-22 11:56:06 giacomo Exp $
CVS : $Id: tskmsg.c,v 1.3 2003-12-10 16:54:59 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.2 $
Last update: $Date: 2003-07-22 11:56:06 $
Revision: $Revision: 1.3 $
Last update: $Date: 2003-12-10 16:54:59 $
------------
 
**/
60,9 → 60,10
#include <errno.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
 
#include <tracer.h>
 
 
/*
The running task (pointed by exec_shadow) sent a message m to the
scheduling module that handle the task p.
/shark/trunk/kernel/signal.c
18,11 → 18,11
 
/**
------------
CVS : $Id: signal.c,v 1.7 2003-12-02 15:56:37 giacomo Exp $
CVS : $Id: signal.c,v 1.8 2003-12-10 16:54:59 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.7 $
Last update: $Date: 2003-12-02 15:56:37 $
Revision: $Revision: 1.8 $
Last update: $Date: 2003-12-10 16:54:59 $
------------
 
This file contains:
83,8 → 83,9
#include <kernel/descr.h>
#include <kernel/var.h>
#include <kernel/func.h>
#include <kernel/trace.h>
 
#include <tracer.h>
 
/* look at nanoslp.c */
int nanosleep_interrupted_by_signal(PID i);
 
1399,7 → 1400,7
PID p;
 
/* tracer stuff */
trc_logevent(TRC_INTR,&no);
TRACER_LOGEVENT(FTrace_EVT_interrupt_start,1,no,0);
if (int_table[no].fast != NULL) {
kern_sti();
1407,6 → 1408,8
kern_cli();
}
 
TRACER_LOGEVENT(FTrace_EVT_interrupt_end,1,no,0);
 
/* If a sporadic process is linked,activate it */
p = int_table[no].proc_index;
task_activate(p); // no problem if p == nil
/shark/trunk/kernel/makefile
9,6 → 9,7
LIBRARY = gkern
 
OBJS_PATH = $(BASE)/kernel
INCL += -I$(BASE)/tracer/include
 
# Object files
 
39,7 → 40,6
signal.o \
time.o \
tpreempt.o \
trace.o \
tskmsg.o
 
include $(BASE)/config/lib.mk
/shark/trunk/config/libdep.mk
169,6 → 169,12
LIB_DEP += $(LIB_PATH)/libmp3.a
endif
 
# tracer
ifeq ($(LIB_PATH)/libtracer.a,$(wildcard $(LIB_PATH)/libtracer.a))
LINK_LIB += -ltracer
LIB_DEP += $(LIB_PATH)/libtracer.a
endif
 
# 6025e
# ----------------------------------------------------------------
ifeq ($(findstring __6025E__,$(USELIB)) , __6025E__)
/shark/trunk/config/mk/gnu.mk
7,12 → 7,19
AR = ar
 
ifeq ($(TSC),TRUE)
CFG_OPT = -D__TSC__
CFG_OPT += -D__TSC__
ifeq ($(APIC),TRUE)
CFG_OPT += -D__APIC__
endif
endif
 
ifeq ($(findstring NEW,$(TRACER)) , NEW)
CFG_OPT += -D__NEW_TRACER__
endif
ifeq ($(findstring OLD,$(TRACER)) , OLD)
CFG_OPT += -D__OLD_TRACER__
endif
 
INCL = $(BASE)/include
LIB_PATH = $(BASE)/lib
OSLIB = $(BASE)/oslib
/shark/trunk/config/mk/linux.mk
17,12 → 17,19
LIBRARYOBJS= $(LIB_OBJS)
 
ifeq ($(TSC),TRUE)
CFG_OPT = -D__TSC__
CFG_OPT += -D__TSC__
ifeq ($(APIC),TRUE)
CFG_OPT += -D__APIC__
endif
endif
 
ifeq ($(findstring NEW,$(TRACER)) , NEW)
CFG_OPT += -D__NEW_TRACER__
endif
ifeq ($(findstring OLD,$(TRACER)) , OLD)
CFG_OPT += -D__OLD_TRACER__
endif
 
C_WARN = -Wimplicit-function-declaration -Wall
C_FLAGS = -O -fno-builtin -nostdinc
C_INC = -I$(INCL) $(OTHERINCL) -I$(OSLIB)
/shark/trunk/oslib/kl/event.c
44,6 → 44,9
#include <ll/sys/ll/time.h>
#include <ll/sys/ll/event.h>
 
#include <tracer.h>
extern unsigned short int currCtx;
 
FILE(Event);
 
extern LL_ARCH ll_arch;
97,6 → 100,8
struct event *p;
struct event *p1, *t;
 
TRACER_LOGEVENT(FTrace_EVT_timer_post, 0, 0, 0);
 
if (!freeevents) {
message("NO FREE EVENTS !\n");
ll_abort(20);
142,6 → 147,8
{
struct event *p1, *t;
 
TRACER_LOGEVENT(FTrace_EVT_timer_delete, 0, 0, 0);
 
t = NULL;
/* walk through list, finding spot, adjusting ticks parameter */
for (p1 = firstevent; (p1) && (index != p1->index); p1 = t->next) {
170,6 → 177,8
WORD tmp;
#endif
 
TRACER_LOGEVENT(FTrace_EVT_timer_wakeup_start, 0, 0, 0);
 
#ifndef __TSC__
tmp = pit_read(frc);
ADDPITSPEC((WORD) (lastTime - tmp), &globalCounter);
209,6 → 218,9
evt_epil();
}
activeInt--;
 
TRACER_LOGEVENT(FTrace_EVT_timer_wakeup_end, 1, (int)currCtx, 0);
 
}
 
void event_init(struct ll_initparms *l)
/shark/trunk/oslib/kl/event1.c
41,6 → 41,9
#include <ll/sys/ll/time.h>
#include <ll/sys/ll/event.h>
 
#include <tracer.h>
extern unsigned short int currCtx;
 
FILE(EventOneShot);
 
extern int activeInt;
70,6 → 73,8
int done;
DWORD tnext;
 
TRACER_LOGEVENT(FTrace_EVT_timer_post, 0, 0, 0);
 
if (!freeevents) {
message("NO FREE EVENTS !\n");
ll_abort(20);
138,6 → 143,8
#endif
DWORD tnext;
 
TRACER_LOGEVENT(FTrace_EVT_timer_wakeup_start, 0, 0, 0);
 
#ifndef __TSC__
tmp = pit_read(frc);
217,6 → 224,8
#endif
}
 
TRACER_LOGEVENT(FTrace_EVT_timer_wakeup_end, 1, (int)currCtx, 0);
 
}
 
int oneshot_event_delete(int index)
226,6 → 235,8
DWORD tnext;
int firstdeleted = FALSE;
 
TRACER_LOGEVENT(FTrace_EVT_timer_delete, 0, 0, 0);
 
t = NULL;
/* walk through list, finding spot, adjusting ticks parameter */
 
/shark/trunk/oslib/kl/makefile
14,6 → 14,7
 
C_OPT += -D__VIRCSW__
ASM_OPT += -D__VIRCSW__
INCL += -I$(BASE)/../tracer/include
 
#C_OPT += -DPROFILE
#ASM_OPT += -DPROFILE
/shark/trunk/oslib/mk/gnu.mk
29,6 → 29,13
endif
endif
 
ifeq ($(findstring NEW,$(TRACER)) , NEW)
CFG_OPT += -D__NEW_TRACER__
endif
ifeq ($(findstring OLD,$(TRACER)) , OLD)
CFG_OPT += -D__OLD_TRACER__
endif
 
C_OPT = -Wall -O -fno-builtin -nostdinc $(CFG_OPT) -D__GNU__ -I$(INCL) -DMAIN=__kernel_init__
ASM_OPT = -x assembler-with-cpp $(CFG_OPT) -D__GNU__ -I$(INCL)
LINK_OPT = -T $(BASE)/mk/os.x -Bstatic -Ttext 0x320000 -oformat coff-go32 -s -nostartfiles -nostdlib -L$(LIB_PATH)
/shark/trunk/oslib/mk/linux.mk
9,7 → 9,7
LIB_DIR = $(BASE)/lib
 
ifeq ($(TSC),TRUE)
CFG_OPT = -D__TSC__
CFG_OPT += -D__TSC__
ifeq ($(APIC),TRUE)
CFG_OPT += -D__APIC__
endif
29,6 → 29,13
endif
endif
 
ifeq ($(findstring NEW,$(TRACER)) , NEW)
CFG_OPT += -D__NEW_TRACER__
endif
ifeq ($(findstring OLD,$(TRACER)) , OLD)
CFG_OPT += -D__OLD_TRACER__
endif
 
C_OPT = -Wall -O -fno-builtin -nostdinc -D__LINUX__ $(CFG_OPT) -DMAIN=__kernel_init__ -I$(INCL)
ASM_OPT = -x assembler-with-cpp -D__LINUX__ $(CFG_OPT) -I$(INCL)
LINK_OPT = -Bstatic -Ttext 0x220000 -s -nostartfiles -nostdlib -L$(LIB_PATH)
/shark/trunk/oslib/xlib/ctxsw.c
25,6 → 25,8
#include <ll/i386/hw-func.h>
#include <ll/i386/tss-ctx.h>
 
#include <tracer.h>
 
FILE(Context-Switch);
 
extern unsigned short int currCtx;
39,6 → 41,7
#ifdef __VIRCSW__
currCtx = c;
if (activeInt == 0) {
TRACER_LOGEVENT(FTrace_EVT_context_switch, 1, (int)c, 0);
context_load(c);
}
#else
63,5 → 66,6
void ll_context_load(CONTEXT c)
{
currCtx = c;
TRACER_LOGEVENT(FTrace_EVT_context_switch, 1, (int)c, 0);
context_load(c);
}
/shark/trunk/oslib/xlib/makefile
10,6 → 10,7
 
C_OPT += -D__VIRCSW__
ASM_OPT += -D__VIRCSW__
INCL += -I$(BASE)/../tracer/include
 
#C_OPT += -DPROFILE
#ASM_OPT += -DPROFILE