From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Schiers Subject: AW: AW: Re: AW: Re: Xen 3.4 strange behaviour as compared to Xen 3.3.1 Date: Wed, 3 Jun 2009 10:31:33 +0200 Message-ID: <15103190.31244017893480.JavaMail.root@uhura> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Tian, Kevin" , "keir.fraser" , xen-devel , mark.langsdorf@amd.com List-Id: xen-devel@lists.xenproject.org Kevin, thanks, that fixed the issue of the ondemand govenor with cpufreq=3D= dom0-kernel. Keir, the other very strange issues (higher load when being the first Dom= U started, blocking of /etc/init.d/xendomains when a certain DomU is first), I will try to in= vestigate further=20 and post again when I have more information, so that this theat is not ge= tting more complex. BR, Carsten. ----- Originalnachricht ----- Von: "Tian, Kevin" Gesendet: Mit, 3.6.2009 02:49 An: Carsten Schiers ; keir.fraser ; xen-devel ; mark.langsdorf@am= d.com Betreff: RE: AW: Re: AW: Re: [Xen-devel] Xen 3.4 strange behaviour as com= pared to Xen 3.3.1 >From: Carsten Schiers >Sent: 2009=E5=B9=B46=E6=9C=883=E6=97=A5 0:18 > >Sorry, I think it could also be that the CPU mask is somehow=20 >modified in the >hypercall itself. Too much code for me to realy understand.=20 > >Just a guess, but does Changeset 18898 take care of=20 >cpufreq=3Ddom0-kernel case? It's >patching the hypercall 52 and the cpufreq_ondemand.c of Xen=20 >near a modfication of >a CPU mask variable, but no change in the cpufreq_ondemand.c=20 >of the Dom0 kernel.=20 >It also seems to fit into the time window, doesn't it? > That's really a silly typo. Could you try whether below fixes for you? diff -r e8b74e981bfb xen/arch/x86/platform_hypercall.c --- a/xen/arch/x86/platform_hypercall.c Tue Jun 02 18:58:09 2009 +0800 +++ b/xen/arch/x86/platform_hypercall.c Tue Jun 02 18:59:18 2009 +0800 @@ -313,7 +313,6 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe { uint32_t cpu; uint64_t idletime, now =3D NOW(); - struct vcpu *v; struct xenctl_cpumap ctlmap; cpumask_t cpumap; XEN_GUEST_HANDLE(uint8) cpumap_bitmap; @@ -336,7 +335,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe for_each_cpu_mask ( cpu, cpumap ) { - if ( (v =3D idle_vcpu[cpu]) !=3D NULL ) + if ( !idle_vcpu[cpu] ) cpu_clear(cpu, cpumap); idletime =3D get_cpu_idle_time(cpu); Thanks Kevin