Mailing List Archive

[PATCH RFC 03/25] Move cpufreq option parsing to cpufreq.c
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
---
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__ */
--
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: [PATCH RFC 03/25] Move cpufreq option parsing to cpufreq.c [ In reply to ]
>>> On 06.12.11 at 19:19, <stefano.stabellini@eu.citrix.com> wrote:
> From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

(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@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: [PATCH RFC 03/25] Move cpufreq option parsing to cpufreq.c [ In reply to ]
On Wed, 7 Dec 2011, Jan Beulich wrote:
> >>> On 06.12.11 at 19:19, <stefano.stabellini@eu.citrix.com> wrote:
> > From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> >
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> > Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
>
> Acked-by: Jan Beulich <jbeulich@suse.com>
>
> (perhaps as a standalone change, i.e. outside the whole series)

Thanks! I'll move it to the beginning of the series.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel