[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [RFC, PATCH 24/24] i386 Vmi no idle hz
Hi! > When a VCPU enters its idle loop, it disables its periodic > alarm and sets up a one shot alarm for the next time event. > That way, it does not become ready to run just to service > the periodic alarm interrupt. Instead, it can remain halted > until there is some real work pending for it. This allows > the hypervisor to use the physical resources more > effectively since idle VCPUs will have lower overhead. Does this NO_IDLE_HZ work only on VMI-enabled runs or globally? We are trying to get NO_IDLE_HZ working to save some power on notebooks; how is it related to this? > @@ -579,6 +569,17 @@ static ctl_table kern_table[] = { > .proc_handler = &proc_dointvec, > }, > #endif > +#if defined(CONFIG_NO_IDLE_HZ) && (defined(CONFIG_ARCH_S390) || \ > + defined(CONFIG_X86) && > defined(CONFIG_X86_VMI)) > + { > + .ctl_name = KERN_HZ_TIMER, > + .procname = "hz_timer", > + .data = &sysctl_hz_timer, > + .maxlen = sizeof(int), > + .mode = 0644, > + .proc_handler = &proc_dointvec, > + }, > +#endif > { > .ctl_name = KERN_PIDMAX, > .procname = "pid_max", But this seems to disable it for non-VMI machines :-(. > Index: linux-2.6.16-rc6/include/asm-i386/mach-default/mach_idletimer.h > =================================================================== > --- linux-2.6.16-rc6.orig/include/asm-i386/mach-default/mach_idletimer.h > 2006-03-12 19:57:53.000000000 -0800 > +++ linux-2.6.16-rc6/include/asm-i386/mach-default/mach_idletimer.h > 2006-03-12 19:57:53.000000000 -0800 > @@ -0,0 +1,19 @@ > + > +/* > + * NO_IDLE_HZ callbacks. > + */ > + > +#ifndef __ASM_MACH_IDLETIMER_H > +#define __ASM_MACH_IDLETIMER_H > + > +static inline void stop_hz_timer(void) > +{ > + > +} > + > +static inline void restart_hz_timer(struct pt_regs *regs) > +{ > + > +} > + > +#endif /* __ASM_MACH_IDLETIMER_H */ And I guess these would need to be implemented. Can you use NO_IDLE_HZ patches that are already floating around? Pavel -- 180: alg = Rijndael.Create(); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |