[PATCH v2 1/6] xen: Always calculate max_cpus value

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

 



>>> On 10.08.12 at 15:25, Daniel Kiper <daniel.kiper at oracle.com> wrote:
> max_cpus is not available since 20374 changeset (Miscellaneous data
> placement adjustments). It was moved to __initdata section. This section
> is freed after Xen initialization. Assume that max_cpus is always
> equal to XEN_HYPER_SIZE(cpumask_t) * 8.

Just to repeat my response to the original version of this patch,
which I don't recall having got any answer from you:

"Using nr_cpu_ids, when available, would seem a better fit. And
 I don't see why, on dumps from old hypervisors, you wouldn't
 want to continue using max_cpus. Oh, wait, I see - you would
 have to be able to tell whether it actually sits in .init.data, which
 might not be strait forward."

Jan

> Signed-off-by: Daniel Kiper <daniel.kiper at oracle.com>
> 
> diff -Npru crash-6.0.8.orig/xen_hyper.c crash-6.0.8/xen_hyper.c
> --- crash-6.0.8.orig/xen_hyper.c	2012-06-29 16:59:18.000000000 +0200
> +++ crash-6.0.8/xen_hyper.c	2012-07-05 14:52:59.000000000 +0200
> @@ -1879,11 +1879,9 @@ xen_hyper_get_cpu_info(void)
>  	uint *cpu_idx;
>  	int i, j, cpus;
>  
> -	get_symbol_data("max_cpus", sizeof(xht->max_cpus), &xht->max_cpus);
>  	XEN_HYPER_STRUCT_SIZE_INIT(cpumask_t, "cpumask_t");
> -	if (XEN_HYPER_SIZE(cpumask_t) * 8 > xht->max_cpus) {
> -		xht->max_cpus = XEN_HYPER_SIZE(cpumask_t) * 8;
> -	}
> +	xht->max_cpus = XEN_HYPER_SIZE(cpumask_t) * 8;
> +
>  	if (xht->cpumask) {
>  		free(xht->cpumask);
>  	}






[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux