/shark/trunk/ports/first/fsf_include/fsf_basic_types.h |
---|
128,11 → 128,18 |
// EDF: struct timespec (deadline) |
// TABLE_DRIVEN : struct fsf_table_driven_params_t |
struct fsf_target_window { |
struct timespec start; |
struct timespec end; |
struct timespec comp_time; |
}; |
//Scheduling parameters for the table-driven policy (t.b.d) |
typedef struct { |
// list of target windows (t.b.d.) |
// deadline (for the API): end of september |
int size; |
struct fsf_target_window table[FSF_MAX_N_TARGET_WINDOWS]; |
} fsf_table_driven_params_t; |
/shark/trunk/ports/first/fsf_include/fsf_configuration_parameters.h |
---|
32,7 → 32,7 |
// Maximum number of accepted contracts (servers) |
#define FSF_MAX_N_SERVERS 10 |
#define FSF_MAX_N_SERVERS 15 |
// Maximum number of threads that may be scheduled by the framework |
62,6 → 62,10 |
#define FSF_MAX_N_SHARED_OBJECTS 100 |
// Define the max number of target windows in the table driven scheduling |
#define FSF_MAX_N_TARGET_WINDOWS 100 |
//////////////////////////////////////////// |
// Other implementation dependent parameters |
172,6 → 176,7 |
int |
fsf_priority_map (unsigned long plevel); |
//????? |
// This symbol specifies whether the scheduling system will make |
// traces of the servers, the scheduler and the service thread |
// operation and make them available through the fsf_print_traces |
178,6 → 183,6 |
// function |
#define FSF_TRACING_SERVICE_IS_ENABLED true |
//????? |
#endif /* _FSF_CONFIGURATION_PARAMETERS_H_ */ |
/shark/trunk/ports/first/include/message.h |
---|
57,7 → 57,10 |
typedef struct mess { |
message_type type; |
message_type type; |
PID process; |
int sig_notify; |
union sigval sig_value; |
fsf_server_id_t server; |
union { |
fsf_contract_parameters_t contract; |
/shark/trunk/ports/first/server-task.c |
---|
34,7 → 34,7 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
* |
* |
* CVS : $Id: server-task.c,v 1.13 2004-12-09 10:27:08 trimarchi Exp $ |
* CVS : $Id: server-task.c,v 1.14 2004-12-17 13:19:42 trimarchi Exp $ |
*/ |
#include "ll/i386/64bit.h" |
55,11 → 55,7 |
struct mess msg; |
fsf_renegotiation_status_t status; |
int wait_renegotiation=0; |
/* |
struct timespec next_act; |
struct timespec period; |
struct timespec act_time; |
*/ |
PORT rec,tra; |
rec = port_connect("CHANW",sizeof(struct mess),STREAM,READ); |
78,10 → 74,7 |
wait_renegotiation=0; |
//kern_printf("(REN %d)", msg.server); |
port_send(tra,&msg,BLOCK); |
//kern_gettime(&act_time); |
//fsf_get_budget_and_period(service_server,NULL,&period); |
//ADDTIMESPEC(&act_time, &period, &next_act); |
//fsf_schedule_next_timed_job(&next_act,NULL,NULL,NULL,NULL); |
continue; |
} else |
#ifdef FSF_DEBUG |
166,15 → 159,9 |
break; |
} |
// send response server is -1 if the operation fail |
//kern_printf("(msg server %d)", msg.server); |
port_send(tra,&msg,BLOCK); |
//kern_gettime(&act_time); |
//fsf_get_budget_and_period(service_server,NULL,&period); |
//ADDTIMESPEC(&act_time, &period, &next_act); |
//fsf_schedule_next_timed_job(&next_act,NULL,NULL,NULL,NULL); |
//task_endcycle(); |
//kern_printf("(ES)"); |
} |
} |
} |
/shark/trunk/ports/first/makefile |
---|
13,7 → 13,7 |
FIRST = first-contract.o first-server.o first-sync.o server-task.o \ |
./modules/grubstar.o ./modules/posixstar.o \ |
./modules/edfstar.o ./modules/cbsstar.o ./modules/rmstar.o \ |
./modules/nonestar.o ./modules/pistar.o |
./modules/nonestar.o ./modules/pistar.o ./modules/tdstar.o |
OBJS = $(FIRST) |