Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 842 → Rev 843

/shark/trunk/ports/first/first-server.c
180,6 → 180,9
server_list[i].d_equals_t = FALSE;
}
server_list[i].Qs = contract->quality;
server_list[i].Is = contract->importance;
 
#ifdef FSF_DEBUG
mul32div32to32(server_list[i].Umax,100, MAX_BANDWIDTH, temp);
kern_printf("(Umax %d)",temp);
203,7 → 206,7
}
 
server_list[i].server=server;
server_list[i].Qs=1;
// server_list[i].Qs=1;
contract_to_server(contract, i);
 
220,7 → 223,7
#endif
server_list[current_server].server=server;
server_list[current_server].Qs=1;
//server_list[current_server].Qs=1;
contract_to_server(contract,current_server);
250,6 → 253,7
server_list[i].Qs=server_list[i+1].Qs;
server_list[i].deadline = server_list[i+1].deadline;
server_list[i].d_equals_t = server_list[i+1].d_equals_t;
server_list[i].Is = server_list[i+1].Is;
 
i++;
}
582,6 → 586,7
int Qt;
int isok=0;
int i=0;
int target_importance=1;
#ifdef FSF_DEBUG
int temp;
599,9 → 604,13
current_bandwidth=0;
Qt=0;
for (i=0; i<current_server; i++) {
if (server_list[i].Qs!=0 && server_list[i].U<server_list[i].Umax)
if (server_list[i].Is==target_importance
&& server_list[i].U<server_list[i].Umax && server_list[i].Qs>0)
Qt+=server_list[i].Qs;
current_bandwidth+=server_list[i].U;
#ifdef FSF_DEBUG
kern_printf("(Qs %d, Qt %d, Is %d)", server_list[i].Qs, Qt,server_list[i].Is);
#endif
}
 
#ifdef FSF_DEBUG
609,7 → 618,7
#endif
isok=1;
for (i=0; i<current_server; i++) {
if (server_list[i].Qs!=0 && server_list[i].U<server_list[i].Umax) {
if (server_list[i].Is==target_importance && server_list[i].U<server_list[i].Umax && server_list[i].Qs>0) {
temp_U=server_list[i].U;
server_list[i].U=U-current_bandwidth;
mul32div32to32(server_list[i].U, server_list[i].Qs, Qt, server_list[i].U);
628,8 → 637,8
#endif
}
}
 
} while (!isok);
target_importance++;
} while (!isok && target_importance<6);
return 0;
}