[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4A942ED7.10109@kernel.org>
Date: Tue, 25 Aug 2009 11:35:03 -0700
From: Yinghai Lu <yinghai@...nel.org>
To: Ingo Molnar <mingo@...e.hu>
CC: Ravikiran G Thirumalai <kiran@...lex86.org>,
torvalds@...ux-foundation.org, linux-kernel@...r.kernel.org,
shai@...lex86.org, Suresh Siddha <suresh.b.siddha@...el.com>
Subject: Re: [patch] x86: 2.6.31-rc7 crash due to buggy flat_phys_pkg_id
Ingo Molnar wrote:
> * Ravikiran G Thirumalai <kiran@...lex86.org> wrote:
>
>> On Mon, Aug 24, 2009 at 10:12:01PM -0700, Yinghai Lu wrote:
>>> Ravikiran G Thirumalai wrote:
>>>> On Mon, Aug 24, 2009 at 04:53:45PM -0700, Yinghai Lu wrote:
>>>>> Ravikiran G Thirumalai wrote:
>>>>>> Signed-off-by: Ravikiran Thirumalai <kiran@...lex86.org>
>>>>>> Cc: Yinghai Lu <yinghai@...nel.org>
>>>>>>
>>>> Why? The specs seem to indicate otherwise unless I am mistaken --
>>>> Intel systems programming guide, Vol 3A Part1, chapter 7 section
>>>> 7.5.5 - Identifying Logical Processors in a MP system:
>>>> <quote>
>>>> After the BIOS has completed the MP initialization protocol, each logical
>>>> processor can be uniquely identified by its local APIC ID. Software can
>>>> access these APIC IDs in either of the following ways
>>>> </quote>
>>>> phys_pkg_id() indicates that the logical package id is being looked up,
>>>> so local apic id should be used here no?
>>>> What am I missing?
>>> initial apic id : it can not changed, there is fixed mapping from that to physical processor id aka socket id / node id.
>>>
>>> apic id: could be changed by BIOS to any value. there is no good way to get phys_pkg_id from that.
>>>
>> But BIOS is supposed to change it to a sane value. Until 2.6.30,
>> local apic id has been used to get phys_pkg_id for the 'flat'
>> apics! What changed? Was this changed for a BIOS bug? Even the
>> intel books seem to indicate local apic usage!
>
> We should revert to the .30 behavior unless there's a good reason
> (even in that case we'll solve the regression and do a workaround
> for vSMP). Yinghai?
we should stop overloading phys_pkg_id to get physical processor id (socket id ?) and apic id.
we need to find out what vSMP initial apic id looks like. and have one better phys_pkg_id for it.
otherwise we have problem with intel system that have apic id changing by BIOS too.
YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists