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

Re: [Xen-devel] [Patch 1/2]xen boot_cpu_data initialize



On Mon, 2015-03-09 at 12:48 +0530, Uma Sharma wrote:
> This patch inserts some boot data initilization in xen/arch and
> function definition in xen/include.
> Signed-off-by: Uma Sharma <uma.sharma523@xxxxxxxxx>
>
So, this is basically the same as patch 1 from this series of mine:

 http://lists.xen.org/archives/html/xen-devel/2014-08/msg02168.html
 http://lists.xen.org/archives/html/xen-devel/2014-08/msg02166.html

which I still need to rework basing on the comment I got (see the rest
of the thread).

I haven't done this yet, but will soon and, if Uma is ok with it, I'll
add to that the second patch of this series (of course, rataining her
Signed-off-by) when sending it.

I've been sidetracked by a bunch of other stuff, but I've got time now,
and I'll do it right away, is it fine Uma (and others, of course)?

Regards,
Dario

> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index d316212..4f3ce15 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1259,6 +1259,11 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>      microcode_grab_module(module_map, mbi, bootstrap_map);
>  
>      timer_init();
> +    /*
> +     * Identify the boot CPU, in case the scheduler initialization
> +     * needs to know about it (e.g., topology, etc.)
> +     */
> +    identify_cpu(&boot_cpu_data);
>  
>      init_idle_domain();
>  
> @@ -1270,8 +1275,6 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>  
>      arch_init_memory();
>  
> -    identify_cpu(&boot_cpu_data);
> -
>      if ( cpu_has_fxsr )
>          set_in_cr4(X86_CR4_OSFXSR);
>      if ( cpu_has_xmm )
> diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
> index 7ae561c..b4c4cc2 100644
> --- a/xen/arch/x86/smpboot.c
> +++ b/xen/arch/x86/smpboot.c
> @@ -59,7 +59,8 @@ DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_core_mask);
>  cpumask_t cpu_online_map __read_mostly;
>  EXPORT_SYMBOL(cpu_online_map);
>  
> -struct cpuinfo_x86 cpu_data[NR_CPUS];
> +struct cpuinfo_x86 cpu_data[NR_CPUS] =
> +        { [0 ... NR_CPUS-1] = { .phys_proc_id=-1, .cpu_core_id=-1 } };
>  
>  u32 x86_cpu_to_apicid[NR_CPUS] __read_mostly =
>       { [0 ... NR_CPUS-1] = BAD_APICID };
> diff --git a/xen/include/asm-x86/processor.h b/xen/include/asm-x86/processor.h
> index 87d80ff..6ec9588 100644
> --- a/xen/include/asm-x86/processor.h
> +++ b/xen/include/asm-x86/processor.h
> @@ -214,7 +214,9 @@ extern void detect_extended_topology(struct cpuinfo_x86 
> *c);
>  
>  extern void detect_ht(struct cpuinfo_x86 *c);
>  
> +#define boot_cpu_to_core()   (boot_cpu_data.cpu_core_id)
>  #define cpu_to_core(_cpu)   (cpu_data[_cpu].cpu_core_id)
> +#define boot_cpu_to_socket() (boot_cpu_data.phys_proc_id)
>  #define cpu_to_socket(_cpu) (cpu_data[_cpu].phys_proc_id)
>  
>  unsigned int apicid_to_socket(unsigned int);

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.