WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: [RFC, PATCH 24/24] i386 Vmi no idle hz

To: Zachary Amsden <zach@xxxxxxxxxx>
Subject: [Xen-devel] Re: [RFC, PATCH 24/24] i386 Vmi no idle hz
From: Pavel Machek <pavel@xxxxxx>
Date: Thu, 16 Mar 2006 00:31:28 +0100
Cc: Andrew Morton <akpm@xxxxxxxx>, Joshua LeVasseur <jtl@xxxxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Pratap Subrahmanyam <pratap@xxxxxxxxxx>, Wim Coekaerts <wim.coekaerts@xxxxxxxxxx>, Chris Wright <chrisw@xxxxxxxx>, Jack Lo <jlo@xxxxxxxxxx>, Dan Hecht <dhecht@xxxxxxxxxx>, Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxxxx>, Christopher Li <chrisl@xxxxxxxxxx>, Virtualization Mailing List <virtualization@xxxxxxxxxxxxxx>, Linus Torvalds <torvalds@xxxxxxxx>, Anne Holler <anne@xxxxxxxxxx>, Jyothy Reddy <jreddy@xxxxxxxxxx>, Kip Macy <kmacy@xxxxxxxxxxx>, Ky Srinivasan <ksrinivasan@xxxxxxxxxx>, Leendert van Doorn <leendert@xxxxxxxxxxxxxx>, Dan Arai <arai@xxxxxxxxxx>
Delivery-date: Fri, 17 Mar 2006 10:49:58 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <200603131817.k2DIHkMa005792@xxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <200603131817.k2DIHkMa005792@xxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.9i
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

<Prev in Thread] Current Thread [Next in Thread>