lkml.org 
[lkml]   [2011]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC][PATCH 2/2] x86, cpu, amd: Add a per-vendor BSP function
On 08/08/2011 04:57 PM, Borislav Petkov wrote:
>>
>> This is totally going backwards. We *should* be using struct cpu_dev
>> rather than switch statements for this.
>
> Right, but all the cpu_dev things are annotated with __cpuinitconst
> because they're used in CONFIG_HOTPLUG_CPU. __init, OTOH, will be
> discarded once we're done booting. So, we can't convert cpu_dev
> to __initdata because we need it for cpu hotplug and we want the
> run_on_bsp() functionality to be __init since it runs once on boot.
>
> Maybe leave cpu_dev in __cpuinit let it have an __init member which is
> the ->run_on_bsp()? Does that even work?
>

I don't think so, which is a fundamental shortcoming of our way of
handling these kinds of pointers. One way to deal with it would be to
make struct cpu_dev __initconst and copy it into a __cpuinit variable at
init time.

Either way, I'd rather leave the routines in cpuinit memory than adding
another multiplex.

-hpa



\
 
 \ /
  Last update: 2011-08-09 00:17    [W:0.059 / U:0.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site