Skip to content
Snippets Groups Projects
Commit 14f8e877 authored by Elizabeth Baker's avatar Elizabeth Baker
Browse files

Sub proc execution times rounded up.

Trying to fix procs remaining.
parent 90b2e89e
Branches
No related tags found
No related merge requests found
...@@ -174,6 +174,18 @@ int main(int argc, char *argv[]) { ...@@ -174,6 +174,18 @@ int main(int argc, char *argv[]) {
printf("Error in test file "); printf("Error in test file ");
exit(1); exit(1);
} }
// Log finished processes.
struct node * currNode = (struct node *) completedProcesses;
process * currProc = currNode->data;
while ( currNode ){
if ( currProc->timeCompleted >= currentTime ) {
printf("%d,FINISHED,pid=%s,proc_remaining=%d\n",
currProc->timeCompleted, currProc->processID, numProcessesLeft);
}
currNode = currNode->next;
if (currNode) currProc = currNode->data;
}
// Log started processes. // Log started processes.
for (int j = 0; j < numCPU; j++) { for (int j = 0; j < numCPU; j++) {
headProcess = headData(CPUs[j].processQueue); headProcess = headData(CPUs[j].processQueue);
...@@ -313,13 +325,13 @@ process *headData(llist *q) { ...@@ -313,13 +325,13 @@ process *headData(llist *q) {
} }
process *parallelParent(llist *q, char *parentPid) { process *parallelParent(llist *q, char *parentPid) {
struct node *head = *q; struct node *curr = *q;
process *p; process *p;
if (head) p = head->data; if (curr) p = curr->data;
while (head && !strncmp(p->processID, parentPid, strlen(parentPid))) { while (curr && !strncmp(p->processID, parentPid, strlen(parentPid))) {
head = head->next; curr = curr->next;
p = head->data; p = curr->data;
} }
return p; return p;
} }
...@@ -355,10 +367,8 @@ void advanceProcessQueue(llist *processQueue, int currentTime, int deltaTime, ll ...@@ -355,10 +367,8 @@ void advanceProcessQueue(llist *processQueue, int currentTime, int deltaTime, ll
paralizedProcess->timeRemaining = 0; paralizedProcess->timeRemaining = 0;
headProcess->timeRemaining = 0; headProcess->timeRemaining = 0;
//printf("process had finished: Current time: %d, deltaTime: %d\n", currentTime, deltaTime); //printf("process had finished: Current time: %d, deltaTime: %d\n", currentTime, deltaTime);
printf("%d,FINISHED,pid=%s,proc_remaining=%d\n", // // Could accumulate statistics here instead of keeping list of completed processes
paralizedProcess->timeCompleted, paralizedProcess->processID, *numProcessesLeft); // llist_push(processesComplete, paralizedProcess);
// Could accumulate statistics here instead of keeping list of completed processes
llist_push(processesComplete, paralizedProcess);
} }
llist_pop(processQueue); llist_pop(processQueue);
headProcess = headData(processQueue); headProcess = headData(processQueue);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment