From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: Re: [PATCH v1 1/4] xen: add real time scheduler rt Date: Wed, 3 Sep 2014 17:46:50 +0200 Message-ID: <1409759210.2673.94.camel@Solace.lan> References: <1408921125-21470-1-git-send-email-mengxu@cis.upenn.edu> <1408921125-21470-2-git-send-email-mengxu@cis.upenn.edu> <1409756391.2673.68.camel@Solace.lan> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7588127802316996162==" Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Meng Xu Cc: Ian Campbell , Sisu Xi , Stefano Stabellini , George Dunlap , Ian Jackson , "xen-devel@lists.xen.org" , Meng Xu , Jan Beulich , Chao Wang , Chong Li , Dagaen Golomb List-Id: xen-devel@lists.xenproject.org --===============7588127802316996162== Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-wVSU7qRL0o5hbMO7iTgg" --=-wVSU7qRL0o5hbMO7iTgg Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On mer, 2014-09-03 at 11:27 -0400, Meng Xu wrote: > =E2=80=8BActually it has three ways to implement this (if we go with > batching): > 1) As Dario mentioned, use period =3D 0 & budget=3D0 to indicate that thi= s > vcpu's parameters should not be changed; > 2)=E2=80=8B We can first bounce out all VCPU's information, change the vc= pus' > information users specified, bounce the modified array back to > hypervisor; and hypervisor set all vcpus' information based on the > modified array. If a vcpu is not changed, its vcpu's information won't > change, so its parameters won't change;=20 > That would mean issueing an hypercall for getting the array of vcpu params, then changing the elements corresponding to the vcpu(s?) you want to update, and issue the actual vcpus_set() hypercall. Then, in Xen, you'll always change the parameters of _all_ the vcpus, with some of the new values being exactly equal to the old ones. This is viable, but quite unpleasant, especially the hypervisor part, where you risk disturbing vcpus minding their own (possibly real-time) business for no reason. If you go for it, you should at least avoid this, by recognizing, inside Xen, that the parameters are the same and not mess with the vcpu. Even with that avoided, you still need a large array, as it is for 1) and, this time, you bounce it up and down, so this, wrt 1), looks like a loose-loose to me. > 3) We only create arrays that have the vcpus to be modified. After we > bound the array to hypervisor, hypervisor can use the vcpu's index to > decide which vcpu's parameters should be modified. > This is an option. I like it less than 1), but I can see that, with 1), changing the parameters of 1 vcpu of a 32 vcpus domain means pushing down to Xen quite a bit of 0-s,. :-O So, my preference is: "not 2". :-D Regards, Dario --=20 <> (Raistlin Majere) ----------------------------------------------------------------- Dario Faggioli, Ph.D, http://about.me/dario.faggioli Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK) --=-wVSU7qRL0o5hbMO7iTgg Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEABECAAYFAlQHN+oACgkQk4XaBE3IOsRTJACfXQKLFkCFMVaKrUrKQCJMV/+C tSkAn2r3V9+ToVhKLF2PTh/mlapAm2e0 =Nmay -----END PGP SIGNATURE----- --=-wVSU7qRL0o5hbMO7iTgg-- --===============7588127802316996162== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --===============7588127802316996162==--