RE: x86/non-x86: percpu, node ids, apic ids x86.git fixup
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: "Ingo Molnar" <mingo@xxxxxxx>
- Subject: RE: x86/non-x86: percpu, node ids, apic ids x86.git fixup
- From: "Luck, Tony" <tony.luck@xxxxxxxxx>
- Date: Wed, 30 Jan 2008 13:15:21 -0800
- Cc: "Mike Travis" <travis@xxxxxxx>, "Geert Uytterhoeven" <Geert.Uytterhoeven@xxxxxxxxxxx>, "Linus Torvalds" <torvalds@xxxxxxxxxxxxxxxxxxxx>, "Thomas Gleixner" <tglx@xxxxxxxxxxxxx>, "Linux Kernel Development" <linux-kernel@xxxxxxxxxxxxxxx>, "Linux/PPC Development" <linuxppc-dev@xxxxxxxxxx>, <linux-ia64@xxxxxxxxxxxxxxx>, <sparclinux@xxxxxxxxxxxxxxx>
- In-reply-to: <20080130205915.GA4562@xxxxxxx>
- List-id: <linux-ia64.vger.kernel.org>
- References: <20080130161036.GA12293@xxxxxxx> <1FE6DD409037234FAB833C420AA843EC757C72@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20080130180623.GA24881@xxxxxxx> <1FE6DD409037234FAB833C420AA843EC757DEA@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <47A0CD4B.5040706@xxxxxxx> <1FE6DD409037234FAB833C420AA843EC757F12@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20080130194616.GA19426@xxxxxxx> <1FE6DD409037234FAB833C420AA843EC757F7C@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20080130200221.GA28073@xxxxxxx> <1FE6DD409037234FAB833C420AA843EC757FC2@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20080130205915.GA4562@xxxxxxx>
- Thread-index: AchjgwwT+Vd3uaCjRc2frc6p5ctgqAAAQNgA
- Thread-topic: x86/non-x86: percpu, node ids, apic ids x86.git fixup
> this i believe builds an implicit dependency between the mca_asm.o
> position within the image and the ia64_mca_data percpu variable it
> accesses - it relies on the immediate 22 addressing mode that has 4MB of
> scope. Per chance, the .config you sent creates a 14MB image, and the
> percpu variables moved too far away for the linker to be able to fulfill
> this constraint.
Sounds very plausible.
> The workaround is to define PER_CPU_ATTRIBUTES to link percpu variables
> back into the .percpu section on UP too - which ia64 links specially
> into its vmlinux.lds. But ultimately i think the better solution would
> be to remove this dependency between arch/ia64/kernel/mca_asm.S and the
> position of the percpu data.
Yup. That fixes the build ... the resulting binary doesn't boot though :-(
I just realized that it has been a while since I tried booting a UP
kernel ... so the problem may be unrelated bitrot elsewhere.
Overall you are right that the mca_asm.S code should not be dependent on
the relative location of the data objects.
I'll start digging on why this doesn't boot ... but you might as well
send the fixes so far upstream to Linus so that the SMP fix is available
(which is all anyone really cares about ... there are very, very few
UP ia64 systems in existence).
Acked-by: Tony Luck <tony.luck@xxxxxxxxx>
-Tony
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
- References:
- Re: x86/non-x86: percpu, node ids, apic ids x86.git fixup
- RE: x86/non-x86: percpu, node ids, apic ids x86.git fixup
- Re: x86/non-x86: percpu, node ids, apic ids x86.git fixup
- RE: x86/non-x86: percpu, node ids, apic ids x86.git fixup
- Re: x86/non-x86: percpu, node ids, apic ids x86.git fixup
- RE: x86/non-x86: percpu, node ids, apic ids x86.git fixup
- Re: x86/non-x86: percpu, node ids, apic ids x86.git fixup
- RE: x86/non-x86: percpu, node ids, apic ids x86.git fixup
- Re: x86/non-x86: percpu, node ids, apic ids x86.git fixup
- RE: x86/non-x86: percpu, node ids, apic ids x86.git fixup
- Re: x86/non-x86: percpu, node ids, apic ids x86.git fixup
[Index of Archives]
[Linux Kernel]
[Sparc Linux]
[DCCP]
[Linux ARM]
[Yosemite News]
[Linux SCSI]
[Linux x86_64]
[Linux for Ham Radio]