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

[Xen-devel] questions about adding MP support to gdbserver


  • To: Ian Pratt <Ian.Pratt@xxxxxxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Kip Macy <kip.macy@xxxxxxxxx>
  • Date: Sun, 13 Nov 2005 23:25:15 -0600
  • Delivery-date: Mon, 14 Nov 2005 05:25:23 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=CuRTXoGnqwrLrKLlOnUX+cdWkIsbvpdWSMv2toKsarddJRzHrj/bnpLl6J2RxUbusM7nzn5WcAodhJN9JgIC5Ooz/t3fzgk18+KdqEdayy0WhnZXftYwq7H4c64ogzqatyzGG5hemSd7bdNYEt3BpSMbQYhjAQpe+nW6N97Mo2Q=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

My current plan is:
- add a bit to domain_flags to indicate that a domain is being debugged
- enable / disable bit using new DOM0 op - (DOM0_DOMU_DEBUG?), call new DOM0 op in PTRACE_ATTACH
- on int3 and trace trap pause domain if debug bit is set
- pause domain when exiting vcpu up / down if debug bit is set (I know this will be a point of debate so I explain below *)

Why doesn't GETDOMAININFO return a bitmask of online vcpus? It looks as if the only way to find out what vcpus are online is to iterate through, up to maxvcpuid. Do GETVCPUINFO and GETVCPUCONTEXT take vcpuids? In other words, if I have 4 cpus online I do a get call on 3, down 2, then do a get call on 3 again, will I get the same result? Where is an example of userspace code iterating through the online vcpus?


* The way gdb native knows about thread create / death is by interfacing with the thread library through libthreaddb. ln libthreaddb a breakpoint is set on the thread creation and exit functions. The "right" way to do what I'm trying to do is to write a libthreaddb for each guest OS. However, I'm not going to do that. Hence my first choice to add the pause to xen itself. I could do without this but it seems kind of messy to have to figure out what vcpus are up every time a breakpoint is hit with the current interfaces. Alternatively, if GETDOMAININFO  had a online vcpuid bitmask I could just compare the current bitmask with the previous one.


_______________________________________________
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®.