Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1545974 > unrolled thread
| Started by | Thomas Gleixner <tglx@linutronix.de> |
|---|---|
| First post | 2016-12-21 20:40 +0100 |
| Last post | 2016-12-27 21:00 +0100 |
| Articles | 4 — 2 participants |
Back to article view | Back to linux.kernel
[patch 00/10] cpu/hotplug: Final cleanup Thomas Gleixner <tglx@linutronix.de> - 2016-12-21 20:40 +0100
Re: [patch 00/10] cpu/hotplug: Final cleanup Sam Ravnborg <sam@ravnborg.org> - 2016-12-22 19:00 +0100
Re: [patch 00/10] cpu/hotplug: Final cleanup Thomas Gleixner <tglx@linutronix.de> - 2016-12-27 12:30 +0100
Re: [patch 00/10] cpu/hotplug: Final cleanup Sam Ravnborg <sam@ravnborg.org> - 2016-12-27 21:00 +0100
| From | Thomas Gleixner <tglx@linutronix.de> |
|---|---|
| Date | 2016-12-21 20:40 +0100 |
| Subject | [patch 00/10] cpu/hotplug: Final cleanup |
| Message-ID | <sQUKm-7uR-5@gated-at.bofh.it> |
The following series completes the cpuhotplug rework stage ONE. - Fix a completely broken new user of the state machine - Prevent overwriting existing states - Convert the last left over drivers to the state machine - Remove the notifiers and related code - Cleanup the state names (tree wide) - Consolidate a few hotplug states It's also available from: git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.hotplug Thanks, tglx --- a/lib/cpu-notifier-error-inject.c | 84 --------- arch/arm/kernel/smp_twd.c | 2 arch/arm/mach-imx/mmdc.c | 34 ++- arch/arm/mach-mvebu/coherency.c | 2 arch/arm/mm/cache-l2x0-pmu.c | 2 arch/arm/mm/cache-l2x0.c | 2 arch/arm/vfp/vfpmodule.c | 2 arch/arm/xen/enlighten.c | 2 arch/arm64/kernel/armv8_deprecated.c | 2 arch/arm64/kernel/debug-monitors.c | 2 arch/arm64/kernel/hw_breakpoint.c | 2 arch/blackfin/kernel/perf_event.c | 2 arch/mips/kernel/pm-cps.c | 2 arch/mips/oprofile/op_model_loongson3.c | 2 arch/powerpc/mm/numa.c | 2 arch/powerpc/perf/core-book3s.c | 2 arch/s390/kernel/perf_cpum_cf.c | 2 arch/s390/kernel/perf_cpum_sf.c | 2 arch/x86/entry/vdso/vma.c | 2 arch/x86/events/amd/ibs.c | 2 arch/x86/events/amd/power.c | 2 arch/x86/events/amd/uncore.c | 6 arch/x86/events/core.c | 6 arch/x86/events/intel/cqm.c | 4 arch/x86/events/intel/cstate.c | 5 arch/x86/events/intel/rapl.c | 4 arch/x86/events/intel/uncore.c | 10 - arch/x86/kernel/apb_timer.c | 2 arch/x86/kernel/apic/x2apic_cluster.c | 2 arch/x86/kernel/hpet.c | 4 arch/x86/kernel/tboot.c | 2 arch/x86/kvm/x86.c | 2 arch/x86/xen/enlighten.c | 4 arch/xtensa/kernel/perf_event.c | 2 b/arch/metag/kernel/perf/perf_event.c | 2 drivers/bus/arm-cci.c | 2 drivers/bus/arm-ccn.c | 2 drivers/clocksource/arc_timer.c | 2 drivers/clocksource/arm_arch_timer.c | 2 drivers/clocksource/arm_global_timer.c | 2 drivers/clocksource/dummy_timer.c | 2 drivers/clocksource/exynos_mct.c | 2 drivers/clocksource/jcore-pit.c | 2 drivers/clocksource/metag_generic.c | 2 drivers/clocksource/mips-gic-timer.c | 4 drivers/clocksource/qcom-timer.c | 2 drivers/clocksource/time-armada-370-xp.c | 2 drivers/clocksource/timer-atlas7.c | 2 drivers/hwtracing/coresight/coresight-etm3x.c | 4 drivers/hwtracing/coresight/coresight-etm4x.c | 8 drivers/irqchip/irq-armada-370-xp.c | 6 drivers/irqchip/irq-bcm2836.c | 2 drivers/irqchip/irq-gic-v3.c | 6 drivers/irqchip/irq-gic.c | 2 drivers/irqchip/irq-hip04.c | 2 drivers/leds/trigger/ledtrig-cpu.c | 2 drivers/net/virtio_net.c | 4 drivers/perf/arm_pmu.c | 2 drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 81 +++----- drivers/scsi/bnx2i/bnx2i_init.c | 80 +++----- drivers/staging/lustre/lnet/libcfs/linux/linux-cpu.c | 85 ++++----- drivers/xen/events/events_fifo.c | 2 include/linux/cpu.h | 90 --------- include/linux/cpuhotplug.h | 9 kernel/cpu.c | 172 ++----------------- lib/Kconfig.debug | 24 -- lib/Makefile | 1 virt/kvm/arm/arch_timer.c | 2 virt/kvm/arm/vgic/vgic-init.c | 2 virt/kvm/kvm_main.c | 2 70 files changed, 240 insertions(+), 587 deletions(-)
[toc] | [next] | [standalone]
| From | Sam Ravnborg <sam@ravnborg.org> |
|---|---|
| Date | 2016-12-22 19:00 +0100 |
| Message-ID | <sRfON-45E-5@gated-at.bofh.it> |
| In reply to | #1545974 |
Hi Thomas. On Wed, Dec 21, 2016 at 08:19:47PM +0100, Thomas Gleixner wrote: > The following series completes the cpuhotplug rework stage ONE. Just curious - what is the stage TWO (and onwards) plan? lwn had some coverage of this work but I assume the article is somewhat outdated. Sam
[toc] | [prev] | [next] | [standalone]
| From | Thomas Gleixner <tglx@linutronix.de> |
|---|---|
| Date | 2016-12-27 12:30 +0100 |
| Message-ID | <sSY77-1nC-7@gated-at.bofh.it> |
| In reply to | #1546518 |
On Thu, 22 Dec 2016, Sam Ravnborg wrote: > Hi Thomas. > > On Wed, Dec 21, 2016 at 08:19:47PM +0100, Thomas Gleixner wrote: > > The following series completes the cpuhotplug rework stage ONE. > > Just curious - what is the stage TWO (and onwards) plan? > lwn had some coverage of this work but I assume the > article is somewhat outdated. Stage 2 is to consolidate all the archictecture code, i.e. reduce it to really arch specific callbacks and keep all the other things (synchronization, state settings etc.) in the core code. After that we can do smart things like speed up the boot hotplug process: prepare CPU1 kick CPU1 prepare CPU2 kick CPU2 .... prepare CPUN kick CPUN check CPU1 alive bringup CPU1 ... check CPUN alive bringup CPUN That saves ~200ms per CPU on x86, which we now spend busy waiting for the CPU to come alive. There is more stuff which we can do in the long run like synchrounosly letting CPUs bring up themself after the basic init/sync checks, but that needs lot of surgery all over the place. Thanks, tglx
[toc] | [prev] | [next] | [standalone]
| From | Sam Ravnborg <sam@ravnborg.org> |
|---|---|
| Date | 2016-12-27 21:00 +0100 |
| Message-ID | <sT64G-6lY-7@gated-at.bofh.it> |
| In reply to | #1547561 |
> > Just curious - what is the stage TWO (and onwards) plan? > > lwn had some coverage of this work but I assume the > > article is somewhat outdated. > > Stage 2 is to consolidate all the archictecture code, i.e. reduce it to > really arch specific callbacks and keep all the other things > (synchronization, state settings etc.) in the core code. > > After that we can do smart things like speed up the boot hotplug process: > > prepare CPU1 > kick CPU1 > > prepare CPU2 > kick CPU2 > > .... > > prepare CPUN > kick CPUN > > check CPU1 alive > bringup CPU1 > > ... > > check CPUN alive > bringup CPUN > > That saves ~200ms per CPU on x86, which we now spend busy waiting for the > CPU to come alive. > > There is more stuff which we can do in the long run like synchrounosly > letting CPUs bring up themself after the basic init/sync checks, but that > needs lot of surgery all over the place. Thanks for the update - looking forward to follow this great clean-up! Sam
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web