[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] PV guest timings
On mar, 2013-11-26 at 14:50 +0000, Simon Martin wrote: > Hi all, > Hi Simon! > I have finally got my little PV guest running. My critical error was > not setting __XEN_INTERFACE_VERSION__. After tearing to pieces the > code and put it back together a few times I decided to debug my > Makefile script comparing it to Mini-OS. > Cool! :-) > I am now starting to do some simple timings and the numbers are so bad > I'm wondering what could be wrong with my test. > Not so cool! :-( > As mentioned previously I have created a CPU pool with one CPU and one > domU. I am using the standard credit scheduler. I set timer_slop=0 on > the Xen command line. > > I initialise console, traps, events, and TSC clock in my PV and then > start a periodic operation running. I then calculate latency as (clock > time - deadline) and period as (clock time - previous deadline).At the > moment I'm just displaying min/max values. I also increment a tick > count on every cycle. > > Looking at the statistics I see that I get the expected number of > ticks per second, however I get latencies in the range [-1ms, +25us] > and the periods in the range of [3us, 1.02ms]. The upper bounds look > OK, but the lower bounds are all over the place. > Ok. Well, I'm not super expert in that area (yet), but even for the ones that are, I think it's pretty hard to guess what could be going on without seeing the actual code. Is there any chance that you can share/show it? At least the relevant chunks... Some questions: - "looking at the statistics", what statistics? How do you collect them? - you say you get latencies in some range and periods in some other range. It may be my fault, but I'm not sure I understand what you mean with these two terms in this context, could you clarify? > This makes me think that I'm not the only thing using VIRQ_TIMER. I > seem to remember that this is called nominally every 10ms by the > Hypervisor. > > Is there any way to recognize the origin of the timer? > I'm not sure if fits your exact needs, and you probably know it already, but, just in case, have you looked at xentrace and xenalyze? There's a blog post that could be a nice introduction to them: http://blog.xen.org/index.php/2012/09/27/tracing-with-xentrace-and-xenalyze/ If the exact information you're after is not among the already existing tracepoints, it shouldn't be to hard to add one or more of those, in the spots where you need them. But again, it's very hard to judge without seeing the code... Regards, Dario -- <<This happens because I choose it to happen!>> (Raistlin Majere) ----------------------------------------------------------------- Dario Faggioli, Ph.D, http://about.me/dario.faggioli Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK) Attachment:
signature.asc _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |