[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] NMI problem in xen-unstable



  I am trying to get Xenoprof (Xen support for Oprofile) ported to
xen-unstable,
  but I was not able to make it work yet.
  The code works fine in xen-2.0.5 but there are problems with NMI in
Xen unstable
  The behavior is as follows. When profiling starts, NMIs start to be
generated
  and 1 to 2 seconds later the machine freezes and requires a power
reset to 
  come back.

  After some debuging I could identify that the bug is related to NMI
occuring
  when hypervisor code is being executed. There is a simple hack that
skips
  NMI servicing when in Xen mode which eliminates the freezing problem.
This
  is only a temporary fix, since we need to get profiling samples in the
  hypervisor. However, this give us an idea of where is the problem. The
  diff file bellow shows the hack used to avoid Xen freezing.

  Since the code still runs for a few seconds, I suspect that there is
  only part of the hypervisor code which is sensitive to NMI servicing,
  while the majority of the code is not. Testing the sanity of the CS
and ES
  segment registers was sufficient to get NMI running on 2.0.5. However
  it seems that there is some new critical sessions in xen-unstable
  that we should take care off. 

  Does any one has an idea of what new things from 2.0.5 to the current
  unstable would be sensitive to NMI servicing? (Any new segment
register
  needs to be checked?)

  Thanks

  Renato

--- ../../../../../xen-unstable/xen/arch/x86/x86_32/entry.S
2005-04-19 20:14:13.000000000 -0700
+++ entry.S     2005-04-27 10:53:01.000000000 -0700
@@ -567,7 +567,8 @@
         movl  %es,%eax
         cmpw  $(__HYPERVISOR_DS),%ax
         jne   defer_nmi
-
+        jmp   restore_all_xen
+       
 do_watchdog_tick:
         movl  $(__HYPERVISOR_DS),%edx
         movl  %edx,%ds


  Thanks

  Renato 



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.