From: Juergen Gross <juergen.gross@fujitsu-siemens.com>
To: Keir Fraser <keir.fraser@eu.citrix.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [Patch 2 of 2]: PV-domain SMP performance Linux-part
Date: Fri, 16 Jan 2009 10:36:58 +0100 [thread overview]
Message-ID: <4970553A.9090806@fujitsu-siemens.com> (raw)
In-Reply-To: <C595F30A.21078%keir.fraser@eu.citrix.com>
Keir Fraser wrote:
> On 16/01/2009 07:16, "Juergen Gross" <juergen.gross@fujitsu-siemens.com>
> wrote:
>
>>> Something like that would be better. Of course you'd need to measure work
>>> done in the domUs as well, as one of the critical factors for this patch
>>> would be how it affects fairness. It's one reason I'm leery of this patch --
>>> our scheduler is unpredictable enough as it is without giving domains
>>> another lever to pull!
>> Keir, is the data I posted recently okay?
>> I think my approach requires less changes than the "yield after spin" variant,
>> which needed more patches in the hypervisor and didn't seem to be settled.
>> Having my patches in the hypervisor at least would make life much easier for
>> our BS2000 system...
>> I would add some code to ensure a domain isn't misusing the new interface.
>
> It didn't sound like there was much average difference between the two
> approaches, also that George's patches may be going in anyway for general
> scheduling stability reasons, and also that any other observed hiccups may
> also simply point to limitations of the scheduler implementation which
> George may look at further.
I think in extreme situations my approach will give better results.
The higher the number of vcpus the better it will be. Avoiding descheduling in
a critical path should always be preferred to a statistical search for the
processor locking a resource.
>
> Do you have an explanation for why shell commands behave differently with
> your patch, or alternatively why they can be delayed so long with the yield
> approach?
No hard data. It must be related to the yield in my spinlock patch somehow,
as the problem did not occur with the same hypervisor and the "no deschedule"
patch in Linux. But the problem requires George's hypervisor patches to show
up.
>
> The approach taken in Linux is not merely 'yield on spinlock' by the way, it
> is 'block on event channel on spinlock' essentially turning a contended
> spinlock into a sleeping mutex. I think that is quite different behaviour
> from merely yielding, and expecting the scheduler to do something sensible
> with your yield request.
Could you explain this a little bit more in detail, please?
>
> Overall I think George should consider your patch as part of his overall
> scheduler refurbishment work. I personally remain unconvinced that the
> reactive approach cannot get predictable performance close to your approach,
> and without needing new hypervisor interfaces.
Perhaps a combination could be even better. My approach reduces latency while
holding a lock, while the 'block on event channel on spinlock' approach will
use the time of an otherwise spinning vcpu for productive work.
Juergen
--
Juergen Gross Principal Developer
IP SW OS6 Telephone: +49 (0) 89 636 47950
Fujitsu Siemens Computers e-mail: juergen.gross@fujitsu-siemens.com
Otto-Hahn-Ring 6 Internet: www.fujitsu-siemens.com
D-81739 Muenchen Company details: www.fujitsu-siemens.com/imprint.html
next prev parent reply other threads:[~2009-01-16 9:36 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-17 12:22 [Patch 2 of 2]: PV-domain SMP performance Linux-part Juergen Gross
2008-12-17 15:06 ` Jan Beulich
2008-12-18 7:18 ` Juergen Gross
2008-12-18 7:41 ` Jan Beulich
2008-12-19 8:12 ` Juergen Gross
2008-12-19 9:10 ` Keir Fraser
2008-12-19 9:25 ` Juergen Gross
2008-12-19 9:56 ` Keir Fraser
2009-01-16 7:16 ` Juergen Gross
2009-01-16 7:38 ` Venefax
2009-01-16 7:48 ` Juergen Gross
2009-01-16 7:57 ` Venefax
2009-01-16 8:19 ` Juergen Gross
2009-01-16 10:16 ` James Harper
2009-01-16 10:31 ` Juergen Gross
2009-01-16 10:41 ` Keir Fraser
2009-01-16 11:01 ` James Harper
2009-01-16 11:14 ` Keir Fraser
2009-01-16 11:18 ` Jan Beulich
2009-01-16 14:40 ` Steve Prochniak
2009-01-16 17:43 ` Jeremy Fitzhardinge
2009-01-16 8:17 ` Keir Fraser
2009-01-16 9:36 ` Juergen Gross [this message]
2009-01-16 9:53 ` Keir Fraser
2009-01-16 17:41 ` Jeremy Fitzhardinge
2009-01-19 17:15 ` George Dunlap
2009-01-20 20:12 ` Jeremy Fitzhardinge
2008-12-19 9:33 ` Jan Beulich
2008-12-19 9:56 ` Keir Fraser
2008-12-19 15:15 ` George Dunlap
2009-01-12 12:55 ` Juergen Gross
2009-01-19 17:32 ` George Dunlap
2009-01-20 7:56 ` Juergen Gross
2008-12-19 10:06 ` Juergen Gross
2008-12-19 10:36 ` Jan Beulich
2008-12-19 10:42 ` Juergen Gross
2008-12-19 10:48 ` Juergen Gross
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=4970553A.9090806@fujitsu-siemens.com \
--to=juergen.gross@fujitsu-siemens.com \
--cc=George.Dunlap@eu.citrix.com \
--cc=keir.fraser@eu.citrix.com \
--cc=xen-devel@lists.xensource.com \
/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.