From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: qemu-kvm.git build problem Date: Tue, 12 Jan 2010 09:28:15 +0100 Message-ID: <4B4C329F.4010301@web.de> References: <1262025646.2774.16.camel@localhost.localdomain> <1263014581.2439.207.camel@localhost.localdomain> <4B4AF9D2.3080100@siemens.com> <4B4AFAD9.3010604@redhat.com> <4B4AFBC7.1020801@siemens.com> <4B4BC0F3.2010507@web.de> <20100112005118.GO6632@linux.vnet.ibm.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enigF2F12E99FC24C5A6FE59F045" Cc: Avi Kivity , Lucas Meneghel Rodrigues , KVM mailing list , Michael Goldish , Eduardo Habkost , Dor Laor To: paulmck@linux.vnet.ibm.com Return-path: Received: from fmmailgate02.web.de ([217.72.192.227]:60458 "EHLO fmmailgate02.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751797Ab0ALI2T (ORCPT ); Tue, 12 Jan 2010 03:28:19 -0500 In-Reply-To: <20100112005118.GO6632@linux.vnet.ibm.com> Sender: kvm-owner@vger.kernel.org List-ID: This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigF2F12E99FC24C5A6FE59F045 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Paul E. McKenney wrote: > 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 suffici= ent >>>>> to achieve the same performance as with the pre-srcu locking (e.g. >>>>> guest&host stalled during guest's framebuffer setup). >>>>> =20 >>>> Isn't it sufficient to backport kernel/srcu.c? I thought no sched.c= =20 >>>> 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 ne= ed >> 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. >=20 > Would it help if I backported the RCU expedited stuff? Yes, it does > involve kernel/sched.c, but it is reasonably hands-off. >=20 > If this would help, please let me know to which kernel version you need= > the backport. Thanks a lot. Mmm, it's probably already sufficient when you tell me if I'm now on the right tracks: The idea behind synchronize_sched_expedited is, instead of waiting for random task switches on all CPUs, to enforce them. It now just reuses the migration_thread, locks and request queues from the rqs for this purpose. So it should have the same effect if we create our own high-prio srcu_expedited kthreads that include the srcu logic which just complete() the queued requests of some compat kvm_synchronize_sched_expedited. Did I get it? If so, I will try to write something like this the next days. Will surely appreciate your review afterwards! Thanks, Jan --------------enigF2F12E99FC24C5A6FE59F045 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iEYEARECAAYFAktMMqMACgkQitSsb3rl5xRFxACeNXLjOtaUdhENbV08r0O9RQU4 jScAn1SdPfohas/FRbRThgj9wuQQ6fZ6 =QA0O -----END PGP SIGNATURE----- --------------enigF2F12E99FC24C5A6FE59F045--