After *a whole lot* of fun with Gan (his Akaros box reset button melted
basically), we traced the stuck issue to calls to core_id() which access
the GS:8 address when it has not been setup.
Strange that Gan changes triggered this, and that before was working fine.


https://github.com/brho/akaros/compare/master...dlibenzi:use_core_id_early


The following changes since commit 2fa42319139e4cc5ca853546363f84443d0ead00:

  Rename 'reallocarray' to 'kreallocarray'. (2015-11-25 18:02:04 -0500)

are available in the git repository at:

  [email protected]:dlibenzi/akaros use_core_id_early

for you to fetch changes up to a2c903e3f58df5d0bcffa6a2f64b1c8a207a1040:

  Use core_id_early() in kprof trace buffer print code (2015-12-07 17:42:25
-0800)

----------------------------------------------------------------
Davide Libenzi (1):
      Use core_id_early() in kprof trace buffer print code

 kern/drivers/dev/kprof.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kern/drivers/dev/kprof.c b/kern/drivers/dev/kprof.c
index ed16bda..db2739f 100644
--- a/kern/drivers/dev/kprof.c
+++ b/kern/drivers/dev/kprof.c
@@ -574,7 +574,7 @@ static struct trace_printk_buffer
*kprof_get_printk_buffer(void)
  spin_unlock_irqsave(&ktrace_lock);
  }

- return cpu_tpbs + core_id();
+ return cpu_tpbs + core_id_early();
 }

 void trace_vprintk(bool btrace, const char *fmt, va_list args)
@@ -619,7 +619,7 @@ void trace_vprintk(bool btrace, const char *fmt,
va_list args)
  if (likely(system_timing.tsc_freq))
  tsc2timespec(read_tsc(), &ts_now);
  snprintf(hdr, sizeof(hdr), "[%lu.%09lu]:cpu%d: ", ts_now.tv_sec,
- ts_now.tv_nsec, core_id());
+ ts_now.tv_nsec, core_id_early());

  pb.ptr = usrbuf + vsnprintf(usrbuf, usr_bufsz, fmt, args);
  pb.top = usrbuf + usr_bufsz;

-- 
You received this message because you are subscribed to the Google Groups 
"Akaros" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to