Export timing overhead via procinfo (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 14 Mar 2013 23:53:58 +0000 (16:53 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 14 Mar 2013 23:53:58 +0000 (16:53 -0700)
You need to rebuild absolutely everything.  In addition to the cross
compiler, you also need to rebuild any out-of-tree apps, such as busybox
or Parsec benchmarks.

kern/include/ros/procinfo.h
kern/src/process.c

index d17be23..dff1a03 100644 (file)
@@ -44,9 +44,10 @@ typedef struct procinfo {
        pid_t ppid;
        size_t max_vcores;
        uint64_t tsc_freq;
-       void* heap_bottom;
+       uint64_t timing_overhead;
+       void *heap_bottom;
        /* for traditional forks, these two need to be memcpy'd over: */
-       charargp[PROCINFO_MAX_ARGP];
+       char *argp[PROCINFO_MAX_ARGP];
        char argbuf[PROCINFO_ARGBUF_SIZE];
        /* glibc relies on stuff above this point.  if you change it, you need to
         * rebuild glibc. */
index 57c4803..7354d81 100644 (file)
@@ -188,6 +188,7 @@ static void proc_init_procinfo(struct proc* p)
        p->procinfo->ppid = p->ppid;
        p->procinfo->max_vcores = max_vcores(p);
        p->procinfo->tsc_freq = system_timing.tsc_freq;
+       p->procinfo->timing_overhead = system_timing.timing_overhead;
        p->procinfo->heap_bottom = (void*)UTEXT;
        /* 0'ing the arguments.  Some higher function will need to set them */
        memset(p->procinfo->argp, 0, sizeof(p->procinfo->argp));