[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Stop the continuous flood of (XEN) traps.c:2432:d0 Domain attempted WRMSR ..
On Wed, Mar 28, 2012 at 04:29:07PM -0400, Konrad Rzeszutek Wilk wrote: > > > > > > Jesse, and Matthew, > > > > > > Is there a way to make the intel_ips.c driver be in a "low-power" state? > > > > > > My first thought about fixing this was that we could allow the > > > hypervisor to allow those RDMSR but the Linux kernel has no power to > > > actually influence the power management (as the hypervisor is in charge > > > of that) - so would the driver be capable of just sitting back and > > > not influencing the CPU? > > > > Yeah it's easy enough to turn off or disable. But it doesn't currently > > export any knobs for controlling behavior. I don't have any issue with > > exposing some though... > > Pasi, > > Could you test the two patches independetly of each other? Meaning > test the Linux one without the Xen one, and vice-versa. > Sure, I'll give it a try during the weekend when I'm able to access the box in question. Thanks! -- Pasi > diff --git a/drivers/platform/x86/intel_ips.c > b/drivers/platform/x86/intel_ips.c > index 88a98cf..7276831 100644 > --- a/drivers/platform/x86/intel_ips.c > +++ b/drivers/platform/x86/intel_ips.c > @@ -1407,6 +1407,10 @@ static struct ips_mcp_limits *ips_detect_cpu(struct > ips_driver *ips) > } > > rdmsrl(TURBO_POWER_CURRENT_LIMIT, turbo_power); > + if (turbo_power == 0) { > + ips->turbo_toggle_allowed = false; > + return NULL; > + } > tdp = turbo_power & TURBO_TDP_MASK; > > /* Sanity check TDP against CPU */ > diff -r 8e2690dbec49 xen/arch/x86/traps.c > --- a/xen/arch/x86/traps.c Sat Mar 24 13:13:49 2012 -0400 > +++ b/xen/arch/x86/traps.c Wed Mar 28 16:27:31 2012 -0400 > @@ -1746,7 +1746,8 @@ void (*pv_post_outb_hook)(unsigned int p > static inline uint64_t guest_misc_enable(uint64_t val) > { > val &= ~(MSR_IA32_MISC_ENABLE_PERF_AVAIL | > - MSR_IA32_MISC_ENABLE_MONITOR_ENABLE); > + MSR_IA32_MISC_ENABLE_MONITOR_ENABLE | > + MSR_IA32_MISC_ENABLE_TURBO); > val |= MSR_IA32_MISC_ENABLE_BTS_UNAVAIL | > MSR_IA32_MISC_ENABLE_PEBS_UNAVAIL | > MSR_IA32_MISC_ENABLE_XTPR_DISABLE; > diff -r 8e2690dbec49 xen/include/asm-x86/msr-index.h > --- a/xen/include/asm-x86/msr-index.h Sat Mar 24 13:13:49 2012 -0400 > +++ b/xen/include/asm-x86/msr-index.h Wed Mar 28 16:27:31 2012 -0400 > @@ -327,6 +327,7 @@ > #define MSR_IA32_MISC_ENABLE_MONITOR_ENABLE (1<<18) > #define MSR_IA32_MISC_ENABLE_LIMIT_CPUID (1<<22) > #define MSR_IA32_MISC_ENABLE_XTPR_DISABLE (1<<23) > +#define MSR_IA32_MISC_ENABLE_TURBO (1<<38) > > #define MSR_IA32_TSC_DEADLINE 0x000006E0 > #define MSR_IA32_ENERGY_PERF_BIAS 0x000001b0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |