|
|
|
|
|
|
|
|
|
|
xen-devel
[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
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-devel] NMI problem in xen-unstable,
Santos, Jose Renato G (Jose Renato Santos) <=
|
|
|
|
|