From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Jan Kiszka <jan.kiszka@web.de>
Cc: Avi Kivity <avi@redhat.com>,
Lucas Meneghel Rodrigues <lmr@redhat.com>,
KVM mailing list <kvm@vger.kernel.org>,
Michael Goldish <mgoldish@redhat.com>,
Eduardo Habkost <ehabkost@redhat.com>,
Dor Laor <dlaor@redhat.com>
Subject: Re: qemu-kvm.git build problem
Date: Mon, 11 Jan 2010 16:51:18 -0800 [thread overview]
Message-ID: <20100112005118.GO6632@linux.vnet.ibm.com> (raw)
In-Reply-To: <4B4BC0F3.2010507@web.de>
On Tue, Jan 12, 2010 at 01:23:15AM +0100, Jan Kiszka wrote:
> Jan Kiszka wrote:
> > Avi Kivity wrote:
> >> On 01/11/2010 12:13 PM, Jan Kiszka wrote:
> >>> BTW, does anybody know how to back-port synchronize_srcu_expedited best?
> >>> It looked like a simple mapping to synchronize_srcu was not sufficient
> >>> to achieve the same performance as with the pre-srcu locking (e.g.
> >>> guest&host stalled during guest's framebuffer setup).
> >>>
> >> Isn't it sufficient to backport kernel/srcu.c? I thought no sched.c
> >> changes were necessary.
> >
> > Haven't looked yet, but if that's the case, it would indeed be
> > straightforward.
>
> It's far away from being straightforward: synchronize_rcu_expedited is
> based on synchronize_sched_expedited, introduced to 2.6.32. But that
> services is hooked deep into the scheduler, fiddling directly with
> runqueues (which are completely private to sched.c). This path looks
> like a dead end, specifically when its about supporting ~8 major Linux
> releases backwards.
>
> Paul, we have a problem here on the KVM-for-older-kernels front: We need
> synchronize_rcu_expedited for acceptable write-side performance (there
> are certain phases with lots of changes, plain synchronize_rcu just
> stalls both guest and host for several seconds). Our target kernels
> (down to 2.6.27, unofficially even 2.6.24) do not have the expedited
> service. Can you think of a poor man's solution for those kernels?
>
> Unfortunately, I don't think there is mechanical patching possible to
> role-back our srcu use to a rw-sem. But I will check this once again
> tomorrow.
Would it help if I backported the RCU expedited stuff? Yes, it does
involve kernel/sched.c, but it is reasonably hands-off.
If this would help, please let me know to which kernel version you need
the backport.
FYI -- will be AFK Friday and most of the weekend, flying over the
Pacific.
Thanx, Paul
next prev parent reply other threads:[~2010-01-12 0:51 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-28 18:40 qemu-kvm.git build problem Lucas Meneghel Rodrigues
2009-12-28 19:55 ` Avi Kivity
2010-01-09 5:23 ` Lucas Meneghel Rodrigues
2010-01-11 10:13 ` Jan Kiszka
2010-01-11 10:18 ` Avi Kivity
2010-01-11 10:21 ` Jan Kiszka
2010-01-12 0:23 ` Jan Kiszka
2010-01-12 0:51 ` Paul E. McKenney [this message]
2010-01-12 8:28 ` Jan Kiszka
2010-01-12 13:50 ` Paul E. McKenney
2010-01-14 0:11 ` Jan Kiszka
2010-01-14 2:13 ` Paul E. McKenney
2010-01-15 8:58 ` Jan Kiszka
2010-01-18 2:09 ` Paul E. McKenney
2010-01-14 20:02 ` Lucas Meneghel Rodrigues
2010-01-14 23:48 ` Paul E. McKenney
2010-01-15 8:56 ` Jan Kiszka
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=20100112005118.GO6632@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=avi@redhat.com \
--cc=dlaor@redhat.com \
--cc=ehabkost@redhat.com \
--cc=jan.kiszka@web.de \
--cc=kvm@vger.kernel.org \
--cc=lmr@redhat.com \
--cc=mgoldish@redhat.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.