[quagga-dev 9315] [PATCH 22/25] lib: remove RUSAGE_T from struct thread

Jorge Boncompte [DTI2] jorge at dti2.net
Mon May 7 18:53:12 BST 2012


From: "Jorge Boncompte [DTI2]" <jorge at dti2.net>

* 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 at dti2.net>
---
 lib/thread.c |   11 ++++++-----
 lib/thread.h |    2 +-
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/lib/thread.c b/lib/thread.c
index b36c43a..1197e77 100644
--- a/lib/thread.c
+++ b/lib/thread.c
@@ -1128,7 +1128,7 @@ int
 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);
 }
 
@@ -1157,7 +1157,7 @@ void
 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.
@@ -1176,13 +1176,14 @@ thread_call (struct thread *thread)
                     (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 @@ struct thread
     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;
 };
-- 
1.7.8.3





More information about the Quagga-dev mailing list