04 Oct, 2016

22 commits

  • Pull CPU hotplug updates from Thomas Gleixner:
    "Yet another batch of cpu hotplug core updates and conversions:

    - Provide core infrastructure for multi instance drivers so the
    drivers do not have to keep custom lists.

    - Convert custom lists to the new infrastructure. The block-mq custom
    list conversion comes through the block tree and makes the diffstat
    tip over to more lines removed than added.

    - Handle unbalanced hotplug enable/disable calls more gracefully.

    - Remove the obsolete CPU_STARTING/DYING notifier support.

    - Convert another batch of notifier users.

    The relayfs changes which conflicted with the conversion have been
    shipped to me by Andrew.

    The remaining lot is targeted for 4.10 so that we finally can remove
    the rest of the notifiers"

    * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)
    cpufreq: Fix up conversion to hotplug state machine
    blk/mq: Reserve hotplug states for block multiqueue
    x86/apic/uv: Convert to hotplug state machine
    s390/mm/pfault: Convert to hotplug state machine
    mips/loongson/smp: Convert to hotplug state machine
    mips/octeon/smp: Convert to hotplug state machine
    fault-injection/cpu: Convert to hotplug state machine
    padata: Convert to hotplug state machine
    cpufreq: Convert to hotplug state machine
    ACPI/processor: Convert to hotplug state machine
    virtio scsi: Convert to hotplug state machine
    oprofile/timer: Convert to hotplug state machine
    block/softirq: Convert to hotplug state machine
    lib/irq_poll: Convert to hotplug state machine
    x86/microcode: Convert to hotplug state machine
    sh/SH-X3 SMP: Convert to hotplug state machine
    ia64/mca: Convert to hotplug state machine
    ARM/OMAP/wakeupgen: Convert to hotplug state machine
    ARM/shmobile: Convert to hotplug state machine
    arm64/FP/SIMD: Convert to hotplug state machine
    ...

    Linus Torvalds
     
  • Pull irq updates from Thomas Gleixner:
    "The irq departement proudly presents:

    - A rework of the core infrastructure to optimally spread interrupt
    for multiqueue devices. The first version was a bit naive and
    failed to take thread siblings and other details into account.
    Developed in cooperation with Christoph and Keith.

    - Proper delegation of softirqs to ksoftirqd, so if ksoftirqd is
    active then no further softirq processsing on interrupt return
    happens. Otherwise we try to delegate and still run another batch
    of network packets in the irq return path, which then tries to
    delegate to ksoftirqd .....

    - A proper machine parseable sysfs based alternative for
    /proc/interrupts.

    - ACPI support for the GICV3-ITS and ARM interrupt remapping

    - Two new irq chips from the ARM SoC zoo: STM32-EXTI and MVEBU-PIC

    - A new irq chip for the JCore (SuperH)

    - The usual pile of small fixlets in core and irqchip drivers"

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (42 commits)
    softirq: Let ksoftirqd do its job
    genirq: Make function __irq_do_set_handler() static
    ARM/dts: Add EXTI controller node to stm32f429
    ARM/STM32: Select external interrupts controller
    drivers/irqchip: Add STM32 external interrupts support
    Documentation/dt-bindings: Document STM32 EXTI controller bindings
    irqchip/mips-gic: Use for_each_set_bit to iterate over local IRQs
    pci/msi: Retrieve affinity for a vector
    genirq/affinity: Remove old irq spread infrastructure
    genirq/msi: Switch to new irq spreading infrastructure
    genirq/affinity: Provide smarter irq spreading infrastructure
    genirq/msi: Add cpumask allocation to alloc_msi_entry
    genirq: Expose interrupt information through sysfs
    irqchip/gicv3-its: Use MADT ITS subtable to do PCI/MSI domain initialization
    irqchip/gicv3-its: Factor out PCI-MSI part that might be reused for ACPI
    irqchip/gicv3-its: Probe ITS in the ACPI way
    irqchip/gicv3-its: Refactor ITS DT init code to prepare for ACPI
    irqchip/gicv3-its: Cleanup for ITS domain initialization
    PCI/MSI: Setup MSI domain on a per-device basis using IORT ACPI table
    ACPI: Add new IORT functions to support MSI domain handling
    ...

    Linus Torvalds
     
  • Pull timer updates from Thomas Gleixner:
    "A rather smalish set of updates for timers and timekeeping:

    - Two core fixes to prevent potential undefinded behaviour about
    which gcc is complaining rightfully.

    - A fix to prevent stopping the tick on an (soon) offline CPU so it
    can complete the shutdown procedure.

    - Wait for clocks to stabilize before making decisions, so a not yet
    validated clock is not rejected.

    - The usual pile of fixes to the various clocksource drivers.

    - Core code typo and include fixlets"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    timekeeping: Include the correct header for errno definitions
    clocksource/drivers/ti-32k: Prevent ftrace recursion
    clocksource/mips-gic-timer: Stop checking cpu_has_counter
    clocksource/mips-gic-timer: Print an error if IRQ setup fails
    tick/nohz: Prevent stopping the tick on an offline CPU
    clocksource/drivers/oxnas: Add OX820 compatible
    clocksource/drivers/timer-atmel-pit: Simplify IRQ handler
    clocksource/drivers/timer-atmel-pit: Remove uselesss WARN_ON_ONCE
    clocksource/drivers/timer-atmel-pit: Drop at91sam926x_pit_common_init
    clocksource/drivers/moxart: Replace panic by pr_err
    clocksource/drivers/moxart: Replace setup_irq by request_irq
    clocksource/drivers/moxart: Add Aspeed support
    clocksource/drivers/moxart: Use struct to hold state
    clocksource/drivers/moxart: Refactor enable/disable
    time: Avoid undefined behaviour in ktime_add_safe()
    time: Avoid undefined behaviour in timespec64_add_safe()
    timekeeping: Prints the amounts of time spent during suspend
    clocksource: Defer override invalidation unless clock is unstable
    hrtimer: Spelling fixes

    Linus Torvalds
     
  • Pull ARC updates from Vineet Gupta:

    - ARCv2 support for native 64-bit atomics using LLOCK/SCONDD
    instructions

    - Support for upcoming 3.0 release of HS38 cores

    - Dwarf unwindinder improvements:
    - enable unwinding of hand written assembler code using CFI
    pseudo-ops
    - switch to .eh_frame (as opposed to historic .debug_frame)
    - get rid of a bunch of adhoc band-aids in the process

    - Misc fixes:
    - perf supporting generic cache-references and cache-misses (Alexey)
    - default NODE_SHIFT (Noam Camus)
    - usage of KFLAG instruction to set IE (Yuriy)

    - Platforms:
    - Add "model" property across the DT (Alexey)
    - Enable MODULE_* in defconfigs

    * tag 'arc-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    ARC: [plat*] enables MODULE*
    ARCv2: fix local_save_flags
    ARC: CONFIG_NODES_SHIFT fix default values
    ARCv2: intc: Use kflag if STATUS32.IE must be reset
    ARC: .exit.* sections can be discarded in .eh_frame regime
    ARC: dw2 unwind: enable cfi pseudo ops in string lib
    ARC: dw2 unwind: add infrastructure for adding cfi pseudo ops to asm
    ARC: entry: make ret_from_system_call local label
    ARC: dw2 unwind: don't force dwarf 2
    ARC: dw2 unwind: switch to .eh_frame based unwinding
    ARC: dw2 unwind: factor CIE specifics for .eh_frame/.debug_frame
    ARC: module: support R_ARC_32_PCREL relocation
    arc: perf: Enable generic "cache-references" and "cache-misses" events
    ARC: [plat-eznps] add missing atomic_fetch_xxx operations
    ARCv2: Implement atomic64 based on LLOCKD/SCONDD instructions
    ARCv2: Support dynamic peripheral address space in HS38 rel 3.0 cores
    ARCv2: identify HS38 rel 3.0 cores
    ARCv2: Add support for ZeBu Emulation platform for HS cores
    arc: Add "model" properly in device tree description of all boards

    Linus Torvalds
     
  • Pull m68k updates from Geert Uytterhoeven:
    - cleanups
    - defconfig updates
    - GPG fingerprint update

    * tag 'm68k-for-v4.9-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k: Migrate exception table users off module.h and onto extable.h
    CREDITS: Update fingerprint for Geert Uytterhoeven
    m68k: Use IS_ENABLED() instead of checking for built-in or module
    m68k/defconfig: Update defconfigs for v4.8-rc1

    Linus Torvalds
     
  • Pull x86 vdso updates from Ingo Molnar:
    "The main changes in this cycle centered around adding support for
    32-bit compatible C/R of the vDSO on 64-bit kernels, by Dmitry
    Safonov"

    * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/vdso: Use CONFIG_X86_X32_ABI to enable vdso prctl
    x86/vdso: Only define map_vdso_randomized() if CONFIG_X86_64
    x86/vdso: Only define prctl_map_vdso() if CONFIG_CHECKPOINT_RESTORE
    x86/signal: Add SA_{X32,IA32}_ABI sa_flags
    x86/ptrace: Down with test_thread_flag(TIF_IA32)
    x86/coredump: Use pr_reg size, rather that TIF_IA32 flag
    x86/arch_prctl/vdso: Add ARCH_MAP_VDSO_*
    x86/vdso: Replace calculate_addr in map_vdso() with addr
    x86/vdso: Unmap vdso blob on vvar mapping failure

    Linus Torvalds
     
  • Pull x86 timer updates from Ingo Molnar:
    "This tree includes a HPET overhead micro-optimization plus new TSC
    frequencies for newer Intel CPUs"

    * 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/tsc: Add additional Intel CPU models to the crystal quirk list
    x86/tsc: Use cpu id defines instead of hex constants
    x86/hpet: Reduce HPET counter read contention

    Linus Torvalds
     
  • Pull x86 platform changes from Ingo Molnar:
    "The main changes in this cycle were:

    - SGI UV updates (Andrew Banman)

    - Intel MID updates (Andy Shevchenko)

    - Initial Mellanox systems platform (Vadim Pasternak)"

    * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/platform/mellanox: Fix return value check in mlxplat_init()
    x86/platform/mellanox: Introduce support for Mellanox systems platform
    x86/platform/uv/BAU: Add UV4-specific functions
    x86/platform/uv/BAU: Fix payload queue setup on UV4 hardware
    x86/platform/uv/BAU: Disable software timeout on UV4 hardware
    x86/platform/uv/BAU: Populate ->uvhub_version with UV4 version information
    x86/platform/uv/BAU: Use generic function pointers
    x86/platform/uv/BAU: Add generic function pointers
    x86/platform/uv/BAU: Convert uv_physnodeaddr() use to uv_gpa_to_offset()
    x86/platform/uv/BAU: Clean up pq_init()
    x86/platform/uv/BAU: Clean up and update printks
    x86/platform/uv/BAU: Clean up vertical alignment
    x86/platform/intel-mid: Keep SRAM powered on at boot
    x86/platform/intel-mid: Add Intel Penwell to ID table
    x86/cpu: Rename Merrifield2 to Moorefield
    x86/platform/intel-mid: Implement power off sequence
    x86/platform/intel-mid: Enable SD card detection on Merrifield
    x86/platform/intel-mid: Enable WiFi on Intel Edison
    x86/platform/intel-mid: Run PWRMU command immediately

    Linus Torvalds
     
  • Pull x86 cleanups from Ingo Molnar:
    "Header file and a wrapper functions cleanup"

    * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: Migrate exception table users off module.h and onto extable.h
    x86: Clean up various simple wrapper functions

    Linus Torvalds
     
  • Pull x86 boot updates from Ingo Molnar:
    "The changes in this cycle were:

    - Save e820 table RAM footprint on larger kernel configurations.
    (Denys Vlasenko)

    - pmem related fixes (Dan Williams)

    - theoretical e820 boundary condition fix (Wei Yang)"

    * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/boot: Fix kdump, cleanup aborted E820_PRAM max_pfn manipulation
    x86/e820: Use much less memory for e820/e820_saved, save up to 120k
    x86/e820: Prepare e280 code for switch to dynamic storage
    x86/e820: Mark some static functions __init
    x86/e820: Fix very large 'size' handling boundary condition

    Linus Torvalds
     
  • Pull low-level x86 updates from Ingo Molnar:
    "In this cycle this topic tree has become one of those 'super topics'
    that accumulated a lot of changes:

    - Add CONFIG_VMAP_STACK=y support to the core kernel and enable it on
    x86 - preceded by an array of changes. v4.8 saw preparatory changes
    in this area already - this is the rest of the work. Includes the
    thread stack caching performance optimization. (Andy Lutomirski)

    - switch_to() cleanups and all around enhancements. (Brian Gerst)

    - A large number of dumpstack infrastructure enhancements and an
    unwinder abstraction. The secret long term plan is safe(r) live
    patching plus maybe another attempt at debuginfo based unwinding -
    but all these current bits are standalone enhancements in a frame
    pointer based debug environment as well. (Josh Poimboeuf)

    - More __ro_after_init and const annotations. (Kees Cook)

    - Enable KASLR for the vmemmap memory region. (Thomas Garnier)"

    [ The virtually mapped stack changes are pretty fundamental, and not
    x86-specific per se, even if they are only used on x86 right now. ]

    * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (70 commits)
    x86/asm: Get rid of __read_cr4_safe()
    thread_info: Use unsigned long for flags
    x86/alternatives: Add stack frame dependency to alternative_call_2()
    x86/dumpstack: Fix show_stack() task pointer regression
    x86/dumpstack: Remove dump_trace() and related callbacks
    x86/dumpstack: Convert show_trace_log_lvl() to use the new unwinder
    oprofile/x86: Convert x86_backtrace() to use the new unwinder
    x86/stacktrace: Convert save_stack_trace_*() to use the new unwinder
    perf/x86: Convert perf_callchain_kernel() to use the new unwinder
    x86/unwind: Add new unwind interface and implementations
    x86/dumpstack: Remove NULL task pointer convention
    fork: Optimize task creation by caching two thread stacks per CPU if CONFIG_VMAP_STACK=y
    sched/core: Free the stack early if CONFIG_THREAD_INFO_IN_TASK
    lib/syscall: Pin the task stack in collect_syscall()
    x86/process: Pin the target stack in get_wchan()
    x86/dumpstack: Pin the target stack when dumping it
    kthread: Pin the stack via try_get_task_stack()/put_task_stack() in to_live_kthread() function
    sched/core: Add try_get_task_stack() and put_task_stack()
    x86/entry/64: Fix a minor comment rebase error
    iommu/amd: Don't put completion-wait semaphore on stack
    ...

    Linus Torvalds
     
  • Pull x86 apic updates from Ingo Molnar:
    "The main changes are:

    - Persistent CPU/node numbering across CPU hotplug/unplug events.
    This is a pretty involved series of changes that first fetches all
    the information during bootup and then uses it for the various
    hotplug/unplug methods. (Gu Zheng, Dou Liyang)

    - IO-APIC hot-add/remove fixes and enhancements. (Rui Wang)

    - ... various fixes, cleanups and enhancements"

    * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
    x86/apic: Fix silent & fatal merge conflict in __generic_processor_info()
    acpi: Fix broken error check in map_processor()
    acpi: Validate processor id when mapping the processor
    acpi: Provide mechanism to validate processors in the ACPI tables
    x86/acpi: Set persistent cpuid nodeid mapping when booting
    x86/acpi: Enable MADT APIs to return disabled apicids
    x86/acpi: Introduce persistent storage for cpuid apicid mapping
    x86/acpi: Enable acpi to register all possible cpus at boot time
    x86/numa: Online memory-less nodes at boot time
    x86/apic: Get rid of apic_version[] array
    x86/apic: Order irq_enter/exit() calls correctly vs. ack_APIC_irq()
    x86/ioapic: Ignore root bridges without a companion ACPI device
    x86/apic: Update comment about disabling processor focus
    x86/smpboot: Check APIC ID before setting up default routing
    x86/ioapic: Fix IOAPIC failing to request resource
    x86/ioapic: Fix lost IOAPIC resource after hot-removal and hotadd
    x86/ioapic: Fix setup_res() failing to get resource
    x86/ioapic: Support hot-removal of IOAPICs present during boot
    x86/ioapic: Change prototype of acpi_ioapic_add()
    x86/apic, ACPI: Fix incorrect assignment when handling apic/x2apic entries
    ...

    Linus Torvalds
     
  • Pull scheduler changes from Ingo Molnar:
    "The main changes are:

    - irqtime accounting cleanups and enhancements. (Frederic Weisbecker)

    - schedstat debugging enhancements, make it more broadly runtime
    available. (Josh Poimboeuf)

    - More work on asymmetric topology/capacity scheduling. (Morten
    Rasmussen)

    - sched/wait fixes and cleanups. (Oleg Nesterov)

    - PELT (per entity load tracking) improvements. (Peter Zijlstra)

    - Rewrite and enhance select_idle_siblings(). (Peter Zijlstra)

    - sched/numa enhancements/fixes (Rik van Riel)

    - sched/cputime scalability improvements (Stanislaw Gruszka)

    - Load calculation arithmetics fixes. (Dietmar Eggemann)

    - sched/deadline enhancements (Tommaso Cucinotta)

    - Fix utilization accounting when switching to the SCHED_NORMAL
    policy. (Vincent Guittot)

    - ... plus misc cleanups and enhancements"

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (64 commits)
    sched/irqtime: Consolidate irqtime flushing code
    sched/irqtime: Consolidate accounting synchronization with u64_stats API
    u64_stats: Introduce IRQs disabled helpers
    sched/irqtime: Remove needless IRQs disablement on kcpustat update
    sched/irqtime: No need for preempt-safe accessors
    sched/fair: Fix min_vruntime tracking
    sched/debug: Add SCHED_WARN_ON()
    sched/core: Fix set_user_nice()
    sched/fair: Introduce set_curr_task() helper
    sched/core, ia64: Rename set_curr_task()
    sched/core: Fix incorrect utilization accounting when switching to fair class
    sched/core: Optimize SCHED_SMT
    sched/core: Rewrite and improve select_idle_siblings()
    sched/core: Replace sd_busy/nr_busy_cpus with sched_domain_shared
    sched/core: Introduce 'struct sched_domain_shared'
    sched/core: Restructure destroy_sched_domain()
    sched/core: Remove unused @cpu argument from destroy_sched_domain*()
    sched/wait: Introduce init_wait_entry()
    sched/wait: Avoid abort_exclusive_wait() in __wait_on_bit_lock()
    sched/wait: Avoid abort_exclusive_wait() in ___wait_event()
    ...

    Linus Torvalds
     
  • Pull RAS updates from Ingo Molnar:
    "The main changes were:

    - Lots of enhancements for AMD SMCA (Scalable MCA
    features/extensions) systems: extract, decode and print more
    hardware error information and add matching support on the
    injection/testing side as well. (Yazn Ghannam)

    - Various MCE handling improvements on modern Intel Xeons. (Tony
    Luck)

    - Plus misc fixes and enhancements"

    * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
    x86/RAS/mce_amd_inj: Remove debugfs dir recursively on exit
    x86/RAS/mce_amd_inj: Fix signed wrap around when decrementing index 'i'
    x86/RAS/mce_amd_inj: Fix some W= warnings
    x86/MCE/AMD, EDAC: Handle reserved bank 4 on Fam17h properly
    x86/mce/AMD: Extract the error address on SMCA systems
    x86/mce, EDAC/mce_amd: Print MCA_SYND and MCA_IPID during MCE on SMCA systems
    x86/mce/AMD: Save MCA_IPID in MCE struct on SMCA systems
    x86/mce/AMD: Ensure the deferred error interrupt is of type APIC on SMCA systems
    x86/mce/AMD: Update sysfs bank names for SMCA systems
    x86/mce/AMD, EDAC/mce_amd: Define and use tables for known SMCA IP types
    EDAC/mce_amd: Use SMCA prefix for error descriptions arrays
    EDAC/mce_amd: Add missing SMCA error descriptions
    x86/mce/AMD: Read MSRs on the CPU allocating the threshold blocks
    x86/RAS: Add syndrome support to mce_amd_inj
    EDAC/mce_amd: Print syndrome register value on SMCA systems
    x86/mce: Add support for new MCA_SYND register
    x86/mce/AMD: Use msr_ops.misc() in allocate_threshold_blocks()
    x86/mce: Drop X86_FEATURE_MCE_RECOVERY and the related model string test
    x86/mce: Improve memcpy_mcsafe()
    x86/mce: Add PCI quirks to identify Xeons with machine check recovery
    ...

    Linus Torvalds
     
  • Pull perf updates from Ingo Molnar:
    "The main kernel side changes were:

    - uprobes enhancements (Masami Hiramatsu)

    - Uncore group events enhancements (David Carrillo-Cisneros)

    - x86 Intel: Add support for Skylake server uncore PMUs (Kan Liang)

    - x86 Intel: LBR cleanups and enhancements, for better branch
    annotation tracking (Peter Zijlstra)

    - x86 Intel: Add support for PTWRITE and power event tracing
    (Alexander Shishkin)

    - ... various fixes, cleanups and smaller enhancements.

    Lots of tooling changes - a couple of highlights:

    - Support event group view with hierarchy mode in 'perf top' and
    'perf report' (Namhyung Kim)

    e.g.:

    $ perf record -e '{cycles,instructions}' make
    $ perf report --hierarchy --stdio
    ...
    # Overhead Command / Shared Object / Symbol
    # ...................... ..................................
    ...
    25.74% 27.18%sh
    19.96% 24.14%libc-2.24.so
    9.55% 14.64%[.] __strcmp_sse2
    1.54% 0.00%[.] __tfind
    1.07% 1.13%[.] _int_malloc
    0.95% 0.00%[.] __strchr_sse2
    0.89% 1.39%[.] __tsearch
    0.76% 0.00%[.] strlen

    - Add branch stack / basic block info to 'perf annotate --stdio',
    where for each branch, we add an asm comment after the instruction
    with information on how often it was taken and predicted. See
    example with color output at:

    http://vger.kernel.org/~acme/perf/annotate_basic_blocks.png

    (Peter Zijlstra)

    - Add support for using symbols in address filters with Intel PT and
    ARM CoreSight (hardware assisted tracing facilities) (Adrian
    Hunter, Mathieu Poirier)

    - Add support for interacting with Coresight PMU ETMs/PTMs, that are
    IP blocks to perform hardware assisted tracing on a ARM CPU core
    (Mathieu Poirier)

    - Support generating cross arch probes, i.e. if you specify a vmlinux
    file for different arch than the one in the host machine,

    $ perf probe --definition function_name args

    will generate the probe definition string needed to append to the
    target machine /sys/kernel/debug/tracing/kprobes_events file, using
    scripting (Masami Hiramatsu).

    - Allow configuring the default 'perf report -s' sort order in
    ~/.perfconfig, for instance, "sym,dso" may be more fitting for
    kernel developers. (Arnaldo Carvalho de Melo)

    - ... plus lots of other changes, refactorings, features and fixes"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (149 commits)
    perf tests: Add dwarf unwind test for powerpc
    perf probe: Match linkage name with mangled name
    perf probe: Fix to cut off incompatible chars from group name
    perf probe: Skip if the function address is 0
    perf probe: Ignore the error of finding inline instance
    perf intel-pt: Fix decoding when there are address filters
    perf intel-pt: Enable decoder to handle TIP.PGD with missing IP
    perf intel-pt: Read address filter from AUXTRACE_INFO event
    perf intel-pt: Record address filter in AUXTRACE_INFO event
    perf intel-pt: Add a helper function for processing AUXTRACE_INFO
    perf intel-pt: Fix missing error codes processing auxtrace_info
    perf intel-pt: Add support for recording the max non-turbo ratio
    perf intel-pt: Fix snapshot overlap detection decoder errors
    perf probe: Increase debug level of SDT debug messages
    perf record: Add support for using symbols in address filters
    perf symbols: Add dso__last_symbol()
    perf record: Fix error paths
    perf record: Rename label 'out_symbol_exit'
    perf script: Fix vanished idle symbols
    perf evsel: Add support for address filters
    ...

    Linus Torvalds
     
  • Pull locking updates from Ingo Molnar:
    "The main changes in this cycle were:

    - rwsem micro-optimizations (Davidlohr Bueso)

    - Improve the implementation and optimize the performance of
    percpu-rwsems. (Peter Zijlstra.)

    - Convert all lglock users to better facilities such as percpu-rwsems
    or percpu-spinlocks and remove lglocks. (Peter Zijlstra)

    - Remove the ticket (spin)lock implementation. (Peter Zijlstra)

    - Korean translation of memory-barriers.txt and related fixes to the
    English document. (SeongJae Park)

    - misc fixes and cleanups"

    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
    x86/cmpxchg, locking/atomics: Remove superfluous definitions
    x86, locking/spinlocks: Remove ticket (spin)lock implementation
    locking/lglock: Remove lglock implementation
    stop_machine: Remove stop_cpus_lock and lg_double_lock/unlock()
    fs/locks: Use percpu_down_read_preempt_disable()
    locking/percpu-rwsem: Add down_read_preempt_disable()
    fs/locks: Replace lg_local with a per-cpu spinlock
    fs/locks: Replace lg_global with a percpu-rwsem
    locking/percpu-rwsem: Add DEFINE_STATIC_PERCPU_RWSEMand percpu_rwsem_assert_held()
    locking/pv-qspinlock: Use cmpxchg_release() in __pv_queued_spin_unlock()
    locking/rwsem, x86: Drop a bogus cc clobber
    futex: Add some more function commentry
    locking/hung_task: Show all locks
    locking/rwsem: Scan the wait_list for readers only once
    locking/rwsem: Remove a few useless comments
    locking/rwsem: Return void in __rwsem_mark_wake()
    locking, rcu, cgroup: Avoid synchronize_sched() in __cgroup_procs_write()
    locking/Documentation: Add Korean translation
    locking/Documentation: Fix a typo of example result
    locking/Documentation: Fix wrong section reference
    ...

    Linus Torvalds
     
  • Pull EFI updates from Ingo Molnar:
    "Main changes in this cycle were:

    - Refactor the EFI memory map code into architecture neutral files
    and allow drivers to permanently reserve EFI boot services regions
    on x86, as well as ARM/arm64. (Matt Fleming)

    - Add ARM support for the EFI ESRT driver. (Ard Biesheuvel)

    - Make the EFI runtime services and efivar API interruptible by
    swapping spinlocks for semaphores. (Sylvain Chouleur)

    - Provide the EFI identity mapping for kexec which allows kexec to
    work on SGI/UV platforms with requiring the "noefi" kernel command
    line parameter. (Alex Thorlton)

    - Add debugfs node to dump EFI page tables on arm64. (Ard Biesheuvel)

    - Merge the EFI test driver being carried out of tree until now in
    the FWTS project. (Ivan Hu)

    - Expand the list of flags for classifying EFI regions as "RAM" on
    arm64 so we align with the UEFI spec. (Ard Biesheuvel)

    - Optimise out the EFI mixed mode if it's unsupported (CONFIG_X86_32)
    or disabled (CONFIG_EFI_MIXED=n) and switch the early EFI boot
    services function table for direct calls, alleviating us from
    having to maintain the custom function table. (Lukas Wunner)

    - Miscellaneous cleanups and fixes"

    * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (30 commits)
    x86/efi: Round EFI memmap reservations to EFI_PAGE_SIZE
    x86/efi: Allow invocation of arbitrary boot services
    x86/efi: Optimize away setup_gop32/64 if unused
    x86/efi: Use kmalloc_array() in efi_call_phys_prolog()
    efi/arm64: Treat regions with WT/WC set but WB cleared as memory
    efi: Add efi_test driver for exporting UEFI runtime service interfaces
    x86/efi: Defer efi_esrt_init until after memblock_x86_fill
    efi/arm64: Add debugfs node to dump UEFI runtime page tables
    x86/efi: Remove unused find_bits() function
    fs/efivarfs: Fix double kfree() in error path
    x86/efi: Map in physical addresses in efi_map_region_fixed
    lib/ucs2_string: Speed up ucs2_utf8size()
    firmware-gsmi: Delete an unnecessary check before the function call "dma_pool_destroy"
    x86/efi: Initialize status to ensure garbage is not returned on small size
    efi: Replace runtime services spinlock with semaphore
    efi: Don't use spinlocks for efi vars
    efi: Use a file local lock for efivars
    efi/arm*: esrt: Add missing call to efi_esrt_init()
    efi/esrt: Use memremap not ioremap to access ESRT table in memory
    x86/efi-bgrt: Use efi_mem_reserve() to avoid copying image data
    ...

    Linus Torvalds
     
  • Pull core SMP updates from Ingo Molnar:
    "Two main change is generic vCPU pinning and physical CPU SMP-call
    support, for Xen to be able to perform certain calls on specific
    physical CPUs - by Juergen Gross"

    * 'core-smp-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    smp: Allocate smp_call_on_cpu() workqueue on stack too
    hwmon: Use smp_call_on_cpu() for dell-smm i8k
    dcdbas: Make use of smp_call_on_cpu()
    xen: Add xen_pin_vcpu() to support calling functions on a dedicated pCPU
    smp: Add function to execute a function synchronously on a CPU
    virt, sched: Add generic vCPU pinning support
    xen: Sync xen header

    Linus Torvalds
     
  • Pull RCU updates from Ingo Molnar:
    "The main changes in this cycle were:

    - Expedited grace-period changes, most notably avoiding having user
    threads drive expedited grace periods, using a workqueue instead.

    - Miscellaneous fixes, including a performance fix for lists that was
    sent with the lists modifications.

    - CPU hotplug updates, most notably providing exact CPU-online
    tracking for RCU. This will in turn allow removal of the checks
    supporting RCU's prior heuristic that was based on the assumption
    that CPUs would take no longer than one jiffy to come online.

    - Torture-test updates.

    - Documentation updates"

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
    list: Expand list_first_entry_or_null()
    torture: TOROUT_STRING(): Insert a space between flag and message
    rcuperf: Consistently insert space between flag and message
    rcutorture: Print out barrier error as document says
    torture: Add task state to writer-task stall printk()s
    torture: Convert torture_shutdown() to hrtimer
    rcutorture: Convert to hotplug state machine
    cpu/hotplug: Get rid of CPU_STARTING reference
    rcu: Provide exact CPU-online tracking for RCU
    rcu: Avoid redundant quiescent-state chasing
    rcu: Don't use modular infrastructure in non-modular code
    sched: Make wake_up_nohz_cpu() handle CPUs going offline
    rcu: Use rcu_gp_kthread_wake() to wake up grace period kthreads
    rcu: Use RCU's online-CPU state for expedited IPI retry
    rcu: Exclude RCU-offline CPUs from expedited grace periods
    rcu: Make expedited RCU CPU stall warnings respond to controls
    rcu: Stop disabling expedited RCU CPU stall warnings
    rcu: Drive expedited grace periods from workqueue
    rcu: Consolidate expedited grace period machinery
    documentation: Record reason for rcu_head two-byte alignment
    ...

    Linus Torvalds
     
  • Pull PNP update from Rafael Wysocki:
    "This makes more PNP core code explicitly non-modular (Paul Gortmaker)"

    * tag 'pnp-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    PNP: isapnp: make core more explicitly non-modular

    Linus Torvalds
     
  • Pull ACPI updates from Rafael Wysocki:
    "First off, the ACPICA code in the kernel is updated to upstream
    revision 20160831 that brings in a few bug fixes and cleanups. In
    particular, it is possible to mask GPEs now (and the sysfs interface
    for GPE control is fixed on top of that), problems related to the
    table loading mechanism are fixed and all code related to FADT version
    2 (which has never been part of the ACPI specification) is dropped.

    On the new features front, there is a new watchdog driver based on the
    ACPI WDAT (ACPI Watchdog Action Table), needed on some platforms to
    replace the iTCO watchdog that doesn't work there, and some UART
    devices get new definitions of built-in properties (to be accessed via
    the generic device properties API).

    Also, included is a fix for an ACPI-related PCI resorces allocation
    issue and a few problems in the EC driver and in the button and
    battery drivers are fixed.

    In addition to that, the ACPI CPPC library is updated to make batching
    of requests sent over the PCC channel possible (which reduces the PCC
    usage overhead substantially in some cases) and to support functional
    fixed hardware (FFH) type of CPPC registers access (which will allow
    CPPC to be used on x86 too in the future).

    As usual, there are some assorted fixes and cleanups too.

    Specifics:

    - Update of the ACPICA code in the kernel to upstream revision
    20160831 with the following major changes:

    * New mechanism for GPE masking.
    * Fixes for issues related to the LoadTable operator and table
    loading.
    * Fixes for issues related to so-called module-level code (MLC),
    that is AML that doesn't belong to any methods.
    * Change of the return value of the _OSI method to reflect the
    Windows behavior.
    * GAS (Generic Address Structure) support fix related to 32-bit
    FADT addresses.
    * Elimination of unnecessary FADT version 2 support.
    * ACPI tools fixes and cleanups.

    From Bob Moore, Lv Zheng, and Jung-uk Kim.

    - ACPI sysfs interface updates to fix GPE handling (on top of the new
    GPE masking mechanism in ACPICA) and issues related to table
    loading (Lv Zheng).

    - New watchdog driver based on the ACPI WDAT (ACPI Watchdog Action
    Table), needed on some platforms to replace the iTCO watchdog that
    doesn't work there and related updates of the intel_pmc_ipc,
    i2c/i801 and MFD/lcp_ich drivers (Mika Westerberg).

    - Driver core fix to prevent it from leaking secondary fwnode objects
    during device removal (Lukas Wunner).

    - New definitions of built-in properties for UART in ACPI-based x86
    SoC drivers and a 8250_dw driver quirk for the APM X-Gene SoC
    (Heikki Krogerus).

    - New device ID for the Vulcan SPI controller and constification of
    local strucures in the AMD SoC (APD) ACPI driver (Kamlakant Patel,
    Julia Lawall).

    - Fix for a bug causing the allocation of PCI resorces to fail if
    ACPI-enumerated child platform devices are registered below the PCI
    devices in question (Mika Westerberg).

    - Change of the default polarity for PCI legacy IRQs to high on
    systems booting wth ACPI on platforms with a GIC interrupt
    controller model fixing the discrepancy between the specification
    and HW behavior (Lorenzo Pieralisi).

    - Fixes for the handling of system suspend/resume in the ACPI EC
    driver and update of that driver to make it cope with the cases
    when the EC device defined in the ECDT has to be used throughout
    the entire system life cycle (Lv Zheng).

    - Update of the ACPI CPPC library to allow it to batch requests sent
    over the PCC channel (to reduce overhead), to support the fixed
    functional hardware (FFH) CPPC registers access type, to notify the
    mailbox framework about TX completions when the interrupt flag is
    set for the PCC mailbox, and to support HW-Reduced Communication
    Subspace type 2 (Ashwin Chaugule, Prashanth Prakash, Srinivas
    Pandruvada, Hoan Tran).

    - ACPI button driver fix and documentation update related to the
    handling of laptop lids (Lv Zheng).

    - ACPI battery driver initialization fix (Carlos Garnacho).

    - ACPI GPIO enumeration documentation update (Mika Westerberg).

    - Assorted updates of the core ACPI bus type code (Lukas Wunner, Lv
    Zheng).

    - Assorted cleanups of the ACPI table parsing code and the
    x86-specific ACPI code (Al Stone).

    - Fixes for assorted ACPI-related issues found in linux-next (Wei
    Yongjun)"

    * tag 'acpi-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (98 commits)
    ACPI / documentation: Use recommended name in GPIO property names
    watchdog: wdat_wdt: Fix warning for using 0 as NULL
    watchdog: wdat_wdt: fix return value check in wdat_wdt_probe()
    platform/x86: intel_pmc_ipc: Do not create iTCO watchdog when WDAT table exists
    i2c: i801: Do not create iTCO watchdog when WDAT table exists
    mfd: lpc_ich: Do not create iTCO watchdog when WDAT table exists
    ACPI / bus: Adjust ACPI subsystem initialization for new table loading mode
    ACPICA: Parser: Fix a regression in LoadTable support
    ACPICA: Tables: Fix "UNLOAD" code path lock issues
    ACPI / watchdog: Add support for WDAT hardware watchdog
    ACPI / platform: Pay attention to parent device's resources
    PCI: Add pci_find_resource()
    ACPI / CPPC: Support PCC with interrupt flag
    ACPI / sysfs: Update sysfs signature handling code
    ACPI / sysfs: Fix an issue for LoadTable opcode
    ACPICA: Tables: Fix a regression in acpi_tb_find_table()
    ACPI / tables: Remove duplicated include from tables.c
    ACPI / APD: constify local structures
    x86: ACPI: make variable names clearer in acpi_parse_madt_lapic_entries()
    x86: ACPI: remove extraneous white space after semicolon
    ...

    Linus Torvalds
     
  • Pull power management updates from Rafael Wysocki:
    "Traditionally, cpufreq is the area with the greatest number of
    changes, but there are fewer of them than last time. There also is
    some activity in the generic power domains and the devfreq frameworks,
    a couple of system suspend and hibernation fixes and some assorted
    changes in other places.

    One new feature is the cpufreq change to allow the scheduler to pass
    hints to the governors' utilization update callbacks and some code
    rework based on that. Another one is the support for domain removal in
    the generic power domains framework. Also it is now possible to use
    hibernation with PAGE_POISONING_ZERO enabled and devfreq supports the
    RockChip DFI controller and the rk3399 DMC.

    The rest of the changes is mostly fixes and cleanups in a number of
    places.

    Specifics:

    - Add a mechanism for passing hints from the scheduler to cpufreq
    governors via their utilization update callbacks and use it to
    introduce "IOwait boosting" into the schedutil governor and
    intel_pstate that will make them boost performance if the enqueued
    task was previously waiting on I/O (Rafael Wysocki).

    - Fix a schedutil governor problem that causes it to overestimate
    utilization if SMT is in use (Steve Muckle).

    - Update defconfigs trying to use the schedutil governor as a module
    which is not possible any more (Javier Martinez Canillas).

    - Update the intel_pstate's pstate_sample tracepoint to take "IOwait
    boosting" into account (Srinivas Pandruvada).

    - Fix a problem in the cpufreq core causing it to mishandle the
    initialization of CPUs registered after the cpufreq driver (Viresh
    Kumar, Rafael Wysocki).

    - Make the cpufreq-dt driver support per-policy governor tunables,
    clean it up and update its Kconfig description (Viresh Kumar).

    - Add support for more ARM platforms to the cpufreq-dt driver
    (Chanwoo Choi, Dave Gerlach, Geert Uytterhoeven).

    - Make the cpufreq CPPC driver report frequencies in KHz to avoid
    user space compatiblility issues (Al Stone, Hoan Tran).

    - Clean up a few cpufreq drivers (st, kirkwood, SCPI) a bit (Colin
    Ian King, Markus Elfring).

    - Constify some local structures in the intel_pstate driver (Julia
    Lawall).

    - Add a Documentation/cpu-freq/ entry to MAINTAINERS (Jean Delvare).

    - Add support for PM domain removal to the generic power domains
    (genpd) framework, add new DT helper functions to it and make it
    always enable debugfs support if available (Jon Hunter, Tomeu
    Vizoso).

    - Clean up the generic power domains (genpd) framework and make it
    avoid measuring power-on and power-off latencies during system-wide
    PM transitions (Ulf Hansson).

    - Add support for the RockChip DFI controller and the rk3399 DMC to
    the devfreq framework (Lin Huang, Axel Lin, Arnd Bergmann).

    - Add COMPILE_TEST to the devfreq framework (Krzysztof Kozlowski,
    Stephen Rothwell).

    - Fix a minor issue in the exynos-ppmu devfreq driver and fix up
    devfreq Kconfig indentation style (Wei Yongjun, Jisheng Zhang).

    - Fix the system suspend interface to make suspend-to-idle work if
    platform suspend operations have not been registered (Sudeep
    Holla).

    - Make it possible to use hibernation with PAGE_POISONING_ZERO
    enabled (Anisse Astier).

    - Increas the default timeout of the system suspend/resume watchdog
    and make it depend on EXPERT (Chen Yu).

    - Make the operating performance points (OPP) framework avoid using
    OPPs that aren't supported by the platform and fix a build warning
    in it (Dave Gerlach, Arnd Bergmann).

    - Fix the ARM cpuidle driver's return value (Christophe Jaillet).

    - Make the SmartReflex AVS (Adaptive Voltage Scaling) driver use more
    common logging style (Joe Perches)"

    * tag 'pm-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (58 commits)
    PM / OPP: Don't support OPP if it provides supported-hw but platform does not
    cpufreq: st: add missing \n to end of dev_err message
    cpufreq: kirkwood: add missing \n to end of dev_err messages
    PM / Domains: Rename pm_genpd_sync_poweron|poweroff()
    PM / Domains: Don't measure latency of ->power_on|off() during system PM
    PM / Domains: Remove redundant system PM callbacks
    PM / Domains: Simplify detaching a device from its genpd
    PM / devfreq: rk3399_dmc: Remove explictly regulator_put call in .remove
    PM / devfreq: rockchip: add PM_DEVFREQ_EVENT dependency
    PM / OPP: avoid maybe-uninitialized warning
    PM / Domains: Allow holes in genpd_data.domains array
    cpufreq: CPPC: Avoid overflow when calculating desired_perf
    cpufreq: ti: Use generic platdev driver
    cpufreq: intel_pstate: Add io_boost trace
    partial revert of "PM / devfreq: Add COMPILE_TEST for build coverage"
    cpufreq: intel_pstate: Use IOWAIT flag in Atom algorithm
    cpufreq: schedutil: Add iowait boosting
    cpufreq / sched: SCHED_CPUFREQ_IOWAIT flag to indicate iowait condition
    PM / Domains: Add support for removing nested PM domains by provider
    PM / Domains: Add support for removing PM domains
    ...

    Linus Torvalds
     

03 Oct, 2016

8 commits

  • Pull arm64 updates from Will Deacon:
    "It's a bit all over the place this time with no "killer feature" to
    speak of. Support for mismatched cache line sizes should help people
    seeing whacky JIT failures on some SoCs, and the big.LITTLE perf
    updates have been a long time coming, but a lot of the changes here
    are cleanups.

    We stray outside arch/arm64 in a few areas: the arch/arm/ arch_timer
    workaround is acked by Russell, the DT/OF bits are acked by Rob, the
    arch_timer clocksource changes acked by Marc, CPU hotplug by tglx and
    jump_label by Peter (all CC'd).

    Summary:

    - Support for execute-only page permissions
    - Support for hibernate and DEBUG_PAGEALLOC
    - Support for heterogeneous systems with mismatches cache line sizes
    - Errata workarounds (A53 843419 update and QorIQ A-008585 timer bug)
    - arm64 PMU perf updates, including cpumasks for heterogeneous systems
    - Set UTS_MACHINE for building rpm packages
    - Yet another head.S tidy-up
    - Some cleanups and refactoring, particularly in the NUMA code
    - Lots of random, non-critical fixes across the board"

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (100 commits)
    arm64: tlbflush.h: add __tlbi() macro
    arm64: Kconfig: remove SMP dependence for NUMA
    arm64: Kconfig: select OF/ACPI_NUMA under NUMA config
    arm64: fix dump_backtrace/unwind_frame with NULL tsk
    arm/arm64: arch_timer: Use archdata to indicate vdso suitability
    arm64: arch_timer: Work around QorIQ Erratum A-008585
    arm64: arch_timer: Add device tree binding for A-008585 erratum
    arm64: Correctly bounds check virt_addr_valid
    arm64: migrate exception table users off module.h and onto extable.h
    arm64: pmu: Hoist pmu platform device name
    arm64: pmu: Probe default hw/cache counters
    arm64: pmu: add fallback probe table
    MAINTAINERS: Update ARM PMU PROFILING AND DEBUGGING entry
    arm64: Improve kprobes test for atomic sequence
    arm64/kvm: use alternative auto-nop
    arm64: use alternative auto-nop
    arm64: alternative: add auto-nop infrastructure
    arm64: lse: convert lse alternatives NOP padding to use __nops
    arm64: barriers: introduce nops and __nops macros for NOP sequences
    arm64: sysreg: replace open-coded mrs_s/msr_s with {read,write}_sysreg_s
    ...

    Linus Torvalds
     
  • Linus Torvalds
     
  • Pull ARM fixes from Russell King:
    "Three relatively small fixes for ARM:

    - Roger noticed that dma_max_pfn() was calculating the upper limit
    wrongly, by adding the PFN offset of memory twice.

    - A fix from Robin to correct parsing of MPIDR values when the
    address size is larger than one BE32 unit.

    - A fix from Srinivas to ensure that we do not rely on the boot
    loader (or previous Linux kernel) setting the translation table
    base register a certain way in the decompressor, which can lead to
    crashes"

    * 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm:
    ARM: 8618/1: decompressor: reset ttbcr fields to use TTBR0 on ARMv7
    ARM: 8617/1: dma: fix dma_max_pfn()
    ARM: 8616/1: dt: Respect property size when parsing CPUs

    Linus Torvalds
     
  • If the bootloader uses the long descriptor format and jumps to
    kernel decompressor code, TTBCR may not be in a right state.
    Before enabling the MMU, it is required to clear the TTBCR.PD0
    field to use TTBR0 for translation table walks.

    The commit dbece45894d3a ("ARM: 7501/1: decompressor:
    reset ttbcr for VMSA ARMv7 cores") does the reset of TTBCR.N, but
    doesn't consider all the bits for the size of TTBCR.N.

    Clear TTBCR.PD0 field and reset all the three bits of TTBCR.N to
    indicate the use of TTBR0 and the correct base address width.

    Fixes: dbece45894d3 ("ARM: 7501/1: decompressor: reset ttbcr for VMSA ARMv7 cores")
    Acked-by: Robin Murphy
    Signed-off-by: Srinivas Ramana
    Signed-off-by: Russell King

    Srinivas Ramana
     
  • Pull x86 fixes from Thomas Gleixner:
    "The last regression fixes for 4.8 final:

    - Two patches addressing the fallout of the CR4 optimizations which
    caused CR4-less machines to fail.

    - Fix the VDSO build on big endian machines

    - Take care of FPU initialization if no CPUID is available otherwise
    task struct size ends up being zero

    - Fix up context tracking in case load_gs_index fails"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/entry/64: Fix context tracking state warning when load_gs_index fails
    x86/boot: Initialize FPU and X86_FEATURE_ALWAYS even if we don't have CPUID
    x86/vdso: Fix building on big endian host
    x86/boot: Fix another __read_cr4() case on 486
    x86/init: Fix cr4_init_shadow() on CR4-less machines

    Linus Torvalds
     
  • Pull MIPS fixes from Ralf Baechle:
    "Another round of fixes:

    - CM: Fix mips_cm_max_vp_width for non-MT kernels on MT systems
    - CPS: Avoid BUG() when offlining pre-r6 CPUs
    - DEC: Avoid gas warnings due to suspicious instruction scheduling by
    manually expanding assembler macros.
    - FTLB: Fix configuration by moving confiuguratoin after probing
    - FTLB: clear execution hazard after changing FTLB enable
    - Highmem: Fix detection of unsupported highmem with cache aliases
    - I6400: Don't touch FTLBP chicken bits
    - microMIPS: Fix BUILD_ROLLBACK_PROLOGUE
    - Malta: Fix IOCU disable switch read for MIPS64
    - Octeon: Fix probing of devices attached to GPIO lines
    - uprobes: Misc small fixes"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: CM: Fix mips_cm_max_vp_width for non-MT kernels on MT systems
    MIPS: Fix detection of unsupported highmem with cache aliases
    MIPS: Malta: Fix IOCU disable switch read for MIPS64
    MIPS: Fix BUILD_ROLLBACK_PROLOGUE for microMIPS
    MIPS: clear execution hazard after changing FTLB enable
    MIPS: Configure FTLB after probing TLB sizes from config4
    MIPS: Stop setting I6400 FTLBP
    MIPS: DEC: Avoid la pseudo-instruction in delay slots
    MIPS: Octeon: mark GPIO controller node not populated after IRQ init.
    MIPS: uprobes: fix use of uninitialised variable
    MIPS: uprobes: remove incorrect set_orig_insn
    MIPS: fix uretprobe implementation
    MIPS: smp-cps: Avoid BUG() when offlining pre-r6 CPUs

    Linus Torvalds
     
  • Pull sparc fixes from David Miller:

    1) Fix section mismatches in some builds, from Paul Gortmaker.

    2) Need to count huge zero page mappings when doing TSB sizing, from
    Mike Kravetz.

    3) Fix handing of cpu_possible_mask when nr_cpus module option is
    specified, from Atish Patra.

    4) Don't allocate irq stacks until nr_irqs has been processed, also
    from Atish Patra.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sparc64: Fix non-SMP build.
    sparc64: Fix irq stack bootmem allocation.
    sparc64: Fix cpu_possible_mask if nr_cpus is set
    sparc64 mm: Fix more TSB sizing issues
    sparc64: fix section mismatch in find_numa_latencies_for_group

    Linus Torvalds
     
  • Pull networking fixes from David Miller:

    1) Fix wrong TCP checksums on MTU probing when checksum offloading is
    disabled, from Douglas Caetano dos Santos.

    2) Fix qdisc backlog updates in qfq and sfb schedulers, from Cong Wang.

    3) Route lookup flow key protocol value is wrong in ip6gre_xmit_other(),
    fix from Lance Richardson.

    4) Scheduling while atomic in multicast routing code of ipv4 and ipv6,
    fix from Nikolay Aleksandrov.

    5) Fix packet alignment in fec driver, from Eric Nelson.

    6) Fix perf regression in sctp due to struct layout and cache misses,
    from Xin Long.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    sctp: fix the issue sctp_diag uses lock_sock in rcu_read_lock
    sctp: change to check peer prsctp_capable when using prsctp polices
    sctp: remove prsctp_param from sctp_chunk
    sctp: move sent_count to the memory hole in sctp_chunk
    tg3: Avoid NULL pointer dereference in tg3_io_error_detected()
    act_ife: Fix false encoding
    act_ife: Fix external mac header on encode
    VSOCK: Don't dec ack backlog twice for rejected connections
    Revert "net: ethernet: bcmgenet: use phydev from struct net_device"
    net: fec: align IP header in hardware
    net: fec: remove QUIRK_HAS_RACC from i.mx27
    net: fec: remove QUIRK_HAS_RACC from i.mx25
    ipmr, ip6mr: fix scheduling while atomic and a deadlock with ipmr_get_route
    ip6_gre: fix flowi6_proto value in ip6gre_xmit_other()
    tcp: fix a compile error in DBGUNDO()
    tcp: fix wrong checksum calculation on MTU probing
    sch_sfb: keep backlog updated with qlen
    sch_qfq: keep backlog updated with qlen
    can: dev: fix deadlock reported after bus-off

    Linus Torvalds
     

02 Oct, 2016

10 commits

  • * pm-devfreq:
    PM / devfreq: rk3399_dmc: Remove explictly regulator_put call in .remove
    PM / devfreq: rockchip: add PM_DEVFREQ_EVENT dependency
    partial revert of "PM / devfreq: Add COMPILE_TEST for build coverage"
    PM / devfreq: rockchip: add devfreq driver for rk3399 dmc
    Documentation: bindings: add dt documentation for rk3399 dmc
    PM / devfreq: event: support rockchip dfi controller
    Documentation: bindings: add dt documentation for dfi controller
    PM / devfreq: event: remove duplicate devfreq_event_get_drvdata()
    PM / devfreq: fix Kconfig indent style
    PM / devfreq: Add COMPILE_TEST for build coverage
    PM / devfreq: exynos-ppmu: remove unneeded of_node_put()

    * pm-sleep:
    PM / Hibernate: allow hibernation with PAGE_POISONING_ZERO
    PM / sleep: enable suspend-to-idle even without registered suspend_ops
    PM / sleep: Increase default DPM watchdog timeout to 120

    Rafael J. Wysocki
     
  • * pm-cpuidle:
    ARM: cpuidle: Fix error return code

    * pm-opp:
    PM / OPP: Don't support OPP if it provides supported-hw but platform does not
    PM / OPP: avoid maybe-uninitialized warning

    * pm-avs:
    PM / AVS: SmartReflex: Neaten logging

    Rafael J. Wysocki
     
  • * pm-cpufreq: (24 commits)
    cpufreq: st: add missing \n to end of dev_err message
    cpufreq: kirkwood: add missing \n to end of dev_err messages
    cpufreq: CPPC: Avoid overflow when calculating desired_perf
    cpufreq: ti: Use generic platdev driver
    cpufreq: intel_pstate: Add io_boost trace
    cpufreq: intel_pstate: Use IOWAIT flag in Atom algorithm
    cpufreq: schedutil: Add iowait boosting
    cpufreq / sched: SCHED_CPUFREQ_IOWAIT flag to indicate iowait condition
    cpufreq: CPPC: Force reporting values in KHz to fix user space interface
    cpufreq: create link to policy only for registered CPUs
    intel_pstate: constify local structures
    cpufreq: dt: Support governor tunables per policy
    cpufreq: dt: Update kconfig description
    cpufreq: dt: Remove unused code
    MAINTAINERS: Add Documentation/cpu-freq/
    cpufreq: dt: Add support for r8a7792
    cpufreq / sched: ignore SMT when determining max cpu capacity
    cpufreq: Drop unnecessary check from cpufreq_policy_alloc()
    ARM: multi_v7_defconfig: Don't attempt to enable schedutil governor as module
    ARM: exynos_defconfig: Don't attempt to enable schedutil governor as module
    ...

    Rafael J. Wysocki
     
  • Rafael J. Wysocki
     
  • * pm-domains:
    PM / Domains: Rename pm_genpd_sync_poweron|poweroff()
    PM / Domains: Don't measure latency of ->power_on|off() during system PM
    PM / Domains: Remove redundant system PM callbacks
    PM / Domains: Simplify detaching a device from its genpd
    PM / Domains: Allow holes in genpd_data.domains array
    PM / Domains: Add support for removing nested PM domains by provider
    PM / Domains: Add support for removing PM domains
    PM / Domains: Store the provider in the PM domain structure
    PM / Domains: Prepare for adding support to remove PM domains
    PM / Domains: Verify the PM domain is present when adding a provider
    PM / Domains: Don't expose xlate and provider helper functions
    PM / Domains: Don't expose generic_pm_domain structure to clients
    staging: board: Remove calls to of_genpd_get_from_provider()
    ARM: EXYNOS: Remove calls to of_genpd_get_from_provider()
    PM / Domains: Add new helper functions for device-tree
    PM / Domains: Always enable debugfs support if available

    Rafael J. Wysocki
     
  • When discovering the number of VPEs per core, smp_num_siblings will be
    incorrect for kernels built without support for the MIPS MultiThreading
    (MT) ASE running on systems which implement said ASE. This leads to
    accesses to VPEs in secondary cores being performed incorrectly since
    mips_cm_vp_id calculates the wrong ID to write to the local "other"
    registers. Fix this by examining the number of VPEs in the core as
    reported by the CM.

    This patch presumes that the number of VPEs will be the same in each
    core of the system. As this path only applies to systems with CM version
    2.5 or lower, and this property is true of all such known systems, this
    is likely to be fine but is described in a comment for good measure.

    Signed-off-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/14338/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • * acpi-button:
    ACPI / button: Add document for ACPI control method lid device restrictions
    ACPI / button: Fix an issue in button.lid_init_state=ignore mode

    * acpi-battery:
    ACPI / battery: Add sysfs representation after checking _BST

    * acpi-doc:
    ACPI / documentation: Use recommended name in GPIO property names

    Rafael J. Wysocki
     
  • * acpi-wdat:
    watchdog: wdat_wdt: Fix warning for using 0 as NULL
    watchdog: wdat_wdt: fix return value check in wdat_wdt_probe()
    platform/x86: intel_pmc_ipc: Do not create iTCO watchdog when WDAT table exists
    i2c: i801: Do not create iTCO watchdog when WDAT table exists
    mfd: lpc_ich: Do not create iTCO watchdog when WDAT table exists
    ACPI / watchdog: Add support for WDAT hardware watchdog

    * acpi-ec:
    ACPI / EC: Fix issues related to boot_ec
    ACPI / EC: Fix a gap that ECDT EC cannot handle EC events
    ACPI / EC: Fix a memory leakage issue in acpi_ec_add()
    ACPI / EC: Cleanup first_ec/boot_ec code
    ACPI / EC: Enable event freeze mode to improve event handling for suspend process
    ACPI / EC: Add PM operations to improve event handling for suspend process
    ACPI / EC: Add PM operations to improve event handling for resume process
    ACPI / EC: Fix an issue that SCI_EVT cannot be detected after event is enabled
    ACPI / EC: Add EC_FLAGS_QUERY_ENABLED to reveal a hidden logic
    ACPI / EC: Add PM operations for suspend/resume noirq stage

    Rafael J. Wysocki
     
  • * acpi-x86:
    x86: ACPI: make variable names clearer in acpi_parse_madt_lapic_entries()
    x86: ACPI: remove extraneous white space after semicolon

    * acpi-cppc:
    ACPI / CPPC: Support PCC with interrupt flag
    ACPI / CPPC: Add prefix cppc to cpudata structure name
    ACPI / CPPC: Add support for functional fixed hardware address
    ACPI / CPPC: Don't return on CPPC probe failure
    ACPI / CPPC: Allow build with ACPI_CPU_FREQ_PSS config
    ACPI / CPPC: check for error bit in PCC status field
    ACPI / CPPC: move all PCC related information into pcc_data
    ACPI / CPPC: add sysfs support to compute delivered performance
    ACPI / CPPC: set a non-zero value for transition_latency
    ACPI / CPPC: support for batching CPPC requests
    ACPI / CPPC: acquire pcc_lock only while accessing PCC subspace
    ACPI / CPPC: restructure read/writes for efficient sys mapped reg ops
    mailbox: pcc: Support HW-Reduced Communication Subspace type 2

    * acpi-soc:
    ACPI / APD: constify local structures
    ACPI / APD: Add device HID for Vulcan SPI controller

    Rafael J. Wysocki
     
  • * acpi-bus:
    ACPI / bus: Adjust ACPI subsystem initialization for new table loading mode
    ACPI / bus: Make acpi_get_first_physical_node() public

    Rafael J. Wysocki