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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.