Signed-off-by: Jan Beulich --- 2010-03-02.orig/xen/arch/x86/acpi/cpufreq/cpufreq.c 2009-10-16 14:38:50.000000000 +0200 +++ 2010-03-02/xen/arch/x86/acpi/cpufreq/cpufreq.c 2010-03-18 11:45:12.000000000 +0100 @@ -540,13 +540,15 @@ acpi_cpufreq_cpu_init(struct cpufreq_pol switch (perf->control_register.space_id) { case ACPI_ADR_SPACE_SYSTEM_IO: - printk("xen_pminfo: @acpi_cpufreq_cpu_init," - "SYSTEM IO addr space\n"); + if (cpufreq_verbose) + printk("xen_pminfo: @acpi_cpufreq_cpu_init," + "SYSTEM IO addr space\n"); data->cpu_feature = SYSTEM_IO_CAPABLE; break; case ACPI_ADR_SPACE_FIXED_HARDWARE: - printk("xen_pminfo: @acpi_cpufreq_cpu_init," - "HARDWARE addr space\n"); + if (cpufreq_verbose) + printk("xen_pminfo: @acpi_cpufreq_cpu_init," + "HARDWARE addr space\n"); if (!check_est_cpu(cpu)) { result = -ENODEV; goto err_unreg; --- 2010-03-02.orig/xen/drivers/cpufreq/cpufreq.c 2010-03-18 10:11:23.000000000 +0100 +++ 2010-03-02/xen/drivers/cpufreq/cpufreq.c 2010-03-18 11:38:39.000000000 +0100 @@ -59,6 +59,8 @@ static LIST_HEAD(cpufreq_dom_list_head); struct cpufreq_governor *cpufreq_opt_governor; LIST_HEAD(cpufreq_governor_list); +bool_t __read_mostly cpufreq_verbose; + struct cpufreq_governor *__find_governor(const char *governor) { struct cpufreq_governor *t; @@ -195,13 +197,15 @@ int cpufreq_add_cpu(unsigned int cpu) xfree(policy); return ret; } - printk(KERN_EMERG"CPU %u initialization completed\n", cpu); + if (cpufreq_verbose) + printk("CPU %u initialization completed\n", cpu); } else { firstcpu = first_cpu(cpufreq_dom->map); policy = cpufreq_cpu_policy[firstcpu]; cpufreq_cpu_policy[cpu] = policy; - printk(KERN_EMERG"adding CPU %u\n", cpu); + if (cpufreq_verbose) + printk("adding CPU %u\n", cpu); } cpu_set(cpu, policy->cpus); @@ -315,47 +319,47 @@ int cpufreq_del_cpu(unsigned int cpu) xfree(cpufreq_dom); } - printk(KERN_EMERG"deleting CPU %u\n", cpu); + if (cpufreq_verbose) + printk("deleting CPU %u\n", cpu); return 0; } static void print_PCT(struct xen_pct_register *ptr) { - printk(KERN_INFO "\t_PCT: descriptor=%d, length=%d, space_id=%d, " - "bit_width=%d, bit_offset=%d, reserved=%d, address=%"PRId64"\n", - ptr->descriptor, ptr->length, ptr->space_id, ptr->bit_width, - ptr->bit_offset, ptr->reserved, ptr->address); + printk("\t_PCT: descriptor=%d, length=%d, space_id=%d, " + "bit_width=%d, bit_offset=%d, reserved=%d, address=%"PRId64"\n", + ptr->descriptor, ptr->length, ptr->space_id, ptr->bit_width, + ptr->bit_offset, ptr->reserved, ptr->address); } static void print_PSS(struct xen_processor_px *ptr, int count) { int i; - printk(KERN_INFO "\t_PSS: state_count=%d\n", count); + printk("\t_PSS: state_count=%d\n", count); for (i=0; inum_entries, ptr->revision, ptr->domain, ptr->coord_type, - ptr->num_processors); + ptr->num_entries, ptr->revision, ptr->domain, ptr->coord_type, + ptr->num_processors); } static void print_PPC(unsigned int platform_limit) { - printk(KERN_INFO "\t_PPC: %d\n", platform_limit); + printk("\t_PPC: %d\n", platform_limit); } int set_px_pminfo(uint32_t acpi_id, struct xen_processor_performance *dom0_px_info) @@ -370,8 +374,9 @@ int set_px_pminfo(uint32_t acpi_id, stru ret = -EINVAL; goto out; } - printk(KERN_INFO "Set CPU acpi_id(%d) cpuid(%d) Px State info:\n", - acpi_id, cpuid); + if ( cpufreq_verbose ) + printk("Set CPU acpi_id(%d) cpuid(%d) Px State info:\n", + acpi_id, cpuid); pmpt = processor_pminfo[cpuid]; if ( !pmpt ) @@ -415,8 +420,12 @@ int set_px_pminfo(uint32_t acpi_id, stru memcpy ((void *)&pxpt->status_register, (void *)&dom0_px_info->status_register, sizeof(struct xen_pct_register)); - print_PCT(&pxpt->control_register); - print_PCT(&pxpt->status_register); + + if ( cpufreq_verbose ) + { + print_PCT(&pxpt->control_register); + print_PCT(&pxpt->status_register); + } } if ( dom0_px_info->flags & XEN_PX_PSS ) @@ -437,7 +446,9 @@ int set_px_pminfo(uint32_t acpi_id, stru copy_from_guest(pxpt->states, dom0_px_info->states, dom0_px_info->state_count); pxpt->state_count = dom0_px_info->state_count; - print_PSS(pxpt->states,pxpt->state_count); + + if ( cpufreq_verbose ) + print_PSS(pxpt->states,pxpt->state_count); } if ( dom0_px_info->flags & XEN_PX_PSD ) @@ -458,13 +469,17 @@ int set_px_pminfo(uint32_t acpi_id, stru memcpy ((void *)&pxpt->domain_info, (void *)&dom0_px_info->domain_info, sizeof(struct xen_psd_package)); - print_PSD(&pxpt->domain_info); + + if ( cpufreq_verbose ) + print_PSD(&pxpt->domain_info); } if ( dom0_px_info->flags & XEN_PX_PPC ) { pxpt->platform_limit = dom0_px_info->platform_limit; - print_PPC(pxpt->platform_limit); + + if ( cpufreq_verbose ) + print_PPC(pxpt->platform_limit); if ( pxpt->init == XEN_PX_INIT ) { @@ -506,6 +521,11 @@ static int __init cpufreq_handle_common_ return 1; } + if (!strcmp(name, "verbose")) { + cpufreq_verbose = !val || !!simple_strtoul(val, NULL, 0); + return 1; + } + return 0; } --- 2010-03-02.orig/xen/drivers/cpufreq/utility.c 2010-02-08 17:39:12.000000000 +0100 +++ 2010-03-02/xen/drivers/cpufreq/utility.c 2010-03-18 11:38:23.000000000 +0100 @@ -229,8 +229,9 @@ int cpufreq_frequency_table_cpuinfo(stru } if (second_max_freq == 0) second_max_freq = max_freq; - printk(XENLOG_INFO "max_freq: %u second_max_freq: %u\n", - max_freq, second_max_freq); + if (cpufreq_verbose) + printk("max_freq: %u second_max_freq: %u\n", + max_freq, second_max_freq); policy->min = policy->cpuinfo.min_freq = min_freq; policy->max = policy->cpuinfo.max_freq = max_freq; --- 2010-03-02.orig/xen/include/acpi/cpufreq/cpufreq.h 2010-03-18 10:11:23.000000000 +0100 +++ 2010-03-02/xen/include/acpi/cpufreq/cpufreq.h 2010-03-18 11:38:57.000000000 +0100 @@ -22,6 +22,8 @@ DECLARE_PER_CPU(spinlock_t, cpufreq_statistic_lock); +extern bool_t __read_mostly cpufreq_verbose; + struct cpufreq_governor; struct acpi_cpufreq_data {