[PATCH v6 2/3] x86, apic: Add disable_cpu_apicid kernel parameter
HATAYAMA Daisuke
d.hatayama at jp.fujitsu.com
Thu Nov 21 19:42:28 EST 2013
(2013/11/22 6:33), Vivek Goyal wrote:
> On Thu, Nov 21, 2013 at 11:00:44AM +0900, HATAYAMA Daisuke wrote:
>
> [..]
>> @@ -2122,6 +2129,19 @@ void generic_processor_info(int apicid, int version)
>> bool boot_cpu_detected = physid_isset(boot_cpu_physical_apicid,
>> phys_cpu_present_map);
>>
>> + if (disabled_cpu_apicid != BAD_APICID &&
>> + disabled_cpu_apicid != boot_cpu_physical_apicid &&
>
> Hi Hatayama,
>
> So we are comparing disabled_cpu_apicid with boot_cpu_physical_apicid
> to make sure that one can not disable the cpu we are booting on. Can
> we just read the apic id of booting cpu in local variable and compare
> against that?
>
> Something like as follows.
>
> if (disabled_cpu_apicid != BAD_APICID &&
> disabled_cpu_apicid == apicid &&
> disabled_cpu_apicid != read_apic_id()) {
> /* Disable cpu */
> }
>
> If above works, you will not need first patch in the series?
>
Yes, I came up with the idea, too. But doing this means we leave two different
ways boot_cpu_physical_apicid is used at boot, which seemed incomplete as a
patch. Also, then we could even lost the reason why boot_cpu_physical_apicid
exists.
But, it's true that the 1st patch causes one more reviewing point. I'll
remove it and fix the 2nd patch just as you suggested here.
--
Thanks.
HATAYAMA, Daisuke
More information about the kexec
mailing list