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

Re: [Xen-devel] [PATCH RFC 03/25] Move cpufreq option parsing to cpufreq.c



>>> On 06.12.11 at 19:19, <stefano.stabellini@xxxxxxxxxxxxx> wrote:
> From: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx>

Acked-by: Jan Beulich <jbeulich@xxxxxxxx>

(perhaps as a standalone change, i.e. outside the whole series)

> ---
>  xen/common/domain.c           |   35 ++---------------------------------
>  xen/drivers/cpufreq/cpufreq.c |   31 +++++++++++++++++++++++++++++++
>  xen/include/xen/domain.h      |    2 ++
>  3 files changed, 35 insertions(+), 33 deletions(-)
> 
> diff --git a/xen/common/domain.c b/xen/common/domain.c
> index b75fc1d..f751d8f 100644
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -31,8 +31,8 @@
>  #include <xen/grant_table.h>
>  #include <xen/xenoprof.h>
>  #include <xen/irq.h>
> -#include <acpi/cpufreq/cpufreq.h>
>  #include <asm/debugger.h>
> +#include <asm/processor.h>
>  #include <public/sched.h>
>  #include <public/sysctl.h>
>  #include <public/vcpu.h>
> @@ -45,40 +45,9 @@
>  unsigned int xen_processor_pmbits = XEN_PROCESSOR_PM_PX;
>  
>  /* opt_dom0_vcpus_pin: If true, dom0 VCPUs are pinned. */
> -static bool_t opt_dom0_vcpus_pin;
> +bool_t opt_dom0_vcpus_pin;
>  boolean_param("dom0_vcpus_pin", opt_dom0_vcpus_pin);
>  
> -/* set xen as default cpufreq */
> -enum cpufreq_controller cpufreq_controller = FREQCTL_xen;
> -
> -static void __init setup_cpufreq_option(char *str)
> -{
> -    char *arg;
> -
> -    if ( !strcmp(str, "dom0-kernel") )
> -    {
> -        xen_processor_pmbits &= ~XEN_PROCESSOR_PM_PX;
> -        cpufreq_controller = FREQCTL_dom0_kernel;
> -        opt_dom0_vcpus_pin = 1;
> -        return;
> -    }
> -
> -    if ( !strcmp(str, "none") )
> -    {
> -        xen_processor_pmbits &= ~XEN_PROCESSOR_PM_PX;
> -        cpufreq_controller = FREQCTL_none;
> -        return;
> -    }
> -
> -    if ( (arg = strpbrk(str, ",:")) != NULL )
> -        *arg++ = '\0';
> -
> -    if ( !strcmp(str, "xen") )
> -        if ( arg && *arg )
> -            cpufreq_cmdline_parse(arg);
> -}
> -custom_param("cpufreq", setup_cpufreq_option);
> -
>  /* Protect updates/reads (resp.) of domain_list and domain_hash. */
>  DEFINE_SPINLOCK(domlist_update_lock);
>  DEFINE_RCU_READ_LOCK(domlist_read_lock);
> diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
> index f49ea1c..34ea2a9 100644
> --- a/xen/drivers/cpufreq/cpufreq.c
> +++ b/xen/drivers/cpufreq/cpufreq.c
> @@ -61,6 +61,37 @@ static LIST_HEAD_READ_MOSTLY(cpufreq_dom_list_head);
>  struct cpufreq_governor *__read_mostly cpufreq_opt_governor;
>  LIST_HEAD_READ_MOSTLY(cpufreq_governor_list);
>  
> +/* set xen as default cpufreq */
> +enum cpufreq_controller cpufreq_controller = FREQCTL_xen;
> +
> +static void __init setup_cpufreq_option(char *str)
> +{
> +    char *arg;
> +
> +    if ( !strcmp(str, "dom0-kernel") )
> +    {
> +        xen_processor_pmbits &= ~XEN_PROCESSOR_PM_PX;
> +        cpufreq_controller = FREQCTL_dom0_kernel;
> +        opt_dom0_vcpus_pin = 1;
> +        return;
> +    }
> +
> +    if ( !strcmp(str, "none") )
> +    {
> +        xen_processor_pmbits &= ~XEN_PROCESSOR_PM_PX;
> +        cpufreq_controller = FREQCTL_none;
> +        return;
> +    }
> +
> +    if ( (arg = strpbrk(str, ",:")) != NULL )
> +        *arg++ = '\0';
> +
> +    if ( !strcmp(str, "xen") )
> +        if ( arg && *arg )
> +            cpufreq_cmdline_parse(arg);
> +}
> +custom_param("cpufreq", setup_cpufreq_option);
> +
>  bool_t __read_mostly cpufreq_verbose;
>  
>  struct cpufreq_governor *__find_governor(const char *governor)
> diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
> index 765e132..de3e8db 100644
> --- a/xen/include/xen/domain.h
> +++ b/xen/include/xen/domain.h
> @@ -85,4 +85,6 @@ int continue_hypercall_on_cpu(
>  
>  extern unsigned int xen_processor_pmbits;
>  
> +extern bool_t opt_dom0_vcpus_pin;
> +
>  #endif /* __XEN_DOMAIN_H__ */




_______________________________________________
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®.