From: Simon Martin <furryfuttock@gmail.com>
To: xen-devel@lists.xen.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
Dario Faggioli <dario.faggioli@citrix.com>,
Nate Studer <nate.studer@dornerworks.com>,
Don Slutz <dslutz@verizon.com>
Subject: Re: Strange interdependace between domains
Date: Thu, 13 Feb 2014 22:25:07 +0000 [thread overview]
Message-ID: <295276356.20140213222507@gmail.com> (raw)
In-Reply-To: <1392313015.32038.112.camel@Solace>
Thanks for all the replies guys.
With respect your comments/queries I'll put them all in here.
>> 1.- Hardware: Intel i3, 4GB RAM, 64GB SSD.
Andrew> Can you be more specific - this covers 4 generations of Intel CPUs.
This is a 4th gen (Haswell) processor.
>> # xl cpupool-list
>> Name CPUs Sched Active Domain count
>> Pool-0 3 credit y 2
>> pv499 1 arinc653 y 1
Dario> Ok, I think I figured this out from the other information, but it would
Dario> be useful to know what pcpus are assigned to what cpupool. I think it's
Dario> `xl cpupool-list -c'.
Pool-0: 0,1,2
Dom0: 3
Don> How many instruction per second a thread gets does depend on the
Don> "idleness" of other threads (no longer just the hyperThread's
Don> parther).
This seems a bit strange to me. In my case I have time
critical PV running by itself in a CPU pool. So Xen should not be
scheduling it, so I can't see how this Hypervisor thread would be affected.
>> 6.- All VCPUs are pinned:
>>
Dario> Right, although, if you use cpupools, and if I've understood what you're
Dario> up to, you really should not require pinning. I mean, the isolation
Dario> between the RT-ish domain and the rest of the world should be already in
Dario> place thanks to cpupools.
This is what I thought, however when running looking at the vcpu-list
I CPU affinity was "all" until I starting pinning. As I wasn't sure
whether that was "all inside this cpu pool" or "all" I felt it was
safer to do it explicitly.
Dario> So, if you ask me, you're restricting too much things in
Dario> pool-0, where dom0 and the Windows VM runs. In fact, is there a
Dario> specific reason why you need all their vcpus to be statically
Dario> pinned each one to only one pcpu? If not, I'd leave them a
Dario> little bit more of freedom.
I agree with you here, however when I don't pin CPU affinity is "all".
Is this "all in the CPU pool"? I couldn't find that info.
Dario> What I'd try is:
Dario> 1. all dom0 and win7 vcpus free, so no pinning in pool0.
Dario> 2. pinning as follows:
Dario> * all vcpus of win7 --> pcpus 1,2
Dario> * all vcpus of dom0 --> no pinning
Dario> this way, what you get is the following: win7 could suffer sometimes,
Dario> if all its 3 vcpus gets busy, but that, I think is acceptable, at
Dario> least up to a certain extent, is that the case?
Dario> At the same time, you
Dario> are making sure dom0 always has a chance to run, as pcpu#0 would be
Dario> his exclusive playground, in case someone, including your pv499
Dario> domain, needs its services.
This is what I had when I started :-). Thanks for the confirmation
that I was doing it right. However if the hyperthreading is the issue,
then I will only have 2 PCPU available, and I will assign them both to
dom0 and win7.
Dario> Right. Are you familiar with tracing what happens inside Xen
Dario> with xentrace and, perhaps, xenalyze? It takes a bit of time to
Dario> get used to it but, once you dominate it, it is a good mean for
Dario> getting out really useful info!
Dario> There is a blog post about that here:
Dario> http://blog.xen.org/index.php/2012/09/27/tracing-with-xentrace-and-xenalyze/
Dario> and it should have most of the info, or the links to where to
Dario> find them.
Thanks for this. If this problem is more than the hyperthreading then
I will definitely use it. Also looks like it might be useful when I
start looking at the jitter on the singleshot timer (which should be
in a couple of weeks).
Andrew> How are you measuring time in pv499?
In two ways: counting the periodic interrupts (125 microsecond) and
from the monotonic_clock. They both agree on the time.
Andrew> What is your Cstates and Pstates looking like?
No idea. If the hyperthreading suggestion doesn't work out I'll look
at this.
Andrew> If you can, try disabling turbo?
If the hyperthreading suggestion doesn't work out I'll look at this.
--
Best regards,
Simon mailto:furryfuttock@gmail.com
next prev parent reply other threads:[~2014-02-13 22:25 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-13 16:56 Strange interdependace between domains Simon Martin
2014-02-13 17:07 ` Ian Campbell
2014-02-13 17:28 ` Simon Martin
2014-02-13 17:39 ` Dario Faggioli
2014-02-13 17:36 ` Dario Faggioli
2014-02-13 20:47 ` Nate Studer
2014-02-13 22:25 ` Simon Martin [this message]
2014-02-13 23:13 ` Dario Faggioli
2014-02-14 10:26 ` Don Slutz
2014-02-14 12:02 ` Simon Martin
2014-02-14 13:26 ` Andrew Cooper
2014-02-14 17:21 ` Dario Faggioli
2014-02-17 12:46 ` Simon Martin
2014-02-18 16:55 ` Dario Faggioli
2014-02-18 17:58 ` Don Slutz
2014-02-18 18:06 ` Dario Faggioli
2014-02-20 6:07 ` Juergen Gross
2014-02-20 18:22 ` Dario Faggioli
2014-02-21 6:31 ` Juergen Gross
2014-02-21 17:24 ` Dario Faggioli
2014-02-24 9:25 ` Juergen Gross
2014-02-17 13:19 ` Juergen Gross
2014-02-17 15:08 ` Dario Faggioli
2014-02-18 5:31 ` Juergen Gross
2014-02-17 14:13 ` Nate Studer
2014-02-18 16:47 ` Dario Faggioli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=295276356.20140213222507@gmail.com \
--to=furryfuttock@gmail.com \
--cc=andrew.cooper3@citrix.com \
--cc=dario.faggioli@citrix.com \
--cc=dslutz@verizon.com \
--cc=nate.studer@dornerworks.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).