[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <86802c440809041337l5ae10298od1c38dd43863e0ea@mail.gmail.com>
Date: Thu, 4 Sep 2008 13:37:20 -0700
From: "Yinghai Lu" <yhlu.kernel@...il.com>
To: "Ingo Molnar" <mingo@...e.hu>
Cc: "Thomas Gleixner" <tglx@...utronix.de>,
"H. Peter Anvin" <hpa@...or.com>,
"Andrew Morton" <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] x86: order functions in cpu/common.c and cpu/common_64.c
On Thu, Sep 4, 2008 at 1:32 PM, Yinghai Lu <yhlu.kernel@...il.com> wrote:
> On Thu, Sep 4, 2008 at 1:07 PM, Yinghai Lu <yhlu.kernel@...il.com> wrote:
>> On Thu, Sep 4, 2008 at 1:04 PM, Ingo Molnar <mingo@...e.hu> wrote:
>>>
>>> * Ingo Molnar <mingo@...e.hu> wrote:
>>>
>>>> > i've pushed out the broken tree into tip/tmp.master.broken (havent
>>>> > updated tip/master with the breakage). I've removed the broken
>>>> > printk in kernel/resource.c that Andrew found, see commit
>>>> > 06e44f6af324 - so that's not the cause.
>>>>
>>>> i've double checked that 06e44f6af324 is applied. I'll bisect this.
>>>
>>> bisection came up with:
>>>
>>> # good: [8bfd9710] Merge branch 'x86/xsave'
>>> # bad: [06e44f6a] IO resources: fix/remove printk
>>> # good: [282a5f84] Merge branch 'irq/sparseirq'
>>> # bad: [a0854a46] x86: make 32bit support show_msr like 64 bit
>>> # good: [5031088d] x86: delay early cpu initialization until cpuid is
>>> # good: [9d31d35b] x86: order functions in cpu/common.c and cpu/commo
>>> # bad: [10a434fc] x86: remove cpu_vendor_dev
>>>
>>> | 10a434fcb23a57c385177a0086955fae01003f64 is first bad commit
>>> | commit 10a434fcb23a57c385177a0086955fae01003f64
>>> | Author: Yinghai Lu <yhlu.kernel@...il.com>
>>> | Date: Thu Sep 4 21:09:45 2008 +0200
>>> |
>>> | x86: remove cpu_vendor_dev
>>>
>>> and the thing is, 10a434fc is way too big:
>>>
>>> | 15 files changed, 106 insertions(+), 106 deletions(-)
>>>
>>> and it's not obvious at first (neither at second) sight what the problem
>>> is. You really need to start doing much smaller patches for such
>>> critical/hard-to-debug code areas.
>>>
>> could be alignment again...
>
> ffffffff80d86c20 d __cpu_dev_amd_cpu_dev
> ffffffff80d86c20 A __x86_cpu_dev_start
> ffffffff80d86c28 d __dyn_array_ptr_irq_2_pin_head
> ffffffff80d86c28 D __dyn_array_start
> ffffffff80d86c30 d __dyn_array_ptr_irq_cfgx
> ffffffff80d86c38 d __dyn_array_ptr_sparse_irqs
> ffffffff80d86c40 D __dyn_array_end
> ffffffff80d86c40 d __initcall_selinux_init
> ffffffff80d86c40 D __per_cpu_dyn_array_end
> ffffffff80d86c40 D __per_cpu_dyn_array_start
> ffffffff80d86c40 D __security_initcall_start
> ffffffff80d86c48 R __parainstructions
> ffffffff80d86c48 D __security_initcall_end
> ffffffff80d86c48 A __x86_cpu_dev_end
>
> don't know how could the linker squash others tables into cpu_dev
> pointer array..
it seems there is some merging problem.. please check
index 192f6d8..30973db 100644
--- a/arch/x86/kernel/vmlinux_64.lds.S
+++ b/arch/x86/kernel/vmlinux_64.lds.S
@@ -172,11 +172,11 @@ SECTIONS
.x86_cpu_dev.init : AT(ADDR(.x86_cpu_dev.init) - LOAD_OFFSET) {
*(.x86_cpu_dev.init)
}
+ __x86_cpu_dev_end = .;
DYN_ARRAY_INIT(8)
SECURITY_INIT
- __x86_cpu_dev_end = .;
. = ALIGN(8);
.parainstructions : AT(ADDR(.parainstructions) - LOAD_OFFSET) {
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