X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Flbalance%2Ftools%2Flbalance.c;h=e783adfa124aa1559ef9f4dfe27a98065ef77c34;hb=a8722345053b7cd860499aa31fd6bb414c120cc8;hp=228c947fe7d921de7a7d4663e669a0f771051879;hpb=f69389e6806e2f0b63084576ffa4c84bba699147;p=ccan diff --git a/ccan/lbalance/tools/lbalance.c b/ccan/lbalance/tools/lbalance.c index 228c947f..e783adfa 100644 --- a/ccan/lbalance/tools/lbalance.c +++ b/ccan/lbalance/tools/lbalance.c @@ -1,21 +1,27 @@ #include #include #include -#include +#include #include #include +#include +#include +#include +#include -/* Defines struct jmap_task. */ -JMAP_DEFINE_UINTIDX_TYPE(struct lbalance_task, task); +struct jmap_task { + JMAP_MEMBERS(unsigned int, struct lbalance_task *); +}; /* Figure out how many loops we need to run for about 1 second. */ static unsigned long burn_count; static void calibrate_burn_cpu(void) { - struct timeval start = time_now(); + struct timeabs start = time_now(); - while (time_less(time_now(), time_add(start, time_from_msec(1000)))) + while (time_before(time_now(), + timeabs_add(start, time_from_msec(1000)))) burn_count++; printf("Burn count = %lu\n", burn_count); } @@ -23,12 +29,12 @@ static void calibrate_burn_cpu(void) static void burn_cpu(void) { unsigned int i, after = 0; - struct timeval start = time_now(); + struct timeabs start = time_now(); /* We do a loop similar to the calibrate_burn_cpu loop. */ for (i = 0; i < burn_count; i++) { - after += time_less(time_now(), - time_add(start, time_from_msec(1000))); + after += time_before(time_now(), + timeabs_add(start, time_from_msec(1000))); } /* We use the result so the compiler can't discard it. */ exit(after); @@ -51,9 +57,9 @@ static pid_t spawn(char *args[]) int main(int argc, char *argv[]) { - unsigned int i, num, fixed_target = 0, num_done = 0, num_running = 0; + unsigned int num, fixed_target = 0, num_done = 0, num_running = 0; struct lbalance *lb; - struct jmap_task *tasks = jmap_task_new(); + struct jmap_task *tasks = jmap_new(struct jmap_task); if (argc < 2) { fprintf(stderr, @@ -80,7 +86,7 @@ int main(int argc, char *argv[]) calibrate_burn_cpu(); while (num_done < num) { - unsigned int j, target = fixed_target; + unsigned int target = fixed_target; struct lbalance_task *task; struct rusage ru; pid_t pid; @@ -96,14 +102,14 @@ int main(int argc, char *argv[]) task = lbalance_task_new(lb); else task = (void *)1; - jmap_task_add(tasks, pid, task); + jmap_add(tasks, pid, task); num_running++; printf("+"); fflush(stdout); } /* Now wait for something to die! */ pid = wait3(NULL, 0, &ru); - task = jmap_task_get(tasks, pid); + task = jmap_get(tasks, pid); if (lb) lbalance_task_free(task, &ru); num_done++;