[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] VM System Calls
It sounds like to start with, you should probably look into xentrace: * Add a new trace record type to xen/include/public/trace.h * Create a struct, up to 28 bytes, and fill it with the information you want; then call trace_var(). * In dom0, call xentrace -e [hex address of record type] * You can use the xentrace_formats to parse the binary file, or write your own parser; or, wait until I release my xentrace analysis tool (should be within a week hopefully) Once you have the basic stuff going, you can think about writing your own hypervisor-to-domU data path if you don't want to use xentrace. Peace, -George On Fri, Nov 28, 2008 at 11:34 AM, Frederic Beck <frederic.beck@xxxxxxxx> wrote: > hello > > thanks ! Now i see them. I'll be able to begin working a little bit > more, and understand how the traps work with some printing :) > > I'll look also to find a way to log information into a file in order to > be able to analyze the output. > > I may recontact you in case of trouble (in the worst case will be > beginning of next year, i may have to stop working on that in order to > switch a different project that needs work done fast) > > Thanks a lot > Fred > > Le Fri, 28 Nov 2008 11:19:43 +0000, > "George Dunlap" <dunlapg@xxxxxxxxx> a écrit : > >> Have you tried "xm dmesg"? >> >> -George >> >> On Thu, Nov 27, 2008 at 4:19 PM, Frederic Beck >> <frederic.beck@xxxxxxxx> wrote: >> > Hello >> > >> > I commented out the lines you told me, compiled the hypervisor, and >> > i'm booting it with my 2.6.26 kernel. It is working fine, my 2 VMs >> > (one Linux and one XP) are working fine. >> > >> > I was trying to check the execution by printing out some debug >> > info. I wanted first to log the info in a specific file, but i had >> > troubles when compiling with redefinition troubles. I tried >> > sysloging and got the same troubles. >> > >> > I finally decided to use the kernel logging mechanisms. I put >> > several printk and gdprintk in traps.c:trace_pv_trap and >> > do_guest_trap but they are never printed out (at least i was >> > greping in /var/log). >> > >> > thus i tried to put some common/xmalloc.c:xfree and xmalloc. I never >> > see any message neither. >> > >> > Am i using bad logging mechanisms or simply looking in the wrong >> > output ? >> > >> > Thanks >> > Fred >> > >> > Le Wed, 26 Nov 2008 17:30:21 +0100, >> > Frederic Beck <frederic.beck@xxxxxxxx> a écrit : >> > >> >> Well, stupid question in then end. the hypervisor is in xen/ .... >> >> >> >> I managed to compile a 3.3.0 hypervisor and make my 2.6.26 kernel >> >> running >> >> >> >> fighting now with the tools with compiling errors, but it's >> >> advancing :) >> >> >> >> thanks >> >> Fred >> >> >> >> Le Wed, 26 Nov 2008 11:57:03 +0100, >> >> Frederic Beck <frederic.beck@xxxxxxxx> a écrit : >> >> >> >> > Just another quick question. >> >> > >> >> > After modifying traps.c, to recompile the hypervisor, do I need >> >> > to recompile the whole sources with a make world ? Or is it >> >> > unnecessary ? >> >> > >> >> > At the moment I'm running a Debian unstable with the debian >> >> > packages distribution of Xen with hypervisor 3.2 and kernel >> >> > 2.6.26, and the 2.6.18 is not running on my computer. >> >> > >> >> > The idea would be to compile only the hypervisor, but id did not >> >> > found yet in the documentation how to do it. I'll keep on >> >> > looking, but is you have an idea it would be welcomed :) >> >> > >> >> > Thanks >> >> > Fred >> >> > >> >> > Le Wed, 26 Nov 2008 09:50:32 +0100, >> >> > Frederic Beck <frederic.beck@xxxxxxxx> a écrit : >> >> > >> >> > > Hello >> >> > > >> >> > > > If you're not averse to modifying the hypervisor, you should >> >> > > > be able to arrange to get what you want. >> >> > > >> >> > > Not at all :) It's what i was planning to do in the first case. >> >> > > >> >> > > > For 32-bit guests, we allow the system call to trap directly >> >> > > > from userspace into the PV kernel. But that's actually an >> >> > > > optimization; it used to be the case that if you disable that >> >> > > > direct-trap, then it will trap to Xen, and Xen will forward >> >> > > > it on to the PV kernel. This will make guest system calls >> >> > > > slightly more expensive, but it will allow you to add the >> >> > > > tracing / instrumentation you want. >> >> > > > >> >> > > > Yes, it looks like if you comment out the following line in >> >> > > > xen/arch/x86/traps.c:do_set_trap_table(): >> >> > > > if ( cur.vector == 0x80 ) >> >> > > > init_int80_direct_trap(curr); >> >> > > > >> >> > > > Then all guest traps, including system call, will go through >> >> > > > traps.c:do_guest_trap(), which already traces the trap >> >> > > > number. If you want more information, you can add more trace >> >> > > > info there. >> >> > > >> >> > > Thanks a lot for your help, i'll give it a try. I just >> >> > > commented out that part, i'll recompile the hypervisor and >> >> > > play with it. >> >> > > >> >> > > I'll let you know how it works out. >> >> > > >> >> > > Thanks >> >> > > Fred >> >> > > >> >> > > _______________________________________________ >> >> > > Xen-devel mailing list >> >> > > Xen-devel@xxxxxxxxxxxxxxxxxxx >> >> > > http://lists.xensource.com/xen-devel >> >> > >> >> > _______________________________________________ >> >> > Xen-devel mailing list >> >> > Xen-devel@xxxxxxxxxxxxxxxxxxx >> >> > http://lists.xensource.com/xen-devel >> >> >> >> _______________________________________________ >> >> Xen-devel mailing list >> >> Xen-devel@xxxxxxxxxxxxxxxxxxx >> >> http://lists.xensource.com/xen-devel >> > >> > _______________________________________________ >> > Xen-devel mailing list >> > Xen-devel@xxxxxxxxxxxxxxxxxxx >> > http://lists.xensource.com/xen-devel >> > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |