Fixed web link for new H2 document.
[ikiwiki.git] / docs / howtos / HowToDebugVKernels / index.mdwn
index 494d45a..ac398ad 100644 (file)
@@ -13,6 +13,7 @@ this feature, but at that point I didn't know.
     $ ./t_aio 
     aio_read: Function not implemented
     $ 
+    $ 
 
 Ktrace'ing the process and seeing with my own eyes what was going on, seemed like a good idea.
 Here comes the fun. I misread the [ktrace(1)](http://leaf.dragonflybsd.org/cgi/web-man?command=ktrace&section=1) man page and typed:
@@ -197,9 +198,41 @@ Oops. There is no trace to any vnode for this process. The code will try to acce
 When the vkernel is sitting at a db> prompt all vkernel threads representing virtual cpu's except the one handling the db> prompt itself 
 will be suspended in stopsig(). The backtrace only sees one of the N threads.
 
+# Additional notes
+## Accessing Vkernels memory
+For those using HEAD, some changes in libkvm have been introduced so vkernel's memory can be accessed directly now on /proc/$pid/mem.  
+
+Among other things, you can have a look at vkernel's process list using ps:
+
+
+    # ps axl -M /proc/829/mem -N /var/vkernel/boot/kernel
+    UID   PID  PPID CPU PRI  NI   VSZ  RSS WCHAN  STAT  TT       TIME COMMAND
+     0     0    -1   1 152   0     0 3068 nowork DL    ??    0:00.00  (swapper)
+     0     1     0   0 152   0   760 3068 wait   IL    ??    0:00.00  (init)
+    77   212     1   0 152   0   788 3068 poll   S     ??    0:00.00  (dhclient)
+     0   323     1   0 152   0  1288 3068 select S     ??    0:00.00  (syslogd)
+     0   627     1 115 222   0  3332 3068 select I     ??    0:00.00  (sshd)
+     0   641     1   0 152   0  3772 3068 select S     ??    0:00.00  (sendmail)
+    25   645     1  22 165   0  3668 3068 pause  I     ??    0:00.00  (sendmail)
+     0     0     0   0   0 -52     0    0 -      ?    con-   0:00.00  ()
+     0     0     0   0   0 -52     0    0 -      ?    con-   0:00.00  ()
+     0     0     0   0   0 -52     0    0 -      ?    con-   0:00.00  ()
+     0   188     1   2 153   0   788 3068 poll   I     v0-   0:00.00  (dhclient) 
+
+# Bugs
+
 ## Gdb + vkernel issues
-gdb and vkernel (SMP or not) don't play well together anymore.  It is possible to get into
-a state where the vkernel is in state "stop" and the vkernel is in "wait", and nothing moves on.
-The only help is to kill gdb, which either makes the vkernel run again, or kills it as well.
 
-See also [this bug report](http://bugs.dragonflybsd.org/issue1301).
+gdb and vkernel (SMP or not) don't play well together anymore.  It is possible to get into a state where the vkernel is in state "stop" and the vkernel is in "wait", and nothing moves on.  The only help is to kill gdb, which either makes the vkernel run again, or kills it as well.
+
+See also [[!df-bug 1301]].
+
+Experience has shown that running vkernel with -n1, that is telling it to emulate only 1 CPU, alleviates the issue.
+
+> Bug noted above appears to have been closed, however, this does not appear to work on current STABLE.
+>
+>              [...] 4.4-RELEASE DragonFly v4.4.3.9.ge5cb2-RELEASE #0: Fri Jul 15 03:04:52 UTC 2016 [...]/X86_64_GENERIC x86_64
+>
+> See [[!df-bug 2931]] for details.
+>
+> -- [[tofergus]]