Message ID | 1426115422-1823-2-git-send-email-mcgrof@do-not-panic.com |
---|---|
State | Not Applicable |
Headers | show |
On 11/03/15 23:10, Luis R. Rodriguez wrote: ACK the concept - the logic to compile up APIC support is circuitous to say the least. Personally think we should just always compile up the APIC code if the arch declares support and let the bootstrap code interrogate CPUID. Who in 2015 is really running a system without an APIC/IO-APIC and tip-of-tree Linux and does that one user care about adding 12k to her kernel ? I suspect not and in any case can force the APIC off with a command line argument > @@ -899,6 +899,7 @@ config X86_UP_APIC > bool "Local APIC support on uniprocessors" if !PCI_MSI Tried to apply this to torvalds-master to test :( Should it ? Which branch are you on here ? Applying: x86: kconfig: remove X86_UP_IOAPIC error: patch failed: arch/x86/Kconfig:899 error: arch/x86/Kconfig: patch does not apply Patch failed at 0001 x86: kconfig: remove X86_UP_IOAPIC -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Mar 12, 2015 at 01:19:14AM +0000, Bryan O'Donoghue wrote: > On 11/03/15 23:10, Luis R. Rodriguez wrote: > > ACK the concept - the logic to compile up APIC support is circuitous > to say the least. It took me a while to grok this and indeed the goal was to make it much simpler to read, but at the same time to see if we can reach a compromise to simplify it for 32-bit. > Personally think we should just always compile up the APIC code if > the arch declares support and let the bootstrap code interrogate > CPUID. This would be the *next* level of compromise to make, I felt comfortable in raising the size compromise question for 32-bit but its not clear to me if this is a general question which we can address for all x86. There is indeed no performance pentalty for both so the question comes down to tex size increase, and its why I provided the numbers. My preference was to leave the optimization question for all x86 as a rather secondary question *iff* we can agree on something for 32-bit. > Who in 2015 is really running a system without an > APIC/IO-APIC and tip-of-tree Linux and does that one user care about > adding 12k to her kernel ? I suspect not and in any case can force > the APIC off with a command line argument I also figured this was the case, but figured it was safer to pose the question for 32-bit. If indeed folks who produce the hardware can conclude the size increase is reasonable for all platforms given no performance penalty then we can surely keep this even simpler -- I think its safer to ask this question for 32-bit and leave only the larger picture questoin as an evolutionairy question. > >@@ -899,6 +899,7 @@ config X86_UP_APIC > > bool "Local APIC support on uniprocessors" if !PCI_MSI > > Tried to apply this to torvalds-master to test :( Should it ? Which > branch are you on here ? > > Applying: x86: kconfig: remove X86_UP_IOAPIC > error: patch failed: arch/x86/Kconfig:899 > error: arch/x86/Kconfig: patch does not apply > Patch failed at 0001 x86: kconfig: remove X86_UP_IOAPIC linux-next tag next-20150311 Luis -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 110f6ae..b17a8ea 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -899,6 +899,7 @@ config X86_UP_APIC bool "Local APIC support on uniprocessors" if !PCI_MSI default PCI_MSI depends on X86_32 && !SMP && !X86_32_NON_STANDARD + select X86_IO_APIC ---help--- A local APIC (Advanced Programmable Interrupt Controller) is an integrated interrupt controller in the CPU. If you have a single-CPU @@ -909,18 +910,6 @@ config X86_UP_APIC performance counters), and the NMI watchdog which detects hard lockups. -config X86_UP_IOAPIC - bool "IO-APIC support on uniprocessors" - depends on X86_UP_APIC - ---help--- - An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an - SMP-capable replacement for PC-style interrupt controllers. Most - SMP systems and many recent uniprocessor systems have one. - - If you have a single-CPU system with an IO-APIC, you can say Y here - to use it. If you say Y here even though your machine doesn't have - an IO-APIC, then the kernel will still run with no slowdown at all. - config X86_LOCAL_APIC def_bool y depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC || PCI_MSI @@ -928,7 +917,7 @@ config X86_LOCAL_APIC config X86_IO_APIC def_bool y - depends on X86_LOCAL_APIC || X86_UP_IOAPIC + depends on X86_LOCAL_APIC select IRQ_DOMAIN config X86_REROUTE_FOR_BROKEN_BOOT_IRQS