From 483c7c963a1b6fd54c21f75434e22dfc88aac9ee Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Tue, 10 Jun 2014 15:52:25 +0930 Subject: [PATCH] lbalance: update tools for new time (and jmap!) Signed-off-by: Rusty Russell --- ccan/lbalance/tools/Makefile | 19 ++++++++++++------- ccan/lbalance/tools/lbalance.c | 32 +++++++++++++++++++------------- 2 files changed, 31 insertions(+), 20 deletions(-) diff --git a/ccan/lbalance/tools/Makefile b/ccan/lbalance/tools/Makefile index fce690c2..de7223e4 100644 --- a/ccan/lbalance/tools/Makefile +++ b/ccan/lbalance/tools/Makefile @@ -1,13 +1,18 @@ #! /usr/bin/make -MODULES=../../jmap.o ../../time.o +CCANDIR=../../.. -CFLAGS=-I../../.. -g #-O2 -LDFLAGS=-lJudy +CCAN_OBJS:=ccan-jmap.o ccan-time.o -lbalance: lbalance.c $(MODULES) +CFLAGS=-I$(CCANDIR) -Wall -g #-O2 +LDLIBS=-lJudy -$(MODULES): - make -C ../../.. $(patsubst ../../%.o, ccan/%.o, $@) EXCLUDE= +lbalance: lbalance.c $(CCAN_OBJS) clean: - rm -f lbalance $(MODULES) + rm -f lbalance $(CCAN_OBJS) + +ccan-jmap.o: $(CCANDIR)/ccan/jmap/jmap.c + $(CC) $(CFLAGS) -c -o $@ $< + +ccan-time.o: $(CCANDIR)/ccan/time/time.c + $(CC) $(CFLAGS) -c -o $@ $< 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++; -- 2.39.2