linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT pull] irq/core for v5.7
@ 2020-03-30 14:47 Thomas Gleixner
  2020-03-30 14:47 ` [GIT pull] smp/core " Thomas Gleixner
                   ` (6 more replies)
  0 siblings, 7 replies; 14+ messages in thread
From: Thomas Gleixner @ 2020-03-30 14:47 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, x86

Linus,

please pull the latest irq/core branch from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq-core-2020-03-30

up to:  8a13b02a010a: Merge tag 'irqchip-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/core

Updates for the interrupt subsystem:

  Treewide:
  
    - Cleanup of setup_irq() which is not longer required because the
      memory allocator is available early. Most cleanup changes come
      through the various maintainer trees, so the final removal of
      setup_irq() is postponed towards the end of the merge window.

  Core:

    - Protection against unsafe invocation of interrupt handlers and unsafe
      interrupt injection including a fixup of the offending PCI/AER error
      injection mechanism.

      Invoking interrupt handlers from arbitrary contexts, i.e. outside of
      an actual interrupt, can cause inconsistent state on the fragile
      x86 interrupt affinity changing hardware trainwreck.

  Drivers:

    - Second wave of support for the new ARM GICv4.1
    - Multi-instance support for Xilinx and PLIC interrupt controllers
    - CPU-Hotplug support for PLIC
    - The obligatory new driver for X1000 TCU
    - Enhancements, cleanups and fixes all over the place

Thanks,

	tglx

------------------>
Alexander Sverdlin (1):
      genirq/irqdomain: Check pointer in irq_domain_alloc_irqs_hierarchy()

Alexandre Torgue (2):
      irqchip/stm32: Add irq retrigger support
      pinctrl: stm32: Add level interrupt support to gpio irq chip

Anson Huang (1):
      irqchip: Add COMPILE_TEST support for IMX_INTMUX

Atish Patra (2):
      irqchip/sifive-plic: Enable/Disable external interrupts upon cpu online/offline
      irqchip/sifive-plic: Add support for multiple PLICs

Geert Uytterhoeven (1):
      irqchip/renesas-intc-irqpin: Restore devm_ioremap() alignment

Gustavo A. R. Silva (2):
      irqchip/irq-bcm7038-l1: Replace zero-length array with flexible-array member
      irqchip/qcom-irq-combiner: Replace zero-length array with flexible-array member

Hans de Goede (1):
      x86: Select HARDIRQS_SW_RESEND on x86

Heyi Guo (2):
      irqchip/gic-v3-its: Fix access width for gicr_syncr
      irqchip/gic-v4: Use Inner-Shareable attributes for virtual pending tables

Linus Walleij (1):
      irqchip: vic: Support cascaded VIC in device tree

Lukas Wunner (1):
      irqchip/bcm2835: Quiesce IRQs left enabled by bootloader

Marc Zyngier (20):
      irqchip/gic-v3-its: Probe ITS page size for all GITS_BASERn registers
      irqchip/atmel-aic: Fix irq_retrigger callback return value
      irqchip/atmel-aic5: Fix irq_retrigger callback return value
      ARM: sa1111: Fix irq_retrigger callback return value
      irqchip/gic-v4: Provide irq_retrigger to avoid circular locking dependency
      irqchip/gic-v3: Use SGIs without active state if offered
      irqchip/gic-v4.1: Skip absent CPUs while iterating over redistributors
      irqchip/gic-v4.1: Ensure mutual exclusion between vPE affinity change and RD access
      irqchip/gic-v4.1: Ensure mutual exclusion betwen invalidations on the same RD
      irqchip/gic-v4.1: Advertise support v4.1 to KVM
      irqchip/gic-v4.1: Map the ITS SGIR register page
      irqchip/gic-v4.1: Plumb skeletal VSGI irqchip
      irqchip/gic-v4.1: Add initial SGI configuration
      irqchip/gic-v4.1: Plumb mask/unmask SGI callbacks
      irqchip/gic-v4.1: Plumb get/set_irqchip_state SGI callbacks
      irqchip/gic-v4.1: Plumb set_vcpu_affinity SGI callbacks
      irqchip/gic-v4.1: Move doorbell management to the GICv4 abstraction layer
      irqchip/gic-v4.1: Add VSGI allocation/teardown
      irqchip/gic-v4.1: Add VSGI property setup
      irqchip/gic-v4.1: Eagerly vmap vPEs

Marek Vasut (1):
      irqchip/stm32: Retrigger both in eoi and unmask callbacks

Michal Simek (2):
      irqchip/xilinx: Fill error code when irq domain registration fails
      irqchip/xilinx: Enable generic irq multi handler

Mubin Sayyed (2):
      irqchip/xilinx: Add support for multiple instances
      irqchip/xilinx: Do not call irq_set_default_host()

Sungbo Eo (2):
      irqchip/versatile-fpga: Handle chained IRQs properly
      irqchip/versatile-fpga: Apply clear-mask earlier

Thomas Gleixner (7):
      genirq/debugfs: Add missing sanity checks to interrupt injection
      genirq: Add protection against unsafe usage of generic_handle_irq()
      x86/apic/vector: Force interupt handler invocation to irq context
      genirq: Add return value to check_irq_resend()
      genirq: Sanitize state handling in check_irq_resend()
      genirq: Provide interrupt injection mechanism
      PCI/AER: Fix the broken interrupt injection

Zenghui Yu (1):
      irqchip/gic-v4.1: Wait for completion of redistributor's INVALL operation

afzal mohammed (6):
      irqchip: Replace setup_irq() by request_irq()
      alpha: Replace setup_irq() by request_irq()
      c6x: Replace setup_irq() by request_irq()
      hexagon: Replace setup_irq() by request_irq()
      sh: Replace setup_irq() by request_irq()
      unicore32: Replace setup_irq() by request_irq()

luanshi (2):
      irqdomain: Fix function documentation of __irq_domain_alloc_fwnode()
      irqchip/gic-v3: Move irq_domain_update_bus_token to after checking for NULL domain

周琰杰 (Zhou Yanjie) (1):
      irqchip/ingenic: Add support for TCU of X1000.


 arch/alpha/kernel/irq_alpha.c             |  29 +-
 arch/alpha/kernel/irq_i8259.c             |   8 +-
 arch/alpha/kernel/irq_impl.h              |   7 +-
 arch/alpha/kernel/irq_pyxis.c             |   3 +-
 arch/alpha/kernel/sys_alcor.c             |   3 +-
 arch/alpha/kernel/sys_cabriolet.c         |   3 +-
 arch/alpha/kernel/sys_eb64p.c             |   3 +-
 arch/alpha/kernel/sys_marvel.c            |   2 +-
 arch/alpha/kernel/sys_miata.c             |   6 +-
 arch/alpha/kernel/sys_ruffian.c           |   3 +-
 arch/alpha/kernel/sys_rx164.c             |   3 +-
 arch/alpha/kernel/sys_sx164.c             |   3 +-
 arch/alpha/kernel/sys_wildfire.c          |   7 +-
 arch/alpha/kernel/time.c                  |   6 +-
 arch/arm/common/sa1111.c                  |   7 +-
 arch/c6x/platforms/timer64.c              |  11 +-
 arch/hexagon/kernel/smp.c                 |  22 +-
 arch/hexagon/kernel/time.c                |  11 +-
 arch/microblaze/Kconfig                   |   2 +
 arch/microblaze/include/asm/irq.h         |   3 -
 arch/microblaze/kernel/irq.c              |  21 +-
 arch/riscv/kernel/traps.c                 |   2 +-
 arch/sh/boards/mach-cayman/irq.c          |  18 +-
 arch/sh/drivers/dma/dma-pvr2.c            |   9 +-
 arch/unicore32/kernel/time.c              |  11 +-
 arch/x86/Kconfig                          |   1 +
 arch/x86/kernel/apic/vector.c             |   6 +
 drivers/irqchip/Kconfig                   |   2 +-
 drivers/irqchip/irq-atmel-aic.c           |   2 +-
 drivers/irqchip/irq-atmel-aic5.c          |   2 +-
 drivers/irqchip/irq-bcm2835.c             |  15 +
 drivers/irqchip/irq-bcm7038-l1.c          |   2 +-
 drivers/irqchip/irq-gic-v3-its.c          | 532 ++++++++++++++++++++++++++----
 drivers/irqchip/irq-gic-v3.c              |  16 +-
 drivers/irqchip/irq-gic-v4.c              | 134 +++++++-
 drivers/irqchip/irq-i8259.c               |  16 +-
 drivers/irqchip/irq-ingenic-tcu.c         |   1 +
 drivers/irqchip/irq-ingenic.c             |   9 +-
 drivers/irqchip/irq-renesas-intc-irqpin.c |   2 +-
 drivers/irqchip/irq-sifive-plic.c         | 119 +++++--
 drivers/irqchip/irq-stm32-exti.c          |  14 +-
 drivers/irqchip/irq-versatile-fpga.c      |  18 +-
 drivers/irqchip/irq-vic.c                 |   9 +-
 drivers/irqchip/irq-xilinx-intc.c         | 123 ++++---
 drivers/irqchip/qcom-irq-combiner.c       |   2 +-
 drivers/pci/pcie/Kconfig                  |   1 +
 drivers/pci/pcie/aer_inject.c             |   6 +-
 drivers/pinctrl/stm32/pinctrl-stm32.c     |  57 +++-
 include/kvm/arm_vgic.h                    |   1 +
 include/linux/cpuhotplug.h                |   1 +
 include/linux/interrupt.h                 |   2 +
 include/linux/irq.h                       |  13 +
 include/linux/irqchip/arm-gic-common.h    |   2 +
 include/linux/irqchip/arm-gic-v3.h        |  23 +-
 include/linux/irqchip/arm-gic-v4.h        |  25 +-
 kernel/irq/Kconfig                        |   5 +
 kernel/irq/chip.c                         |   2 +-
 kernel/irq/debugfs.c                      |  28 +-
 kernel/irq/internals.h                    |  10 +-
 kernel/irq/irqdesc.c                      |   6 +
 kernel/irq/irqdomain.c                    |  14 +-
 kernel/irq/resend.c                       | 143 ++++++--
 virt/kvm/arm/vgic/vgic-v3.c               |   4 +-
 virt/kvm/arm/vgic/vgic-v4.c               |  34 +-
 64 files changed, 1185 insertions(+), 420 deletions(-)


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [GIT pull] smp/core for v5.7
  2020-03-30 14:47 [GIT pull] irq/core for v5.7 Thomas Gleixner
@ 2020-03-30 14:47 ` Thomas Gleixner
  2020-03-31  3:00   ` pr-tracker-bot
  2020-03-30 14:47 ` [GIT pull] timers/core " Thomas Gleixner
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 14+ messages in thread
From: Thomas Gleixner @ 2020-03-30 14:47 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, x86

Linus,

please pull the latest smp/core branch from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git smp-core-2020-03-30

up to:  e98eac6ff1b4: cpu/hotplug: Ignore pm_wakeup_pending() for disable_nonboot_cpus()


CPU (hotplug) updates:

  - Support for locked CSD objects in smp_call_function_single_async()
    which allows to simplify callsites in the scheduler core and MIPS

  - Treewide consolidation of CPU hotplug functions which ensures the
    consistency between the sysfs interface and kernel state. The low level
    functions cpu_up/down() are now confined to the core code and not
    longer accessible from random code.

Thanks,

	tglx

------------------>
Peter Xu (3):
      smp: Allow smp_call_function_single_async() to insert locked csd
      MIPS: smp: Remove tick_broadcast_count
      sched/core: Remove rq.hrtick_csd_pending

Qais Yousef (18):
      cpu/hotplug: Add new {add,remove}_cpu() functions
      cpu/hotplug: Create a new function to shutdown nonboot cpus
      ia64: Replace cpu_down() with smp_shutdown_nonboot_cpus()
      ARM: Don't use disable_nonboot_cpus()
      ARM: Use reboot_cpu instead of hardcoding it to 0
      arm64: Don't use disable_nonboot_cpus()
      arm64: Use reboot_cpu instead of hardconding it to 0
      cpu/hotplug: Provide bringup_hibernate_cpu()
      arm64: hibernate: Use bringup_hibernate_cpu()
      x86/smp: Replace cpu_up/down() with add/remove_cpu()
      powerpc: Replace cpu_up/down() with add/remove_cpu()
      sparc: Replace cpu_up/down() with add/remove_cpu()
      parisc: Replace cpu_up/down() with add/remove_cpu()
      xen/cpuhotplug: Replace cpu_up/down() with device_online/offline()
      firmware: psci: Replace cpu_up/down() with add/remove_cpu()
      torture: Replace cpu_up/down() with add/remove_cpu()
      cpu/hotplug: Move bringup of secondary CPUs out of smp_init()
      cpu/hotplug: Hide cpu_up/down()

Thomas Gleixner (1):
      cpu/hotplug: Ignore pm_wakeup_pending() for disable_nonboot_cpus()


 arch/arm/kernel/reboot.c             |   4 +-
 arch/arm64/kernel/hibernate.c        |  13 ++--
 arch/arm64/kernel/process.c          |   4 +-
 arch/ia64/kernel/process.c           |   8 +-
 arch/mips/kernel/smp.c               |   9 +--
 arch/parisc/kernel/processor.c       |   2 +-
 arch/powerpc/kexec/core_64.c         |   2 +-
 arch/sparc/kernel/ds.c               |   4 +-
 arch/x86/kernel/topology.c           |  22 ++----
 arch/x86/mm/mmio-mod.c               |   4 +-
 arch/x86/xen/smp.c                   |   2 +-
 drivers/base/cpu.c                   |   4 +-
 drivers/firmware/psci/psci_checker.c |   4 +-
 drivers/xen/cpu_hotplug.c            |   2 +-
 include/linux/cpu.h                  |  22 ++++--
 kernel/cpu.c                         | 143 +++++++++++++++++++++++++++++++----
 kernel/sched/core.c                  |   9 +--
 kernel/sched/sched.h                 |   1 -
 kernel/smp.c                         |  23 +++---
 kernel/torture.c                     |   9 ++-
 20 files changed, 194 insertions(+), 97 deletions(-)



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [GIT pull] timers/core for v5.7
  2020-03-30 14:47 [GIT pull] irq/core for v5.7 Thomas Gleixner
  2020-03-30 14:47 ` [GIT pull] smp/core " Thomas Gleixner
@ 2020-03-30 14:47 ` Thomas Gleixner
  2020-03-31  3:00   ` pr-tracker-bot
  2020-03-30 14:47 ` [GIT pull] timers/nohz " Thomas Gleixner
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 14+ messages in thread
From: Thomas Gleixner @ 2020-03-30 14:47 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, x86

Linus,

please pull the latest timers/core branch from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers-core-2020-03-30

up to:  4479730e9263: Revert "clocksource/drivers/timer-probe: Avoid creating dead devices"


timekeeping and timer updates:

 Core:
 
  - Consolidation of the vDSO build infrastructure to address the
    difficulties of cross-builds for ARM64 compat vDSO libraries by
    restricting the exposure of header content to the vDSO build.

    This is achieved by splitting out header content into separate
    headers. which contain only the minimaly required information which is
    necessary to build the vDSO. These new headers are included from the
    kernel headers and the vDSO specific files.

  - Enhancements to the generic vDSO library allowing more fine grained
    control over the compiled in code, further reducing architecture
    specific storage and preparing for adopting the generic library by PPC.

  - Cleanup and consolidation of the exit related code in posix CPU timers.

  - Small cleanups and enhancements here and there

 Drivers:

  - The obligatory new drivers: Ingenic JZ47xx and X1000 TCU support

  - Correct the clock rate of PIT64b global clock

  - setup_irq() cleanup

  - Preparation for PWM and suspend support for the TI DM timer

  - Expand the fttmr010 driver to support ast2600 systems

  - The usual small fixes, enhancements and cleanups all over the place

Thanks,

	tglx

------------------>
Ahmed S. Darwish (1):
      time/sched_clock: Expire timer in hardirq context

Alexander Popov (1):
      timer: Improve the comment describing schedule_timeout()

Amol Grover (1):
      posix-timers: Pass lockdep expression to RCU lists

Anson Huang (2):
      clocksource/drivers/imx-tpm: Remove unused includes
      clocksource/drivers/imx-sysctr: Remove unused includes

Christophe Leroy (3):
      lib/vdso: Allow fixed clock mode
      lib/vdso: Allow architectures to override the ns shift operation
      lib/vdso: Allow architectures to provide the vdso data pointer

Claudiu Beznea (1):
      clocksource/drivers/timer-microchip-pit64b: Fix rate for gck

Eric W. Biederman (5):
      posix-cpu-timers: cpu_clock_sample_group() no longer needs siglock
      posix-cpu-timers: Remove unnecessary locking around cpu_clock_sample_group
      posix-cpu-timers: Pass the task into arm_timer()
      posix-cpu-timers: Store a reference to a pid not a task
      posix-cpu-timers: Stop disabling timers on mt-exec

Joel Stanley (3):
      clocksource/drivers/fttmr010: Parametrise shutdown
      clocksource/drivers/fttmr010: Set interrupt and shutdown
      dt-bindings: fttmr010: Add ast2600 compatible

Lokesh Vutla (6):
      clocksource/drivers/timer-ti-dm: Do not update counter on updating the period
      clocksource/drivers/timer-ti-dm: Convert to SPDX identifier
      clocksource/drivers/timer-ti-dm: Implement cpu_pm notifier for context save and restore
      clocksource/drivers/timer-ti-dm: Do not update counter on updating the period
      clocksource/drivers/timer-ti-dm: Add support to get pwm current status
      clocksource/drivers/timer-ti-dm: Enable autoreload in set_pwm

Maarten ter Huurne (1):
      clocksource: Add driver for the Ingenic JZ47xx OST

Matheus Castello (1):
      clocksource/drivers/owl: Improve owl_timer_init fail messages

Saravana Kannan (1):
      clocksource/drivers/timer-probe: Avoid creating dead devices

Suman Anna (1):
      clocksource/drivers/timer-ti-dm: Drop bogus omap_dm_timer_of_set_source()

Thomas Gleixner (16):
      x86/vdso: Mark the TSC clocksource path likely
      ARM: vdso: Remove unused function
      lib/vdso: Allow the high resolution parts to be compiled out
      ARM: vdso: Compile high resolution parts conditionally
      MIPS: vdso: Compile high resolution parts conditionally
      clocksource: Cleanup struct clocksource and documentation
      x86/vdso: Move VDSO clocksource state tracking to callback
      clocksource: Add common vdso clock mode storage
      x86/vdso: Use generic VDSO clock mode storage
      mips: vdso: Use generic VDSO clock mode storage
      ARM/arm64: vdso: Use common vdso clock mode storage
      lib/vdso: Cleanup clock mode storage leftovers
      lib/vdso: Avoid highres update if clocksource is not VDSO capable
      lib/vdso: Move VCLOCK_TIMENS to vdso_clock_modes
      Revert "tick/common: Make tick_periodic() check for missing ticks"
      Revert "clocksource/drivers/timer-probe: Avoid creating dead devices"

Tony Lindgren (1):
      clocksource/drivers/timer-ti-dm: Prepare for using cpuidle

Vincenzo Frascino (29):
      clocksource/drivers/arm_arch_timer: Fix vDSO clockmode when vDSO disabled
      linux/const.h: Extract common header for vDSO
      linux/bits.h: Extract common header for vDSO
      linux/limits.h: Extract common header for vDSO
      x86: Introduce asm/vdso/clocksource.h
      arm: Introduce asm/vdso/clocksource.h
      arm64: Introduce asm/vdso/clocksource.h
      mips: Introduce asm/vdso/clocksource.h
      linux/clocksource.h: Extract common header for vDSO
      linux/math64.h: Extract common header for vDSO
      linux/time.h: Extract common header for vDSO
      linux/time32.h: Extract common header for vDSO
      linux/time64.h: Extract common header for vDSO
      linux/jiffies.h: Extract common header for vDSO
      linux/ktime.h: Extract common header for vDSO
      common: Introduce processor.h
      scripts: Fix the inclusion order in modpost
      linux/elfnote.h: Replace elf.h with UAPI equivalent
      arm64: vdso32: Code clean up
      arm64: Introduce asm/vdso/processor.h
      arm64: vdso: Include common headers in the vdso library
      arm64: vdso32: Include common headers in the vdso library
      mips: vdso: Enable mips to use common headers
      x86/vdso: Enable x86 to use common headers
      arm: vdso: Enable arm to use common headers
      lib/vdso: Enable common headers
      arm64: vdso32: Enable Clang Compilation
      um: Fix header inclusion
      vdso: Fix clocksource.h macro detection

Waiman Long (1):
      tick/common: Make tick_periodic() check for missing ticks

Wen Yang (2):
      timekeeping: Prevent 32bit truncation in scale64_check_overflow()
      hrtimer: Cast explicitely to u32t in __ktime_divns()

afzal mohammed (2):
      clocksource: Replace setup_irq() by request_irq()
      clocksource/drivers/timer-cs5535: Request irq with non-NULL dev_id

周琰杰 (Zhou Yanjie) (2):
      dt-bindings: timer: Add X1000 bindings.
      clocksource/drivers/ingenic: Add support for TCU of X1000


 .../devicetree/bindings/timer/faraday,fttmr010.txt |   1 +
 .../devicetree/bindings/timer/ingenic,tcu.txt      |   1 +
 arch/arm/Kconfig                                   |   1 -
 arch/arm/include/asm/clocksource.h                 |   7 +-
 arch/arm/include/asm/cp15.h                        |  20 +-
 arch/arm/include/asm/processor.h                   |  11 +-
 arch/arm/include/asm/vdso/clocksource.h            |   8 +
 arch/arm/include/asm/vdso/cp15.h                   |  38 ++++
 arch/arm/include/asm/vdso/gettimeofday.h           |  22 ++-
 arch/arm/include/asm/vdso/processor.h              |  22 +++
 arch/arm/include/asm/vdso/vsyscall.h               |  35 ----
 arch/arm64/Kconfig                                 |   1 -
 arch/arm64/include/asm/clocksource.h               |   4 +-
 arch/arm64/include/asm/processor.h                 |   7 +-
 arch/arm64/include/asm/vdso/clocksource.h          |   8 +
 arch/arm64/include/asm/vdso/compat_gettimeofday.h  |  21 +-
 arch/arm64/include/asm/vdso/gettimeofday.h         |  12 +-
 arch/arm64/include/asm/vdso/processor.h            |  17 ++
 arch/arm64/include/asm/vdso/vsyscall.h             |   9 -
 arch/arm64/kernel/vdso/vgettimeofday.c             |   2 -
 arch/arm64/kernel/vdso32/Makefile                  |  11 ++
 arch/arm64/kernel/vdso32/vgettimeofday.c           |  14 --
 arch/mips/Kconfig                                  |   1 -
 arch/mips/include/asm/clocksource.h                |  16 +-
 arch/mips/include/asm/processor.h                  |  16 +-
 arch/mips/include/asm/vdso/clocksource.h           |   9 +
 arch/mips/include/asm/vdso/gettimeofday.h          |  39 ++--
 arch/mips/include/asm/vdso/processor.h             |  27 +++
 arch/mips/include/asm/vdso/vsyscall.h              |   9 -
 arch/mips/kernel/csrc-r4k.c                        |   2 +-
 arch/x86/Kconfig                                   |   1 -
 arch/x86/entry/vdso/vma.c                          |   8 +-
 arch/x86/include/asm/clocksource.h                 |  20 +-
 arch/x86/include/asm/mshyperv.h                    |   4 +-
 arch/x86/include/asm/processor.h                   |  12 +-
 arch/x86/include/asm/vdso/clocksource.h            |  10 +
 arch/x86/include/asm/vdso/gettimeofday.h           |   6 +-
 arch/x86/include/asm/vdso/processor.h              |  23 +++
 arch/x86/include/asm/vdso/vsyscall.h               |  15 --
 arch/x86/include/asm/vgtod.h                       |  12 +-
 arch/x86/kernel/kvmclock.c                         |   9 +-
 arch/x86/kernel/pvclock.c                          |   2 +-
 arch/x86/kernel/time.c                             |  12 +-
 arch/x86/kernel/tsc.c                              |  32 +--
 arch/x86/kvm/trace.h                               |   4 +-
 arch/x86/kvm/x86.c                                 |  22 +--
 arch/x86/xen/time.c                                |  36 ++--
 drivers/clocksource/Kconfig                        |   8 +
 drivers/clocksource/Makefile                       |   1 +
 drivers/clocksource/arm_arch_timer.c               |  12 +-
 drivers/clocksource/bcm2835_timer.c                |   8 +-
 drivers/clocksource/bcm_kona_timer.c               |  10 +-
 drivers/clocksource/dw_apb_timer.c                 |  11 +-
 drivers/clocksource/exynos_mct.c                   |  12 +-
 drivers/clocksource/hyperv_timer.c                 |   7 +
 drivers/clocksource/ingenic-ost.c                  | 189 ++++++++++++++++++
 drivers/clocksource/ingenic-timer.c                |   3 +-
 drivers/clocksource/mips-gic-timer.c               |   8 +-
 drivers/clocksource/mxs_timer.c                    |  10 +-
 drivers/clocksource/nomadik-mtu.c                  |  11 +-
 drivers/clocksource/samsung_pwm_timer.c            |  12 +-
 drivers/clocksource/timer-atlas7.c                 |  50 +++--
 drivers/clocksource/timer-cs5535.c                 |   9 +-
 drivers/clocksource/timer-efm32.c                  |  10 +-
 drivers/clocksource/timer-fsl-ftm.c                |  10 +-
 drivers/clocksource/timer-fttmr010.c               |  68 +++++--
 drivers/clocksource/timer-imx-gpt.c                |  10 +-
 drivers/clocksource/timer-imx-sysctr.c             |   2 -
 drivers/clocksource/timer-imx-tpm.c                |   2 -
 drivers/clocksource/timer-integrator-ap.c          |  11 +-
 drivers/clocksource/timer-meson6.c                 |  11 +-
 drivers/clocksource/timer-microchip-pit64b.c       |   1 +
 drivers/clocksource/timer-orion.c                  |   9 +-
 drivers/clocksource/timer-owl.c                    |  15 +-
 drivers/clocksource/timer-prima2.c                 |  14 +-
 drivers/clocksource/timer-pxa.c                    |  10 +-
 drivers/clocksource/timer-sp804.c                  |  11 +-
 drivers/clocksource/timer-ti-dm.c                  | 217 +++++++++++----------
 drivers/clocksource/timer-u300.c                   |   9 +-
 drivers/clocksource/timer-vf-pit.c                 |  10 +-
 drivers/clocksource/timer-vt8500.c                 |  11 +-
 drivers/clocksource/timer-zevio.c                  |  13 +-
 drivers/pwm/pwm-omap-dmtimer.c                     |   8 +-
 include/asm-generic/vdso/vsyscall.h                |  14 --
 include/clocksource/timer-ti-dm.h                  |   4 +-
 include/linux/bits.h                               |   2 +-
 include/linux/clocksource.h                        |  93 +++++----
 include/linux/const.h                              |   5 +-
 include/linux/dw_apb_timer.h                       |   1 -
 include/linux/elfnote.h                            |   2 +-
 include/linux/jiffies.h                            |   4 +-
 include/linux/ktime.h                              |   9 +-
 include/linux/limits.h                             |  13 +-
 include/linux/math64.h                             |  20 +-
 include/linux/platform_data/dmtimer-omap.h         |   6 +-
 include/linux/posix-timers.h                       |   2 +-
 include/linux/time.h                               |   5 +-
 include/linux/time32.h                             |  14 +-
 include/linux/time64.h                             |  10 +-
 include/vdso/bits.h                                |   9 +
 include/vdso/clocksource.h                         |  22 +++
 include/vdso/const.h                               |  10 +
 include/vdso/datapage.h                            |  35 +++-
 include/vdso/jiffies.h                             |  11 ++
 include/vdso/ktime.h                               |  16 ++
 include/vdso/limits.h                              |  19 ++
 include/vdso/math64.h                              |  24 +++
 include/vdso/processor.h                           |  14 ++
 include/vdso/time.h                                |  12 ++
 include/vdso/time32.h                              |  17 ++
 include/vdso/time64.h                              |  14 ++
 kernel/exit.c                                      |  11 +-
 kernel/time/clocksource.c                          |   9 +
 kernel/time/hrtimer.c                              |   2 +-
 kernel/time/namespace.c                            |   7 +-
 kernel/time/posix-cpu-timers.c                     | 148 +++++++-------
 kernel/time/posix-timers.c                         |   3 +-
 kernel/time/sched_clock.c                          |   9 +-
 kernel/time/timekeeping.c                          |   3 +-
 kernel/time/timer.c                                |  16 +-
 kernel/time/vsyscall.c                             |  12 +-
 lib/vdso/gettimeofday.c                            | 153 ++++++++++-----
 scripts/mod/modpost.c                              |   6 +-
 123 files changed, 1290 insertions(+), 928 deletions(-)
 create mode 100644 arch/arm/include/asm/vdso/clocksource.h
 create mode 100644 arch/arm/include/asm/vdso/cp15.h
 create mode 100644 arch/arm/include/asm/vdso/processor.h
 create mode 100644 arch/arm64/include/asm/vdso/clocksource.h
 create mode 100644 arch/arm64/include/asm/vdso/processor.h
 create mode 100644 arch/mips/include/asm/vdso/clocksource.h
 create mode 100644 arch/mips/include/asm/vdso/processor.h
 create mode 100644 arch/x86/include/asm/vdso/clocksource.h
 create mode 100644 arch/x86/include/asm/vdso/processor.h
 create mode 100644 drivers/clocksource/ingenic-ost.c
 create mode 100644 include/vdso/bits.h
 create mode 100644 include/vdso/clocksource.h
 create mode 100644 include/vdso/const.h
 create mode 100644 include/vdso/jiffies.h
 create mode 100644 include/vdso/ktime.h
 create mode 100644 include/vdso/limits.h
 create mode 100644 include/vdso/math64.h
 create mode 100644 include/vdso/processor.h
 create mode 100644 include/vdso/time.h
 create mode 100644 include/vdso/time32.h
 create mode 100644 include/vdso/time64.h



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [GIT pull] timers/nohz for v5.7
  2020-03-30 14:47 [GIT pull] irq/core for v5.7 Thomas Gleixner
  2020-03-30 14:47 ` [GIT pull] smp/core " Thomas Gleixner
  2020-03-30 14:47 ` [GIT pull] timers/core " Thomas Gleixner
@ 2020-03-30 14:47 ` Thomas Gleixner
  2020-03-31  3:00   ` pr-tracker-bot
  2020-03-30 14:47 ` [GIT pull] x86/entry " Thomas Gleixner
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 14+ messages in thread
From: Thomas Gleixner @ 2020-03-30 14:47 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, x86

Linus,

please pull the latest timers/nohz branch from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers-nohz-2020-03-30

up to:  e4970c9c54d7: Merge branch 'arch/nohz' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into timers/nohz


NOHZ full updates:

  - Remove TIF_NOHZ from 3 architectures

    These architectures use a static key to decide whether context tracking
    needs to be invoked and the TIF_NOHZ flag just causes a pointless
    slowpath execution for nothing.

Thanks,

	tglx

------------------>
Frederic Weisbecker (4):
      context-tracking: Introduce CONFIG_HAVE_TIF_NOHZ
      x86: Remove TIF_NOHZ
      arm: Remove TIF_NOHZ
      arm64: Remove TIF_NOHZ

Thomas Gleixner (1):
      x86/entry: Remove _TIF_NOHZ from _TIF_WORK_SYSCALL_ENTRY


 arch/Kconfig                         | 16 +++++++++++-----
 arch/arm/include/asm/thread_info.h   |  1 -
 arch/arm64/include/asm/thread_info.h |  4 +---
 arch/mips/Kconfig                    |  1 +
 arch/powerpc/Kconfig                 |  1 +
 arch/sparc/Kconfig                   |  1 +
 arch/x86/include/asm/thread_info.h   | 10 ++--------
 kernel/context_tracking.c            |  2 ++
 8 files changed, 19 insertions(+), 17 deletions(-)

diff --git a/arch/Kconfig b/arch/Kconfig
index 98de654b79b3..dbf420a9f87b 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -540,11 +540,17 @@ config HAVE_CONTEXT_TRACKING
 	help
 	  Provide kernel/user boundaries probes necessary for subsystems
 	  that need it, such as userspace RCU extended quiescent state.
-	  Syscalls need to be wrapped inside user_exit()-user_enter() through
-	  the slow path using TIF_NOHZ flag. Exceptions handlers must be
-	  wrapped as well. Irqs are already protected inside
-	  rcu_irq_enter/rcu_irq_exit() but preemption or signal handling on
-	  irq exit still need to be protected.
+	  Syscalls need to be wrapped inside user_exit()-user_enter(), either
+	  optimized behind static key or through the slow path using TIF_NOHZ
+	  flag. Exceptions handlers must be wrapped as well. Irqs are already
+	  protected inside rcu_irq_enter/rcu_irq_exit() but preemption or signal
+	  handling on irq exit still need to be protected.
+
+config HAVE_TIF_NOHZ
+	bool
+	help
+	  Arch relies on TIF_NOHZ and syscall slow path to implement context
+	  tracking calls to user_enter()/user_exit().
 
 config HAVE_VIRT_CPU_ACCOUNTING
 	bool
diff --git a/arch/arm/include/asm/thread_info.h b/arch/arm/include/asm/thread_info.h
index 0d0d5178e2c3..3609a6980c34 100644
--- a/arch/arm/include/asm/thread_info.h
+++ b/arch/arm/include/asm/thread_info.h
@@ -141,7 +141,6 @@ extern int vfp_restore_user_hwstate(struct user_vfp *,
 #define TIF_SYSCALL_TRACEPOINT	6	/* syscall tracepoint instrumentation */
 #define TIF_SECCOMP		7	/* seccomp syscall filtering active */
 
-#define TIF_NOHZ		12	/* in adaptive nohz mode */
 #define TIF_USING_IWMMXT	17
 #define TIF_MEMDIE		18	/* is terminating due to OOM killer */
 #define TIF_RESTORE_SIGMASK	20
diff --git a/arch/arm64/include/asm/thread_info.h b/arch/arm64/include/asm/thread_info.h
index f0cec4160136..512174a8e789 100644
--- a/arch/arm64/include/asm/thread_info.h
+++ b/arch/arm64/include/asm/thread_info.h
@@ -63,7 +63,6 @@ void arch_release_task_struct(struct task_struct *tsk);
 #define TIF_FOREIGN_FPSTATE	3	/* CPU's FP state is not current's */
 #define TIF_UPROBE		4	/* uprobe breakpoint or singlestep */
 #define TIF_FSCHECK		5	/* Check FS is USER_DS on return */
-#define TIF_NOHZ		7
 #define TIF_SYSCALL_TRACE	8	/* syscall trace active */
 #define TIF_SYSCALL_AUDIT	9	/* syscall auditing */
 #define TIF_SYSCALL_TRACEPOINT	10	/* syscall tracepoint for ftrace */
@@ -83,7 +82,6 @@ void arch_release_task_struct(struct task_struct *tsk);
 #define _TIF_NEED_RESCHED	(1 << TIF_NEED_RESCHED)
 #define _TIF_NOTIFY_RESUME	(1 << TIF_NOTIFY_RESUME)
 #define _TIF_FOREIGN_FPSTATE	(1 << TIF_FOREIGN_FPSTATE)
-#define _TIF_NOHZ		(1 << TIF_NOHZ)
 #define _TIF_SYSCALL_TRACE	(1 << TIF_SYSCALL_TRACE)
 #define _TIF_SYSCALL_AUDIT	(1 << TIF_SYSCALL_AUDIT)
 #define _TIF_SYSCALL_TRACEPOINT	(1 << TIF_SYSCALL_TRACEPOINT)
@@ -100,7 +98,7 @@ void arch_release_task_struct(struct task_struct *tsk);
 
 #define _TIF_SYSCALL_WORK	(_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | \
 				 _TIF_SYSCALL_TRACEPOINT | _TIF_SECCOMP | \
-				 _TIF_NOHZ | _TIF_SYSCALL_EMU)
+				 _TIF_SYSCALL_EMU)
 
 #define INIT_THREAD_INFO(tsk)						\
 {									\
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 797d7f1ad5fe..2589d4760e45 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -51,6 +51,7 @@ config MIPS
 	select HAVE_ASM_MODVERSIONS
 	select HAVE_CBPF_JIT if !64BIT && !CPU_MICROMIPS
 	select HAVE_CONTEXT_TRACKING
+	select HAVE_TIF_NOHZ
 	select HAVE_COPY_THREAD_TLS
 	select HAVE_C_RECORDMCOUNT
 	select HAVE_DEBUG_KMEMLEAK
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 497b7d0b2d7e..6f40af294685 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -182,6 +182,7 @@ config PPC
 	select HAVE_STACKPROTECTOR		if PPC64 && $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=r13)
 	select HAVE_STACKPROTECTOR		if PPC32 && $(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=r2)
 	select HAVE_CONTEXT_TRACKING		if PPC64
+	select HAVE_TIF_NOHZ			if PPC64
 	select HAVE_COPY_THREAD_TLS
 	select HAVE_DEBUG_KMEMLEAK
 	select HAVE_DEBUG_STACKOVERFLOW
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index c1dd6dd642f4..9cc9ab04bd99 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -71,6 +71,7 @@ config SPARC64
 	select HAVE_FTRACE_MCOUNT_RECORD
 	select HAVE_SYSCALL_TRACEPOINTS
 	select HAVE_CONTEXT_TRACKING
+	select HAVE_TIF_NOHZ
 	select HAVE_DEBUG_KMEMLEAK
 	select IOMMU_HELPER
 	select SPARSE_IRQ
diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thread_info.h
index cf4327986e98..384cdde10680 100644
--- a/arch/x86/include/asm/thread_info.h
+++ b/arch/x86/include/asm/thread_info.h
@@ -92,7 +92,6 @@ struct thread_info {
 #define TIF_NOCPUID		15	/* CPUID is not accessible in userland */
 #define TIF_NOTSC		16	/* TSC is not accessible in userland */
 #define TIF_IA32		17	/* IA32 compatibility process */
-#define TIF_NOHZ		19	/* in adaptive nohz mode */
 #define TIF_MEMDIE		20	/* is terminating due to OOM killer */
 #define TIF_POLLING_NRFLAG	21	/* idle is polling for TIF_NEED_RESCHED */
 #define TIF_IO_BITMAP		22	/* uses I/O bitmap */
@@ -122,7 +121,6 @@ struct thread_info {
 #define _TIF_NOCPUID		(1 << TIF_NOCPUID)
 #define _TIF_NOTSC		(1 << TIF_NOTSC)
 #define _TIF_IA32		(1 << TIF_IA32)
-#define _TIF_NOHZ		(1 << TIF_NOHZ)
 #define _TIF_POLLING_NRFLAG	(1 << TIF_POLLING_NRFLAG)
 #define _TIF_IO_BITMAP		(1 << TIF_IO_BITMAP)
 #define _TIF_FORCED_TF		(1 << TIF_FORCED_TF)
@@ -133,14 +131,10 @@ struct thread_info {
 #define _TIF_X32		(1 << TIF_X32)
 #define _TIF_FSCHECK		(1 << TIF_FSCHECK)
 
-/*
- * work to do in syscall_trace_enter().  Also includes TIF_NOHZ for
- * enter_from_user_mode()
- */
+/* Work to do before invoking the actual syscall. */
 #define _TIF_WORK_SYSCALL_ENTRY	\
 	(_TIF_SYSCALL_TRACE | _TIF_SYSCALL_EMU | _TIF_SYSCALL_AUDIT |	\
-	 _TIF_SECCOMP | _TIF_SYSCALL_TRACEPOINT |	\
-	 _TIF_NOHZ)
+	 _TIF_SECCOMP | _TIF_SYSCALL_TRACEPOINT)
 
 /* flags to check in __switch_to() */
 #define _TIF_WORK_CTXSW_BASE					\
diff --git a/kernel/context_tracking.c b/kernel/context_tracking.c
index 0296b4bda8f1..ce430885c26c 100644
--- a/kernel/context_tracking.c
+++ b/kernel/context_tracking.c
@@ -198,11 +198,13 @@ void __init context_tracking_cpu_set(int cpu)
 	if (initialized)
 		return;
 
+#ifdef CONFIG_HAVE_TIF_NOHZ
 	/*
 	 * Set TIF_NOHZ to init/0 and let it propagate to all tasks through fork
 	 * This assumes that init is the only task at this early boot stage.
 	 */
 	set_tsk_thread_flag(&init_task, TIF_NOHZ);
+#endif
 	WARN_ON_ONCE(!tasklist_empty());
 
 	initialized = true;


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [GIT pull] x86/entry for v5.7
  2020-03-30 14:47 [GIT pull] irq/core for v5.7 Thomas Gleixner
                   ` (2 preceding siblings ...)
  2020-03-30 14:47 ` [GIT pull] timers/nohz " Thomas Gleixner
@ 2020-03-30 14:47 ` Thomas Gleixner
  2020-03-31  3:00   ` pr-tracker-bot
  2020-03-30 14:47 ` [GIT pull] x86/splitlock " Thomas Gleixner
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 14+ messages in thread
From: Thomas Gleixner @ 2020-03-30 14:47 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, x86

Linus,

please pull the latest x86/entry branch from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-entry-2020-03-30

up to:  290a4474d019: x86/entry: Fix build error x86 with !CONFIG_POSIX_TIMERS


x86 entry code updates:

    - Convert the 32bit syscalls to be pt_regs based which removes the
      requirement to push all 6 potential arguments onto the stack and
      consolidates the interface with the 64bit variant

    - The first small portion of the exception and syscall related entry
      code consolidation which aims to address the recently discovered
      issues vs. RCU, int3, NMI and some other exceptions which can
      interrupt any context. The bulk of the changes is still work in
      progress and aimed for 5.8.

    - A few lockdep namespace cleanups which have been applied into this
      branch to keep the prerequisites for the ongoing work confined.

Thanks,

	tglx

------------------>
Andy Lutomirski (2):
      x86/mce: Disable tracing and kprobes on do_machine_check()
      x86/traps: Stop using ist_enter/exit() in do_int3()

Brian Gerst (19):
      x86/entry: Refactor SYSCALL_DEFINEx macros
      x86/entry: Refactor SYSCALL_DEFINE0 macros
      x86/entry: Refactor COND_SYSCALL macros
      x86/entry: Refactor SYS_NI macros
      x86/entry/64: Use syscall wrappers for x32_rt_sigreturn
      x86/entry/64: Move sys_ni_syscall stub to common.c
      x86/entry/64: Split X32 syscall table into its own file
      x86/entry: Move max syscall number calculation to syscallhdr.sh
      x86/entry/64: Remove ptregs qualifier from syscall table
      x86/entry: Remove syscall qualifier support
      x86/entry/64: Add __SYSCALL_COMMON()
      x86/entry: Remove ABI prefixes from functions in syscall tables
      x86/entry/32: Clean up syscall_32.tbl
      x86/entry/32: Rename 32-bit specific syscalls
      x86/entry/32: Use IA32-specific wrappers for syscalls taking 64-bit arguments
      x86/entry/32: Enable pt_regs based syscalls
      x86/entry: Drop asmlinkage from syscalls
      x86: Remove unneeded includes
      x86/entry: Fix build error x86 with !CONFIG_POSIX_TIMERS

Peter Zijlstra (3):
      x86/entry: Rename ___preempt_schedule
      lockdep: Rename trace_softirqs_{on,off}()
      lockdep: Rename trace_{hard,soft}{irq_context,irqs_enabled}()

Thomas Gleixner (11):
      x86/entry/32: Add missing ASM_CLAC to general_protection entry
      x86/entry/32: Force MCE through do_mce()
      x86/traps: Remove pointless irq enable from do_spurious_interrupt_bug()
      x86/traps: Document do_spurious_interrupt_bug()
      x86/traps: Remove redundant declaration of do_double_fault()
      x86/irq: Remove useless return value from do_IRQ()
      x86/entry/entry_32: Route int3 through common_exception
      x86/entry/32: Remove the 0/-1 distinction from exception entries
      x86/entry/32: Remove unused label restore_nocheck
      x86/entry/64: Trace irqflags unconditionally as ON when returning to user space
      lockdep: Rename trace_hardirq_{enter,exit}()


 arch/x86/Kconfig                            |   2 +-
 arch/x86/entry/Makefile                     |   1 +
 arch/x86/entry/common.c                     |  18 +-
 arch/x86/entry/entry_32.S                   |  23 +-
 arch/x86/entry/entry_64.S                   |   4 +-
 arch/x86/entry/syscall_32.c                 |  19 +-
 arch/x86/entry/syscall_64.c                 |  39 +-
 arch/x86/entry/syscall_x32.c                |  29 +
 arch/x86/entry/syscalls/syscall_32.tbl      | 818 ++++++++++++++--------------
 arch/x86/entry/syscalls/syscall_64.tbl      | 740 ++++++++++++-------------
 arch/x86/entry/syscalls/syscallhdr.sh       |   7 +
 arch/x86/entry/syscalls/syscalltbl.sh       |  44 +-
 arch/x86/entry/thunk_32.S                   |   8 +-
 arch/x86/entry/thunk_64.S                   |   8 +-
 arch/x86/entry/vdso/vdso32/vclock_gettime.c |   1 +
 arch/x86/ia32/Makefile                      |   2 +-
 arch/x86/include/asm/irq.h                  |   2 +-
 arch/x86/include/asm/mce.h                  |   3 -
 arch/x86/include/asm/preempt.h              |   8 +-
 arch/x86/include/asm/sighandling.h          |   5 -
 arch/x86/include/asm/syscall.h              |  11 +-
 arch/x86/include/asm/syscall_wrapper.h      | 287 +++++-----
 arch/x86/include/asm/syscalls.h             |  34 --
 arch/x86/include/asm/traps.h                |  17 +-
 arch/x86/include/asm/unistd.h               |   7 +
 arch/x86/kernel/Makefile                    |   2 +
 arch/x86/kernel/asm-offsets_32.c            |   9 -
 arch/x86/kernel/asm-offsets_64.c            |  36 --
 arch/x86/kernel/cpu/mce/core.c              |  12 +-
 arch/x86/kernel/cpu/mce/internal.h          |   3 +
 arch/x86/kernel/irq.c                       |   3 +-
 arch/x86/kernel/ldt.c                       |   1 -
 arch/x86/kernel/process.c                   |   1 -
 arch/x86/kernel/process_32.c                |   1 -
 arch/x86/kernel/process_64.c                |   1 -
 arch/x86/kernel/signal.c                    |   4 +-
 arch/x86/{ia32 => kernel}/sys_ia32.c        | 143 ++---
 arch/x86/kernel/sys_x86_64.c                |   1 -
 arch/x86/kernel/traps.c                     |  41 +-
 arch/x86/um/Makefile                        |   1 +
 arch/x86/um/sys_call_table_32.c             |   6 +-
 arch/x86/um/sys_call_table_64.c             |   9 +-
 arch/x86/um/user-offsets.c                  |  15 -
 include/linux/hardirq.h                     |   8 +-
 include/linux/irqflags.h                    |  34 +-
 kernel/locking/lockdep.c                    |  12 +-
 kernel/softirq.c                            |  15 +-
 tools/include/linux/irqflags.h              |  12 +-
 48 files changed, 1206 insertions(+), 1301 deletions(-)
 create mode 100644 arch/x86/entry/syscall_x32.c
 rename arch/x86/{ia32 => kernel}/sys_ia32.c (78%)



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [GIT pull] x86/splitlock for v5.7
  2020-03-30 14:47 [GIT pull] irq/core for v5.7 Thomas Gleixner
                   ` (3 preceding siblings ...)
  2020-03-30 14:47 ` [GIT pull] x86/entry " Thomas Gleixner
@ 2020-03-30 14:47 ` Thomas Gleixner
  2020-03-31  3:00   ` pr-tracker-bot
  2020-03-30 14:47 ` [GIT pull] x86/timers " Thomas Gleixner
  2020-03-31  3:00 ` [GIT pull] irq/core " pr-tracker-bot
  6 siblings, 1 reply; 14+ messages in thread
From: Thomas Gleixner @ 2020-03-30 14:47 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, x86

Linus,

please pull the latest x86/splitlock branch from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-splitlock-2020-03-30

up to:  a6a60741035b: x86/split_lock: Avoid runtime reads of the TEST_CTRL MSR

Support for "split lock" detection:

  - Atomic operations (lock prefixed instructions) which span two cache
    lines have to acquire the global bus lock. This is at least 1k cycles
    slower than an atomic operation within a cache line and disrupts
    performance on other cores. Aside of performance disruption this is
    a unpriviledged form of DoS.

    Some newer CPUs have the capability to raise an #AC trap when such an
    operation is attempted. The detection is by default enabled in warning
    mode which will warn once when a user space application is caught. A
    command line option allows to disable the detection or to select fatal
    mode which will terminate offending applications with SIGBUS.

Thanks,

	tglx

------------------>
Peter Zijlstra (Intel) (1):
      x86/split_lock: Enable split lock detection by kernel

Xiaoyao Li (2):
      x86/split_lock: Rework the initialization flow of split lock detection
      x86/split_lock: Avoid runtime reads of the TEST_CTRL MSR


 Documentation/admin-guide/kernel-parameters.txt |  22 +++
 arch/x86/include/asm/cpu.h                      |  12 ++
 arch/x86/include/asm/cpufeatures.h              |   2 +
 arch/x86/include/asm/msr-index.h                |   9 ++
 arch/x86/include/asm/thread_info.h              |   4 +-
 arch/x86/kernel/cpu/common.c                    |   2 +
 arch/x86/kernel/cpu/intel.c                     | 183 ++++++++++++++++++++++++
 arch/x86/kernel/process.c                       |   3 +
 arch/x86/kernel/traps.c                         |  24 +++-
 9 files changed, 258 insertions(+), 3 deletions(-)



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [GIT pull] x86/timers for v5.7
  2020-03-30 14:47 [GIT pull] irq/core for v5.7 Thomas Gleixner
                   ` (4 preceding siblings ...)
  2020-03-30 14:47 ` [GIT pull] x86/splitlock " Thomas Gleixner
@ 2020-03-30 14:47 ` Thomas Gleixner
  2020-03-31  3:00   ` pr-tracker-bot
  2020-03-31  3:00 ` [GIT pull] irq/core " pr-tracker-bot
  6 siblings, 1 reply; 14+ messages in thread
From: Thomas Gleixner @ 2020-03-30 14:47 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, x86

Linus,

please pull the latest x86/timers branch from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-timers-2020-03-30

up to:  fac01d11722c: x86/tsc_msr: Make MSR derived TSC frequency more accurate


x86 timer updates:

  - A series of commits to make the MSR derived CPU and TSC frequency more
    accurate.

    It turned out that the frequency tables which have been taken from the
    SDM are inaccurate because the SDM provides truncated and rounded
    values, e.g. 83.3Mhz (83.3333...) or 116.7Mhz (116.6666...).

    This causes time drift in the range of ~1 second per hour
    (20-30 seconds per day). On some of these SoCs it's not possible to
    recalibrate the TSC because there is no reference (PIT, HPET) available.

    With some reverse engineering it was established that the possible
    frequencies are derived from the base clock with fixed multiplier /
    divider pairs.

    For the CPU models which have a known crystal frequency the kernel now
    uses multiplier / divider pairs which bring the frequencies closer to
    reality and fix the observed time drift issues.

Thanks,

	tglx

------------------>
Hans de Goede (3):
      x86/tsc_msr: Use named struct initializers
      x86/tsc_msr: Fix MSR_FSB_FREQ mask for Cherry Trail devices
      x86/tsc_msr: Make MSR derived TSC frequency more accurate


 arch/x86/kernel/tsc_msr.c | 128 ++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 112 insertions(+), 16 deletions(-)



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [GIT pull] irq/core for v5.7
  2020-03-30 14:47 [GIT pull] irq/core for v5.7 Thomas Gleixner
                   ` (5 preceding siblings ...)
  2020-03-30 14:47 ` [GIT pull] x86/timers " Thomas Gleixner
@ 2020-03-31  3:00 ` pr-tracker-bot
  6 siblings, 0 replies; 14+ messages in thread
From: pr-tracker-bot @ 2020-03-31  3:00 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: Linus Torvalds, linux-kernel, x86

The pull request you sent on Mon, 30 Mar 2020 14:47:09 -0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq-core-2020-03-30

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/2d385336afcc43732aef1d51528c03f177ecd54e

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [GIT pull] smp/core for v5.7
  2020-03-30 14:47 ` [GIT pull] smp/core " Thomas Gleixner
@ 2020-03-31  3:00   ` pr-tracker-bot
  0 siblings, 0 replies; 14+ messages in thread
From: pr-tracker-bot @ 2020-03-31  3:00 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: Linus Torvalds, linux-kernel, x86

The pull request you sent on Mon, 30 Mar 2020 14:47:10 -0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git smp-core-2020-03-30

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/992a1a3b45b5c0b6e69ecc2a3f32b0d02da28d58

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [GIT pull] x86/splitlock for v5.7
  2020-03-30 14:47 ` [GIT pull] x86/splitlock " Thomas Gleixner
@ 2020-03-31  3:00   ` pr-tracker-bot
  0 siblings, 0 replies; 14+ messages in thread
From: pr-tracker-bot @ 2020-03-31  3:00 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: Linus Torvalds, linux-kernel, x86

The pull request you sent on Mon, 30 Mar 2020 14:47:15 -0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-splitlock-2020-03-30

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/2853d5fafb1e21707e89aa2e227c90bb2c1ea4a9

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [GIT pull] x86/entry for v5.7
  2020-03-30 14:47 ` [GIT pull] x86/entry " Thomas Gleixner
@ 2020-03-31  3:00   ` pr-tracker-bot
  0 siblings, 0 replies; 14+ messages in thread
From: pr-tracker-bot @ 2020-03-31  3:00 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: Linus Torvalds, linux-kernel, x86

The pull request you sent on Mon, 30 Mar 2020 14:47:14 -0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-entry-2020-03-30

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/d5f744f9a2ac9ca6d5baf72e97ce6dc4c2f19fe4

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [GIT pull] timers/core for v5.7
  2020-03-30 14:47 ` [GIT pull] timers/core " Thomas Gleixner
@ 2020-03-31  3:00   ` pr-tracker-bot
  0 siblings, 0 replies; 14+ messages in thread
From: pr-tracker-bot @ 2020-03-31  3:00 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: Linus Torvalds, linux-kernel, x86

The pull request you sent on Mon, 30 Mar 2020 14:47:11 -0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers-core-2020-03-30

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/dbb381b619aa5242c9cb1a8fd54d71c4d79c91eb

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [GIT pull] timers/nohz for v5.7
  2020-03-30 14:47 ` [GIT pull] timers/nohz " Thomas Gleixner
@ 2020-03-31  3:00   ` pr-tracker-bot
  0 siblings, 0 replies; 14+ messages in thread
From: pr-tracker-bot @ 2020-03-31  3:00 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: Linus Torvalds, linux-kernel, x86

The pull request you sent on Mon, 30 Mar 2020 14:47:13 -0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers-nohz-2020-03-30

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/336622e9fce7a0b8243e1cd9f6e1c24d96f13cd8

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [GIT pull] x86/timers for v5.7
  2020-03-30 14:47 ` [GIT pull] x86/timers " Thomas Gleixner
@ 2020-03-31  3:00   ` pr-tracker-bot
  0 siblings, 0 replies; 14+ messages in thread
From: pr-tracker-bot @ 2020-03-31  3:00 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: Linus Torvalds, linux-kernel, x86

The pull request you sent on Mon, 30 Mar 2020 14:47:16 -0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-timers-2020-03-30

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/458ef2a25e0cbdc216012aa2b9cf549d64133b08

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2020-03-31  3:00 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-30 14:47 [GIT pull] irq/core for v5.7 Thomas Gleixner
2020-03-30 14:47 ` [GIT pull] smp/core " Thomas Gleixner
2020-03-31  3:00   ` pr-tracker-bot
2020-03-30 14:47 ` [GIT pull] timers/core " Thomas Gleixner
2020-03-31  3:00   ` pr-tracker-bot
2020-03-30 14:47 ` [GIT pull] timers/nohz " Thomas Gleixner
2020-03-31  3:00   ` pr-tracker-bot
2020-03-30 14:47 ` [GIT pull] x86/entry " Thomas Gleixner
2020-03-31  3:00   ` pr-tracker-bot
2020-03-30 14:47 ` [GIT pull] x86/splitlock " Thomas Gleixner
2020-03-31  3:00   ` pr-tracker-bot
2020-03-30 14:47 ` [GIT pull] x86/timers " Thomas Gleixner
2020-03-31  3:00   ` pr-tracker-bot
2020-03-31  3:00 ` [GIT pull] irq/core " pr-tracker-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).