Hi -

Kevin and I had an old joke.  You can classify any idea in CS (or maybe
in general!) as either: a paper topic, a startup, or a work of art.

The acrobatics involved with NMIs fall into the latter category.

Also, VMs in the guest won't get backtraces, but their PCs will show up
as user samples (probably unresolved).

Barret


The following changes since commit 1c7ae8e546970102308614b13bc84e4a90ae255a:

  Change vmrunkernel to use getopt() (2016-07-26 18:35:26 -0400)

are available in the git repository at:

  [email protected]:brho/akaros.git NMI

for you to fetch changes up to 2f2f4e30f03b2254e4469cd6d073456c2ffdd0c5:

  x86: Don't backtrace from trampoline asm (2016-07-28 18:11:25 -0400)

----------------------------------------------------------------
View this online at:
https://github.com/brho/akaros/compare/1c7ae8e54697...2f2f4e30f03b

----------------------------------------------------------------
Barret Rhoden (14):
      perf: Only record PC once
      x86: Upgrade backtrace
      perf: Have arches handle the backtrace
      Clean up smp_idle's stack jumping
      Jump stacks before unlocking semaphores
      x86: Use a separate stack and handler for NMIs
      x86: Prevent NMIs from nesting
      perf: Use NMIs for sampling HW and VM TFs
      Clear excess parts of contexts when finalizing
      Remove SEM_TRACE_BLOCKERS and TRACEME
      Remove backtraces from trace_printk()
      x86: Add protection from NMI contexts that trap
      x86: Secure eflags when securing contexts
      x86: Don't backtrace from trampoline asm

 Kconfig                     |  16 ---
 config-default              |   1 -
 kern/arch/x86/kdebug.c      |  43 ++++--
 kern/arch/x86/perfmon.c     |  81 ++++++++++-
 kern/arch/x86/perfmon.h     |   2 +
 kern/arch/x86/process64.c   |  28 +++-
 kern/arch/x86/smp_boot.c    |  18 +++
 kern/arch/x86/trap.c        | 320 +++++++++++++++++++++++++++++++++++------
 kern/arch/x86/trap64.h      |  42 ------
 kern/arch/x86/trapentry64.S | 344 +++++++++++++++++++++++++++++++++++++++++++-
 kern/drivers/dev/kprof.c    |  23 +--
 kern/include/kdebug.h       |   4 +-
 kern/include/kprof.h        |   4 +-
 kern/include/monitor.h      |   1 +
 kern/include/profiler.h     |   8 +-
 kern/include/smp.h          |   2 +
 kern/include/stdio.h        |   2 +-
 kern/src/kthread.c          |  59 +++++---
 kern/src/monitor.c          |  55 ++++++-
 kern/src/printf.c           |   2 +-
 kern/src/profiler.c         |  58 ++------
 kern/src/smp.c              |  15 +-
 22 files changed, 894 insertions(+), 234 deletions(-)

-- 
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