linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Trinabh Gupta <trinabh@linux.vnet.ibm.com>
Cc: arjan@linux.intel.com, peterz@infradead.org, lenb@kernel.org,
	suresh.b.siddha@intel.com, benh@kernel.crashing.org,
	venki@google.com, ak@linux.intel.com,
	linux-kernel@vger.kernel.org, sfr@canb.auug.org.au,
	xen-devel@lists.xensource.com
Subject: Re: [RFC PATCH V4 4/5] cpuidle: driver for xen
Date: Tue, 22 Mar 2011 10:50:54 -0400	[thread overview]
Message-ID: <20110322145054.GB26952@dumpdata.com> (raw)
In-Reply-To: <20110322123324.28725.3131.stgit@tringupt.in.ibm.com>

On Tue, Mar 22, 2011 at 06:03:28PM +0530, Trinabh Gupta wrote:
> This patch implements a default cpuidle driver for xen.
> Earlier pm_idle was flipped to default_idle. Maybe there
> is a better way to ensure default_idle is called
> without using this cpuidle driver.

Please also CC the Xen devel mailing list (I did this for you)

I couldn't find it in the description, but I was wondering
what is that you are trying to fix? What is the problem description?

Two, you mention in your description that it was tested on x86 systems. did
you test this with Xen? If so, what version.

> 
> Signed-off-by: Trinabh Gupta <trinabh@linux.vnet.ibm.com>
> ---
> 
>  arch/x86/xen/setup.c |   42 +++++++++++++++++++++++++++++++++++++++++-
>  1 files changed, 41 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
> index a8a66a5..4fce4cd 100644
> --- a/arch/x86/xen/setup.c
> +++ b/arch/x86/xen/setup.c
> @@ -9,6 +9,8 @@
>  #include <linux/mm.h>
>  #include <linux/pm.h>
>  #include <linux/memblock.h>
> +#include <linux/cpuidle.h>
> +#include <linux/slab.h>
>  
>  #include <asm/elf.h>
>  #include <asm/vdso.h>
> @@ -321,6 +323,44 @@ void __cpuinit xen_enable_syscall(void)
>  #endif /* CONFIG_X86_64 */
>  }
>  
> +static struct cpuidle_driver xen_idle_driver = {
> +	.name = "xen_idle",
> +	.owner = THIS_MODULE,
> +	.priority = 1,
> +};
> +
> +extern struct cpuidle_state state_default_state;
> +
> +static int setup_cpuidle(int cpu)
> +{
> +	struct cpuidle_device *dev = kzalloc(sizeof(struct cpuidle_device),
> +					GFP_KERNEL);

No checking to see if dev == NULL?
> +	int count = CPUIDLE_DRIVER_STATE_START;
> +	dev->cpu = cpu;
> +	dev->drv = &xen_idle_driver;
> +
> +	dev->states[count] = state_default_idle;
> +	count++;
> +
> +	dev->state_count = count;
> +
> +	if (cpuidle_register_device(dev))
> +		return -EIO; 
No cleanup of the 'dev' so that we don't leak memory?

> +	return 0;
> +}
> +
> +static int xen_idle_init(void)
> +{
> +	int retval, i;
> +	retval = cpuidle_register_driver(&xen_idle_driver);
> +
> +	for_each_online_cpu(i) {
> +		setup_cpuidle(i);
> +	}
> +
> +	return 0;
> +}
> +
>  void __init xen_arch_setup(void)
>  {
>  	xen_panic_handler_init();
> @@ -354,7 +394,7 @@ void __init xen_arch_setup(void)
>  #ifdef CONFIG_X86_32
>  	boot_cpu_data.hlt_works_ok = 1;
>  #endif
> -	pm_idle = default_idle;
> +	xen_idle_init();
>  	boot_option_idle_override = IDLE_HALT;
>  
>  	fiddle_vdso();
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

  reply	other threads:[~2011-03-22 14:53 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-22 12:32 [RFC PATCH V4 0/5] cpuidle: Cleanup pm_idle and include driver/cpuidle.c in-kernel Trinabh Gupta
2011-03-22 12:32 ` [RFC PATCH V4 1/5] cpuidle: Remove pm_idle pointer for x86 Trinabh Gupta
2011-03-23  1:00   ` Stephen Rothwell
2011-03-23 10:10     ` Trinabh Gupta
2011-03-22 12:32 ` [RFC PATCH V4 2/5] cpuidle: list based cpuidle driver registration and selection Trinabh Gupta
2011-03-23  2:59   ` Len Brown
2011-03-23  9:22     ` Trinabh Gupta
2011-03-23 20:51       ` Len Brown
2011-03-24  4:41         ` Len Brown
2011-03-24 14:13         ` Trinabh Gupta
2011-03-24 16:52           ` Vaidyanathan Srinivasan
2011-03-25  7:13             ` Len Brown
2011-03-25  7:05           ` Len Brown
2011-03-25 15:35             ` [Xen-devel] " Konrad Rzeszutek Wilk
2011-03-31  2:25               ` Len Brown
2011-03-22 12:33 ` [RFC PATCH V4 3/5] cpuidle: default idle driver for x86 Trinabh Gupta
2011-03-23  3:13   ` Len Brown
2011-03-23  9:31     ` Trinabh Gupta
2011-03-24 16:32       ` Vaidyanathan Srinivasan
2011-03-22 12:33 ` [RFC PATCH V4 4/5] cpuidle: driver for xen Trinabh Gupta
2011-03-22 14:50   ` Konrad Rzeszutek Wilk [this message]
2011-03-23  9:57     ` Trinabh Gupta
2011-03-24  7:18       ` Len Brown
2011-03-24 12:05         ` Konrad Rzeszutek Wilk
2011-03-25  7:19           ` Len Brown
2011-03-25 14:43             ` [Xen-devel] " Jeremy Fitzhardinge
2011-03-25 14:38           ` Jeremy Fitzhardinge
2011-03-31  2:02             ` Len Brown
2011-03-31 21:26               ` Len Brown
2011-03-31 22:36                 ` Jeremy Fitzhardinge
2011-04-01  3:03                   ` Len Brown
2011-03-22 12:33 ` [RFC PATCH V4 5/5] cpuidle: cpuidle driver for apm Trinabh Gupta
2011-03-23  1:14   ` Stephen Rothwell
2011-03-23 10:25     ` Trinabh Gupta
2011-03-23 20:32       ` Len Brown
2011-03-24 14:28         ` Trinabh Gupta
2011-03-24 16:21           ` Vaidyanathan Srinivasan
2011-03-25  7:24           ` Len Brown
2011-03-25 18:01             ` Vaidyanathan Srinivasan
2011-03-31  2:17               ` cpuidle asymmetry (was Re: [RFC PATCH V4 5/5] cpuidle: cpuidle driver for apm) Len Brown
2011-03-31 13:18                 ` Peter Zijlstra
2011-04-01  4:09                   ` Len Brown
2011-04-01  8:15                     ` Dipankar Sarma
2011-04-01 14:38                       ` Arjan van de Ven
2011-04-03 16:18                         ` Dipankar Sarma
2011-04-01 14:02                     ` Peter Zijlstra
2011-04-04 14:32                       ` Dipankar Sarma
2011-04-05 15:01                         ` Peter Zijlstra
2011-04-05 15:48                           ` Dipankar Sarma
2011-04-01  7:02                 ` Trinabh Gupta
2011-03-24  4:27   ` [RFC PATCH V4 5/5] cpuidle: cpuidle driver for apm Len Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110322145054.GB26952@dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=ak@linux.intel.com \
    --cc=arjan@linux.intel.com \
    --cc=benh@kernel.crashing.org \
    --cc=lenb@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=sfr@canb.auug.org.au \
    --cc=suresh.b.siddha@intel.com \
    --cc=trinabh@linux.vnet.ibm.com \
    --cc=venki@google.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).