lib: remove RUSAGE_T from struct thread
* thread.c: It's only temporarily used in thread_call() to calculate the
diffs. Saves 80 bytes per copy.
Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
diff --git a/lib/thread.c b/lib/thread.c
index dd0413b..784b29c 100644
--- a/lib/thread.c
+++ b/lib/thread.c
@@ -1146,7 +1146,7 @@
thread_should_yield (struct thread *thread)
{
quagga_get_relative (NULL);
- return (timeval_elapsed(relative_time, thread->ru.real) >
+ return (timeval_elapsed(relative_time, thread->real) >
THREAD_YIELD_TIME_SLOT);
}
@@ -1175,7 +1175,7 @@
thread_call (struct thread *thread)
{
unsigned long realtime, cputime;
- RUSAGE_T ru;
+ RUSAGE_T before, after;
/* Cache a pointer to the relevant cpu history thread, if the thread
* does not have it yet.
@@ -1194,13 +1194,14 @@
(void * (*) (void *))cpu_record_hash_alloc);
}
- GETRUSAGE (&thread->ru);
+ GETRUSAGE (&before);
+ thread->real = before.real;
(*thread->func) (thread);
- GETRUSAGE (&ru);
+ GETRUSAGE (&after);
- realtime = thread_consumed_time (&ru, &thread->ru, &cputime);
+ realtime = thread_consumed_time (&after, &before, &cputime);
thread->hist->real.total += realtime;
if (thread->hist->real.max < realtime)
thread->hist->real.max = realtime;
diff --git a/lib/thread.h b/lib/thread.h
index dfc51e2..56f4d07 100644
--- a/lib/thread.h
+++ b/lib/thread.h
@@ -77,7 +77,7 @@
int fd; /* file descriptor in case of read/write. */
struct timeval sands; /* rest of time sands value. */
} u;
- RUSAGE_T ru; /* Indepth usage info. */
+ struct timeval real;
struct cpu_thread_history *hist; /* cache pointer to cpu_history */
char* funcname;
};