[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] RE: [Xen-users] [PATCH] RHEL/CentOS 5, Xen 3.4.1 and Power Management


  • To: '"T. Eichstädt"' <abc@xxxxxxxxxx>, "Xen-Devel (E-mail)" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Stephen Spector <stephen.spector@xxxxxxxxxx>
  • Date: Fri, 23 Oct 2009 19:57:57 -0400
  • Accept-language: en-US
  • Acceptlanguage: en-US
  • Cc:
  • Delivery-date: Fri, 23 Oct 2009 16:58:45 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcpULKWFIQHf9bANRUeb3Zr9/BqA0QAD+/ww
  • Thread-topic: [Xen-users] [PATCH] RHEL/CentOS 5, Xen 3.4.1 and Power Management

Forwarded to xen-devel mailing list for review. Thanks for the Patch.

Stephen Spector

-----Original Message-----
From: xen-users-bounces@xxxxxxxxxxxxxxxxxxx 
[mailto:xen-users-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of "T. Eichstädt"
Sent: Friday, October 23, 2009 6:03 PM
To: xen-users@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-users] [PATCH] RHEL/CentOS 5, Xen 3.4.1 and Power Management

Dear all,

Hypervisor-based PM is not working under CentOS 5 with its original kernel.
I had some difficulties to get at least Domain0 based cpufreq working 
under the CentOS 5 Kernel and Xen 3.4.1. There are problems with the 
detection of the corrrect Processor ID because the interface of Xen 
changed a little bit.

With the following patch power management in the combination of CentOS 5 
Kernel and Xen 3.4.1 is working again (It is mainly a revert of 
http://xen.markmail.org/message/ptnjmjaobb3bsutp?q=cpu_id.phys_id).

Hope somebody finds this useful.

Best regards
  Thimo Eichstädt

!!! ATTENTION, PATCH IS ONLY MEANT TO GET PM WORKING WITH CENTOS 5 
KERNEL !!!

diff -uNr xen-3.4.1.orig/xen/arch/x86/domain.c 
xen-3.4.1/xen/arch/x86/domain.c
--- xen-3.4.1.orig/xen/arch/x86/domain.c        2009-08-06 
15:57:27.000000000 +0200
+++ xen-3.4.1/xen/arch/x86/domain.c     2009-09-07 22:15:33.000000000 +0200
@@ -911,9 +911,8 @@
         if ( !v->domain->is_pinned )
             break;

-        cpu_id.phys_id =
-            (uint64_t)x86_cpu_to_apicid[v->vcpu_id] |
-            ((uint64_t)acpi_get_processor_id(v->vcpu_id) << 32);
+        cpu_id.phys_id = (x86_cpu_to_apicid[v->vcpu_id] |
+                         (acpi_get_processor_id(v->vcpu_id) << 8));

         rc = -EFAULT;
         if ( copy_to_guest(arg, &cpu_id, 1) )
diff -uNr xen-3.4.1.orig/xen/common/domain.c xen-3.4.1/xen/common/domain.c
--- xen-3.4.1.orig/xen/common/domain.c  2009-08-06 15:57:27.000000000 +0200
+++ xen-3.4.1/xen/common/domain.c       2009-09-07 22:14:13.000000000 +0200
@@ -41,7 +41,7 @@
 boolean_param("dom0_vcpus_pin", opt_dom0_vcpus_pin);

 /* set xen as default cpufreq */
-enum cpufreq_controller cpufreq_controller = FREQCTL_xen;
+enum cpufreq_controller cpufreq_controller = FREQCTL_dom0_kernel;

 static void __init setup_cpufreq_option(char *str)
 {




_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.