smpboot integration
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest79 patches 24 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/79 | change var types in __inquire_remote_apicarch/ | +2 | 0 replies | |
| 2/79 | add loglevel to printksarch/ | +6 | 0 replies | |
| 3/79 | use apic_*_around instead of apic_write in x86_64arch/ | +10 | 0 replies | |
| 4/79 | use start_ipi_hook in x86_64arch/ include/ include/ | +11 | 0 replies | |
| 5/79 | add an smp_apply_quirks to smpboot_32.carch/ | +18 | 0 replies | |
| 6/79 | decouple call to print_cpu_info from smp_store_cpu_infoarch/ | +4 | 0 replies | |
| 7/79 | provide specialized identification routines for x86_64arch/ | +12 | 0 replies | |
| 8/79 | use identify_boot_cpuarch/ | +1 | 0 replies | |
| 9/79 | call identify_secondary_cpu in smp_store_cpu_infoarch/ | +2 | 0 replies | |
| 10/79 | merge smp_store_cpu_infoarch/ arch/ arch/ +2 more | +80 | 0 replies | |
| 11/79 | always enable irqs when entering idlearch/ | +7 | 0 replies | |
| 12/79 | don't call local_irq_enable before entering idlearch/ | +0 | 0 replies | |
| 13/79 | move setup_secondary_clock a little bit down in the functionarch/ | +2 | 0 replies | |
| 14/79 | move state update out of ipi_lockarch/ | +2 | 0 replies | |
| 15/79 | provide APIC_INTEGRATED definition for x86_64include/ | +5 | 0 replies | |
| 16/79 | use APIC_INTEGRATED tests in x86_64arch/ | +13 | 0 replies | |
| 17/79 | add barriers statementarch/ arch/ | +5 | 0 replies | |
| 18/79 | isolate sanity checkingarch/ | +31 | 0 replies | |
| 19/79 | isolate logic to disable smparch/ | +16 | 0 replies | |
| 20/79 | do tests before do_boot_cpu in i386arch/ | +13 | 0 replies | |
| 21/79 | make __smp_prepare_cpu voidarch/ | +3 | 0 replies | |
| 22/79 | move assignment of CPU_PREPARE before do_boot_cpuarch/ | +1 | 0 replies | |
| 23/79 | unify extern masks declarationinclude/ include/ include/ | +12 | 0 replies | |
| 24/79 | define bios to apicid mappingarch/ include/ include/ +1 more | +12 | 0 replies | |
| 25/79 | initialize map pointers in setup_32.carch/ | +24 | 0 replies | |
| 26/79 | make node to apic mapping declarations unconditionalinclude/ | +4 | 0 replies | |
| 27/79 | fix alloc_bootmem_pages_node macroinclude/ | +1 | 0 replies | |
| 28/79 | use specialized routine for setup per-cpu areaarch/ arch/ arch/ +2 more | +107 | 0 replies | |
| 29/79 | fill bios cpu to apicid mapsarch/ | +8 | 0 replies | |
| 30/79 | fill cpu to apicid and present map in mpparsearch/ arch/ | +24 | 0 replies | |
| 31/79 | get rid of cpucountarch/ | +3 | 0 replies | |
| 32/79 | allow user to impress friends.arch/ arch/ | +22 | 0 replies | |
| 33/79 | do smp tainting checks in a separate functionarch/ arch/ | +21 | 0 replies | |
| 34/79 | move impress_friends and smp_check to cpus_donearch/ arch/ arch/ | +22 | 0 replies | |
| 35/79 | add subarch support (for headers) to x86_64arch/ | +0 | 0 replies | |
| 36/79 | include mach_wakecpu.h in smpboot_64arch/ | +3 | 0 replies | |
| 37/79 | include smpboot_hooks.h in smpboot_64.carch/ | +3 | 0 replies | |
| 38/79 | move smp_intr_init away from smpboot_32.carch/ arch/ | +23 | 0 replies | |
| 39/79 | don't set maps in native_smp_prepare_boot_cpu()arch/ | +0 | 0 replies | |
| 40/79 | wipe get_nmi_reason out of nmi_64.harch/ arch/ include/ | +4 | 0 replies | |
| 41/79 | unify nmi_32.h and nmi_64.harch/ include/ include/ +1 more | +90 | 0 replies | |
| 42/79 | call check_nmi_watchdog explicitly in native_smp_cpus_donearch/ arch/ | +1 | 0 replies | |
| 43/79 | call nmi_watchdog_default in i386arch/ include/ | +4 | 0 replies | |
| 44/79 | don't initialize sibling and core maps during preparationarch/ | +0 | 0 replies | |
| 45/79 | fix apic acking of irqsinclude/ | +1 | 9 replies | |
| 46/79 | schedule work only if keventd is already runningarch/ | +6 | 0 replies | |
| 47/79 | do not zap_low_mappings in __smp_prepare_cpusarch/ | +0 | 0 replies | |
| 48/79 | boot cpus from cpu_up, instead of prepare_cpusarch/ | +2 | 0 replies | |
| 49/79 | get rid of commenced mask.arch/ | +0 | 0 replies | |
| 50/79 | use create_idle struct in do_boot_cpuarch/ | +59 | 0 replies | |
| 51/79 | don't span a new worker in __smp_prepare_cpuarch/ | +2 | 0 replies | |
| 52/79 | modify smp_callin in x86_64 to look like i386arch/ | +5 | 0 replies | |
| 53/79 | wrap esr setting up in i386 in lapic_setup_esrarch/ | +40 | 0 replies | |
| 54/79 | provide an end_local_APIC_setup functionarch/ arch/ | +9 | 0 replies | |
| 55/79 | calibrate delay with irqs enabledarch/ | +2 | 0 replies | |
| 56/79 | minor adjustments for do_boot_cpuarch/ arch/ | +20 | 0 replies | |
| 57/79 | call do_boot_cpu directly from native_cpu_uparch/ | +6 | 0 replies | |
| 58/79 | include mach_apic.h in smpboot_64.c and smpboot.carch/ arch/ arch/ +7 more | +25 | 4 replies | |
| 59/79 | change wakeup_secondary namearch/ | +4 | 0 replies | |
| 60/79 | add callin tests to cpu_uparch/ | +13 | 0 replies | |
| 61/79 | move {un}map_cpu_to_logical_apicid to smpboot.carch/ arch/ | +62 | 0 replies | |
| 62/79 | move stack_start to smp.harch/ arch/ include/ | +7 | 0 replies | |
| 63/79 | change boot_cpu_id to boot_cpu_physical_apicidarch/ arch/ arch/ +5 more | +30 | 0 replies | |
| 64/79 | integrate do_boot_cpuarch/ arch/ arch/ +1 more | +594 | 0 replies | |
| 65/79 | integrate start_secondaryarch/ arch/ arch/ | +85 | 0 replies | |
| 66/79 | merge smp_prepare_boot_cpuarch/ arch/ arch/ | +18 | 0 replies | |
| 67/79 | merge native_smp_cpus_donearch/ arch/ arch/ | +20 | 0 replies | |
| 68/79 | use physical id when disabling smparch/ | +5 | 0 replies | |
| 69/79 | get rid of smp_boot_cpusarch/ | +11 | 0 replies | |
| 70/79 | additions to i386 native_smp_prepare_cpus.arch/ | +19 | 0 replies | |
| 71/79 | assign nr_ioapics = 0 in smpboot_hooks.hinclude/ | +2 | 0 replies | |
| 72/79 | change x86_64 native_smp_prepare_cpus to match i386arch/ | +10 | 0 replies | |
| 73/79 | add extra sanity checkarch/ | +6 | 0 replies | |
| 74/79 | change x86_64 sanity checks to match i386.arch/ | +7 | 0 replies | |
| 75/79 | introduce smpboot_clear_io_apicarch/ arch/ include/ +1 more | +13 | 0 replies | |
| 76/79 | merge native_smp_prepare_cpusarch/ arch/ arch/ | +170 | 0 replies | |
| 77/79 | merge cpu_exit_cleararch/ arch/ | +18 | 0 replies | |
| 78/79 | move apicid mappings to smpboot.carch/ arch/ | +21 | 0 replies | |
| 79/79 | remove smpboot_32.c and smpboot_64.carch/ arch/ arch/ +2 more | +50 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 0/79] smpboot integration
Hi,
This is a complement to my last patch series. In this one, I integrate smpboot.c The end result is that i386 also uses the new hotplug state machine, and boot cpus via cpu_up, instead of booting them in the preparation step, and only activating later.
The final diffstat says:
59 files changed, 1974 insertions(+), 2752 deletions(-)
Leftovers:
smp.h could also be easily integrated. But this series was too big already setup64.c could also be completely moved to setup.c
Testing and bisectability:
The end result was tested in all my hardware (which includes qemu ;-). It does not mean it will boot _your_ hardware, but I did my best ;-)
The tree at least compiles in more than 20 randconfigs (for each of x86_64 and i386) For i386, each of the subarchitectures was compiled at least once. (By compile, I obviously mean, every patch, individually)
Full diffstat:
a/arch/x86/kernel/smpboot_32.c | 68 - a/arch/x86/kernel/smpboot_64.c | 73 - a/include/asm-x86/nmi_64.h | 89 - arch/x86/kernel/Makefile | 4 arch/x86/kernel/apic_32.c | 81 - arch/x86/kernel/mpparse_32.c | 19 arch/x86/kernel/mpparse_64.c | 12 arch/x86/kernel/nmi_32.c | 2 arch/x86/kernel/smpboot.c | 1071 ++++++++++++++++ arch/x86/kernel/smpboot_32.c | 1617 ++++--------------------- arch/x86/kernel/smpboot_64.c | 949 +------------- b/arch/x86/Kconfig | 2 b/arch/x86/Makefile | 2 b/arch/x86/kernel/Makefile | 2 b/arch/x86/kernel/acpi/boot.c | 2 b/arch/x86/kernel/apic_32.c | 23 b/arch/x86/kernel/apic_64.c | 13 b/arch/x86/kernel/bugs_64.c | 3 b/arch/x86/kernel/mpparse_32.c | 12 b/arch/x86/kernel/mpparse_64.c | 2 b/arch/x86/kernel/nmi_32.c | 2 b/arch/x86/kernel/nmi_64.c | 2 b/arch/x86/kernel/process_32.c | 10 b/arch/x86/kernel/setup.c | 103 + b/arch/x86/kernel/setup64.c | 77 - b/arch/x86/kernel/setup_32.c | 25 b/arch/x86/kernel/setup_64.c | 15 b/arch/x86/kernel/smpboot.c | 77 + b/arch/x86/kernel/smpboot_32.c | 5 b/arch/x86/kernel/smpboot_64.c | 19 b/arch/x86/kernel/traps_64.c | 2 b/arch/x86/mach-voyager/voyager_smp.c | 7 b/arch/x86/mm/k8topology_64.c | 7 b/arch/x86/pci/numa.c | 8 b/arch/x86/vdso/Makefile | 2 b/include/asm-x86/apic.h | 3 b/include/asm-x86/apicdef.h | 7 b/include/asm-x86/mach-bigsmp/mach_apic.h | 7 b/include/asm-x86/mach-default/mach_apic.h | 11 b/include/asm-x86/mach-default/mach_apicdef.h | 5 b/include/asm-x86/mach-default/smpboot_hooks.h | 3 b/include/asm-x86/mach-es7000/mach_apic.h | 8 b/include/asm-x86/mach-summit/mach_apic.h | 4 b/include/asm-x86/mach-visws/smpboot_hooks.h | 5 b/include/asm-x86/mmzone_32.h | 3 b/include/asm-x86/nmi.h | 92 + b/include/asm-x86/nmi_64.h | 3 b/include/asm-x86/smp.h | 3 b/include/asm-x86/smp_32.h | 5 b/include/asm-x86/smp_64.h | 12 b/include/asm-x86/topology.h | 9 include/asm-x86/apic.h | 2 include/asm-x86/apicdef.h | 6 include/asm-x86/mach-default/smpboot_hooks.h | 5 include/asm-x86/nmi.h | 5 include/asm-x86/nmi_32.h | 61 include/asm-x86/smp.h | 29 include/asm-x86/smp_32.h | 16 include/asm-x86/smp_64.h | 15 59 files changed, 1974 insertions(+), 2752 deletions(-)