26 Jan, 2017

3 commits


01 Jan, 2017

1 commit


26 Dec, 2016

11 commits

  • Linus Torvalds
     
  • I am getting the following warning when I build kernel 4.9-git on my
    PowerBook G4 with a 32-bit PPC processor:

    AS arch/powerpc/kernel/misc_32.o
    arch/powerpc/kernel/misc_32.S:299:7: warning: "CONFIG_FSL_BOOKE" is not defined [-Wundef]

    This problem is evident after commit 989cea5c14be ("kbuild: prevent
    lib-ksyms.o rebuilds"); however, this change in kbuild only exposes an
    error that has been in the code since 2005 when this source file was
    created. That was with commit 9994a33865f4 ("powerpc: Introduce
    entry_{32,64}.S, misc_{32,64}.S, systbl.S").

    The offending line does not make a lot of sense. This error does not
    seem to cause any errors in the executable, thus I am not recommending
    that it be applied to any stable versions.

    Thanks to Nicholas Piggin for suggesting this solution.

    Fixes: 9994a33865f4 ("powerpc: Introduce entry_{32,64}.S, misc_{32,64}.S, systbl.S")
    Signed-off-by: Larry Finger
    Cc: Nicholas Piggin
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Michael Ellerman
    Cc: linuxppc-dev@lists.ozlabs.org
    Signed-off-by: Linus Torvalds

    Larry Finger
     
  • The timer type simplifications caused a new gcc warning:

    drivers/base/power/domain.c: In function ‘genpd_runtime_suspend’:
    drivers/base/power/domain.c:562:14: warning: ‘time_start’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    elapsed_ns = ktime_to_ns(ktime_sub(ktime_get(), time_start));

    despite the actual use of "time_start" not having changed in any way.
    It appears that simply changing the type of ktime_t from a union to a
    plain scalar type made gcc check the use.

    The variable wasn't actually used uninitialized, but gcc apparently
    failed to notice that the conditional around the use was exactly the
    same as the conditional around the initialization of that variable.

    Add an unnecessary initialization just to shut up the compiler.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull timer type cleanups from Thomas Gleixner:
    "This series does a tree wide cleanup of types related to
    timers/timekeeping.

    - Get rid of cycles_t and use a plain u64. The type is not really
    helpful and caused more confusion than clarity

    - Get rid of the ktime union. The union has become useless as we use
    the scalar nanoseconds storage unconditionally now. The 32bit
    timespec alike storage got removed due to the Y2038 limitations
    some time ago.

    That leaves the odd union access around for no reason. Clean it up.

    Both changes have been done with coccinelle and a small amount of
    manual mopping up"

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    ktime: Get rid of ktime_equal()
    ktime: Cleanup ktime_set() usage
    ktime: Get rid of the union
    clocksource: Use a plain u64 instead of cycle_t

    Linus Torvalds
     
  • Pull SMP hotplug notifier removal from Thomas Gleixner:
    "This is the final cleanup of the hotplug notifier infrastructure. The
    series has been reintgrated in the last two days because there came a
    new driver using the old infrastructure via the SCSI tree.

    Summary:

    - convert the last leftover drivers utilizing notifiers

    - fixup for a completely broken hotplug user

    - prevent setup of already used states

    - removal of the notifiers

    - treewide cleanup of hotplug state names

    - consolidation of state space

    There is a sphinx based documentation pending, but that needs review
    from the documentation folks"

    * 'smp-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip/armada-xp: Consolidate hotplug state space
    irqchip/gic: Consolidate hotplug state space
    coresight/etm3/4x: Consolidate hotplug state space
    cpu/hotplug: Cleanup state names
    cpu/hotplug: Remove obsolete cpu hotplug register/unregister functions
    staging/lustre/libcfs: Convert to hotplug state machine
    scsi/bnx2i: Convert to hotplug state machine
    scsi/bnx2fc: Convert to hotplug state machine
    cpu/hotplug: Prevent overwriting of callbacks
    x86/msr: Remove bogus cleanup from the error path
    bus: arm-ccn: Prevent hotplug callback leak
    perf/x86/intel/cstate: Prevent hotplug callback leak
    ARM/imx/mmcd: Fix broken cpu hotplug handling
    scsi: qedi: Convert to hotplug state machine

    Linus Torvalds
     
  • Pull turbostat updates from Len Brown.

    * 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
    tools/power turbostat: remove obsolete -M, -m, -C, -c options
    tools/power turbostat: Make extensible via the --add parameter
    tools/power turbostat: Denverton uses a 25 MHz crystal, not 19.2 MHz
    tools/power turbostat: line up headers when -M is used
    tools/power turbostat: fix SKX PKG_CSTATE_LIMIT decoding
    tools/power turbostat: Support Knights Mill (KNM)
    tools/power turbostat: Display HWP OOB status
    tools/power turbostat: fix Denverton BCLK
    tools/power turbostat: use intel-family.h model strings
    tools/power/turbostat: Add Denverton RAPL support
    tools/power/turbostat: Add Denverton support
    tools/power/turbostat: split core MSR support into status + limit
    tools/power turbostat: fix error case overflow read of slm_freq_table[]
    tools/power turbostat: Allocate correct amount of fd and irq entries
    tools/power turbostat: switch to tab delimited output
    tools/power turbostat: Gracefully handle ACPI S3
    tools/power turbostat: tidy up output on Joule counter overflow

    Linus Torvalds
     
  • Add a new page flag, PageWaiters, to indicate the page waitqueue has
    tasks waiting. This can be tested rather than testing waitqueue_active
    which requires another cacheline load.

    This bit is always set when the page has tasks on page_waitqueue(page),
    and is set and cleared under the waitqueue lock. It may be set when
    there are no tasks on the waitqueue, which will cause a harmless extra
    wakeup check that will clears the bit.

    The generic bit-waitqueue infrastructure is no longer used for pages.
    Instead, waitqueues are used directly with a custom key type. The
    generic code was not flexible enough to have PageWaiters manipulation
    under the waitqueue lock (which simplifies concurrency).

    This improves the performance of page lock intensive microbenchmarks by
    2-3%.

    Putting two bits in the same word opens the opportunity to remove the
    memory barrier between clearing the lock bit and testing the waiters
    bit, after some work on the arch primitives (e.g., ensuring memory
    operand widths match and cover both bits).

    Signed-off-by: Nicholas Piggin
    Cc: Dave Hansen
    Cc: Bob Peterson
    Cc: Steven Whitehouse
    Cc: Andrew Lutomirski
    Cc: Andreas Gruenbacher
    Cc: Peter Zijlstra
    Cc: Mel Gorman
    Signed-off-by: Linus Torvalds

    Nicholas Piggin
     
  • A page is not added to the swap cache without being swap backed,
    so PageSwapBacked mappings can use PG_owner_priv_1 for PageSwapCache.

    Signed-off-by: Nicholas Piggin
    Acked-by: Hugh Dickins
    Cc: Dave Hansen
    Cc: Bob Peterson
    Cc: Steven Whitehouse
    Cc: Andrew Lutomirski
    Cc: Andreas Gruenbacher
    Cc: Peter Zijlstra
    Cc: Mel Gorman
    Signed-off-by: Linus Torvalds

    Nicholas Piggin
     
  • No point in going through loops and hoops instead of just comparing the
    values.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra

    Thomas Gleixner
     
  • ktime_set(S,N) was required for the timespec storage type and is still
    useful for situations where a Seconds and Nanoseconds part of a time value
    needs to be converted. For anything where the Seconds argument is 0, this
    is pointless and can be replaced with a simple assignment.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra

    Thomas Gleixner
     
  • ktime is a union because the initial implementation stored the time in
    scalar nanoseconds on 64 bit machine and in a endianess optimized timespec
    variant for 32bit machines. The Y2038 cleanup removed the timespec variant
    and switched everything to scalar nanoseconds. The union remained, but
    become completely pointless.

    Get rid of the union and just keep ktime_t as simple typedef of type s64.

    The conversion was done with coccinelle and some manual mopping up.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra

    Thomas Gleixner
     

25 Dec, 2016

21 commits

  • There is no point in having an extra type for extra confusion. u64 is
    unambiguous.

    Conversion was done with the following coccinelle script:

    @rem@
    @@
    -typedef u64 cycle_t;

    @fix@
    typedef cycle_t;
    @@
    -cycle_t
    +u64

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: John Stultz

    Thomas Gleixner
     
  • The mpic is either the main interrupt controller or is cascaded behind a
    GIC. The mpic is single instance and the modes are mutually exclusive, so
    there is no reason to have seperate cpu hotplug states.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Thomas Petazzoni
    Cc: Sebastian Siewior
    Cc: Marc Zyngier
    Link: http://lkml.kernel.org/r/20161221192112.333161745@linutronix.de
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Even if both drivers are compiled in only one instance can run on a given
    system depending on the available GIC version.

    So having seperate hotplug states for them is pointless.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Marc Zyngier
    Cc: Sebastian Siewior
    Link: http://lkml.kernel.org/r/20161221192112.252416267@linutronix.de
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Even if both drivers are compiled in only one instance can run on a given
    system depending on the available tracer cell.

    So having seperate hotplug states for them is pointless.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Sebastian Siewior
    Cc: Mathieu Poirier
    Link: http://lkml.kernel.org/r/20161221192112.162765484@linutronix.de
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • When the state names got added a script was used to add the extra argument
    to the calls. The script basically converted the state constant to a
    string, but the cleanup to convert these strings into meaningful ones did
    not happen.

    Replace all the useless strings with 'subsys/xxx/yyy:state' strings which
    are used in all the other places already.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Sebastian Siewior
    Link: http://lkml.kernel.org/r/20161221192112.085444152@linutronix.de
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • hotcpu_notifier(), cpu_notifier(), __hotcpu_notifier(), __cpu_notifier(),
    register_hotcpu_notifier(), register_cpu_notifier(),
    __register_hotcpu_notifier(), __register_cpu_notifier(),
    unregister_hotcpu_notifier(), unregister_cpu_notifier(),
    __unregister_hotcpu_notifier(), __unregister_cpu_notifier()

    are unused now. Remove them and all related code.

    Remove also the now pointless cpu notifier error injection mechanism. The
    states can be executed step by step and error rollback is the same as cpu
    down, so any state transition can be tested w/o requiring the notifier
    error injection.

    Some CPU hotplug states are kept as they are (ab)used for hotplug state
    tracking.

    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: rt@linutronix.de
    Link: http://lkml.kernel.org/r/20161221192112.005642358@linutronix.de
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Install the callbacks via the state machine. No functional change.

    Signed-off-by: Anna-Maria Gleixner
    Signed-off-by: Sebastian Andrzej Siewior
    Cc: devel@driverdev.osuosl.org
    Cc: Andreas Dilger
    Cc: Peter Zijlstra
    Cc: Greg Kroah-Hartman
    Cc: Oleg Drokin
    Cc: rt@linutronix.de
    Cc: lustre-devel@lists.lustre.org
    Link: http://lkml.kernel.org/r/20161202110027.htzzeervzkoc4muv@linutronix.de
    Link: http://lkml.kernel.org/r/20161221192111.922872524@linutronix.de
    Signed-off-by: Thomas Gleixner

    Anna-Maria Gleixner
     
  • Install the callbacks via the state machine. No functional change.

    This is the minimal fixup so we can remove the hotplug notifier mess
    completely.

    The real rework of this driver to use work queues is still stuck in
    review/testing on the SCSI mailing list.

    Signed-off-by: Sebastian Andrzej Siewior
    Cc: "James E.J. Bottomley"
    Cc: linux-scsi@vger.kernel.org
    Cc: "Martin K. Petersen"
    Cc: Peter Zijlstra
    Cc: Chad Dupuis
    Cc: QLogic-Storage-Upstream@qlogic.com
    Cc: Johannes Thumshirn
    Cc: Christoph Hellwig
    Link: http://lkml.kernel.org/r/20161221192111.836895753@linutronix.de
    Signed-off-by: Thomas Gleixner

    Sebastian Andrzej Siewior
     
  • Install the callbacks via the state machine. No functional change.

    This is the minimal fixup so we can remove the hotplug notifier mess
    completely.

    The real rework of this driver to use work queues is still stuck in
    review/testing on the SCSI mailing list.

    Signed-off-by: Sebastian Andrzej Siewior
    Cc: "James E.J. Bottomley"
    Cc: linux-scsi@vger.kernel.org
    Cc: "Martin K. Petersen"
    Cc: Peter Zijlstra
    Cc: Chad Dupuis
    Cc: QLogic-Storage-Upstream@qlogic.com
    Cc: Johannes Thumshirn
    Cc: Christoph Hellwig
    Link: http://lkml.kernel.org/r/20161221192111.757309869@linutronix.de
    Signed-off-by: Thomas Gleixner

    Sebastian Andrzej Siewior
     
  • Developers manage to overwrite states blindly without thought. That's fatal
    and hard to debug. Add sanity checks to make it fail.

    This requries to restructure the code so that the dynamic state allocation
    happens in the same lock protected section as the actual store. Otherwise
    the previous assignment of 'Reserved' to the name field would trigger the
    overwrite check.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Sebastian Siewior
    Link: http://lkml.kernel.org/r/20161221192111.675234535@linutronix.de
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • The error cleanup which is invoked when the hotplug state setup failed
    tries to remove the failed state, which is broken.

    Fixes: 8fba38c937cd ("x86/msr: Convert to hotplug state machine")
    Reported-by: kernel test robot
    Signed-off-by: Thomas Gleixner
    Cc: Sebastian Siewior

    Thomas Gleixner
     
  • In case the driver registration fails, the hotplug callback is leaked.

    Not fatal, because it's never invoked as there are no instances registered,
    but wrong nevertheless.

    Fixes: fdc15a36d84e ("bus/arm-ccn: Convert to hotplug statemachine")
    Signed-off-by: Thomas Gleixner
    Cc: Sebastian Andrzej Siewior
    Cc: Mark Rutland
    Cc: Pawel Moll
    Cc: Suzuki K Poulose
    Cc: Peter Zijlstra
    Cc: Will Deacon

    Thomas Gleixner
     
  • If the pmu registration fails the registered hotplug callbacks are not
    removed. Wrong in any case, but fatal in case of a modular driver.

    Replace the nonsensical state names with proper ones while at it.

    Fixes: 77c34ef1c319 ("perf/x86/intel/cstate: Convert Intel CSTATE to hotplug state machine")
    Signed-off-by: Thomas Gleixner
    Cc: Sebastian Siewior
    Cc: Peter Zijlstra
    Cc: stable@vger.kernel.org

    Thomas Gleixner
     
  • The cpu hotplug support of this perf driver is broken in several ways:

    1) It adds a instance before setting up the state.

    2) The state for the instance is different from the state of the
    callback. It's just a randomly chosen state.

    3) The instance registration is not error checked so nobody noticed that
    the call can never succeed.

    4) The state for the multi install callbacks is chosen randomly and
    overwrites existing state. This is now prevented by the core code so the
    call is guaranteed to fail.

    5) The error exit path in the init function leaves the instance registered
    and then frees the memory which contains the enqueued hlist node.

    6) The remove function is removing the state and not the instance.

    Fix it by:

    - Setting up the state before adding instances. Use a dynamically allocated
    state for it.

    - Installing instances after the state has been set up

    - Removing the instance in the error path before freeing memory

    - Removing the instance not the state in the driver remove callback

    While at is use raw_cpu_processor_id(), because cpu_processor_id() cannot
    be used in preemptible context, and set the driver data after successful
    registration of the pmu.

    Signed-off-by: Thomas Gleixner
    Acked-by: Shawn Guo
    Cc: Peter Zijlstra
    Cc: Sebastian Siewior
    Cc: Frank Li
    Cc: Zhengyu Shen
    Link: http://lkml.kernel.org/r/20161221192111.596204211@linutronix.de
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • The CPU hotplug code is a trainwreck. It leaks a notifier in case of driver
    registration error and the per cpu loop is racy against cpu hotplug. Aside
    of that the driver should have been written and merged with the new state
    machine interfaces in the first place.

    Mop up the mess and Convert it to the hotplug state machine.

    Signed-off-by: Thomas Grumpy Gleixner
    Cc: Nilesh Javali
    Cc: Adheer Chandravanshi
    Cc: Chad Dupuis
    Cc: Saurav Kashyap
    Cc: Arun Easi
    Cc: Manish Rangankar
    Cc: Johannes Thumshirn
    Cc: Hannes Reinecke
    Cc: Martin K. Petersen
    Cc: James Bottomley

    Thomas Gleixner
     
  • The new --add option has replaced the -M, -m, -C, -c options
    Eg.

    -M 0x10 is now --add msr0x10,raw
    -m 0x10 is now --add msr0x10,raw,u32
    -C 0x10 is now --add msr0x10,delta
    -c 0x10 is now --add msr0x10,delta,u32

    The --add option can be repeated to add any number of counters,
    while the previous options were limited to adding one of each type.

    In addition, the --add option can accept a column label,
    and can also display a counter as a percentage of elapsed cycles.

    Eg. --add msr0x3fe,core,percent,MY_CC3

    Signed-off-by: Len Brown

    Len Brown
     
  • Create the "--add" parameter. This can be used to teach an existing
    turbostat binary about any number of any type of counter.

    turbostat(8) details the syntax for --add.

    Signed-off-by: Len Brown

    Len Brown
     
  • This was entirely automated, using the script by Al:

    PATT='^[[:blank:]]*#[[:blank:]]*include[[:blank:]]*'
    sed -i -e "s!$PATT!#include !" \
    $(git grep -l "$PATT"|grep -v ^include/linux/uaccess.h)

    to do the replacement at the end of the merge window.

    Requested-by: Al Viro
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull cifs fixes from Steve French:
    "This ncludes various cifs/smb3 bug fixes, mostly for stable as well.

    In the next week I expect that Germano will have some reconnection
    fixes, and also I expect to have the remaining pieces of the snapshot
    enablement and SMB3 ACLs, but wanted to get this set of bug fixes in"

    * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
    cifs_get_root shouldn't use path with tree name
    Fix default behaviour for empty domains and add domainauto option
    cifs: use %16phN for formatting md5 sum
    cifs: Fix smbencrypt() to stop pointing a scatterlist at the stack
    CIFS: Fix a possible double locking of mutex during reconnect
    CIFS: Fix a possible memory corruption during reconnect
    CIFS: Fix a possible memory corruption in push locks
    CIFS: Fix missing nls unload in smb2_reconnect()
    CIFS: Decrease verbosity of ioctl call
    SMB3: parsing for new snapshot timestamp mount parm

    Linus Torvalds
     
  • …l/git/groeck/linux-staging

    Pull watchdog updates from Wim Van Sebroeck and Guenter Roeck:

    - new driver for Add Loongson1 SoC

    - minor cleanup and fixes in various drivers

    * tag 'watchdog-for-linus-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    watchdog: it87_wdt: add IT8620E ID
    watchdog: mpc8xxx: Remove unneeded linux/miscdevice.h include
    watchdog: octeon: Remove unneeded linux/miscdevice.h include
    watchdog: bcm2835_wdt: set WDOG_HW_RUNNING bit when appropriate
    watchdog: loongson1: Add Loongson1 SoC watchdog driver
    watchdog: cpwd: remove memory allocate failure message
    watchdog: da9062/61: watchdog driver
    intel-mid_wdt: Error code is just an integer
    intel-mid_wdt: make sure watchdog is not running at startup
    watchdog: mei_wdt: request stop on reboot to prevent false positive event
    watchdog: hpwdt: changed maintainer information
    watchdog: jz4740: Fix modular build
    watchdog: qcom: fix kernel panic due to external abort on non-linefetch
    watchdog: davinci: add support for deferred probing
    watchdog: meson: Remove unneeded platform MODULE_ALIAS
    watchdog: Standardize leading tabs and spaces in Kconfig file
    watchdog: max77620_wdt: fix module autoload
    watchdog: bcm7038_wdt: fix module autoload

    Linus Torvalds
     
  • Pull NTB update from Jon Mason:

    - NTB bug fixes for removing an unnecessary call to ntb_peer_spad_read,
    and correcting a free_irq inconsistency

    - add Intel SKX support

    - change the AMD NTB maintainer, and fix some bugs present there

    * tag 'ntb-4.10' of git://github.com/jonmason/ntb:
    ntb_transport: Remove unnecessary call to ntb_peer_spad_read
    NTB: Fix 'request_irq()' and 'free_irq()' inconsistancy
    ntb: fix SKX NTB config space size register offsets
    NTB: correct ntb_peer_spad_read for case when callback is not supplied.
    MAINTAINERS: Change in maintainer for AMD NTB
    ntb_transport: Limit memory windows based on available, scratchpads
    NTB: Register and offset values fix for memory window
    NTB: add support for hotplug feature
    ntb: Adding Skylake Xeon NTB support

    Linus Torvalds
     

24 Dec, 2016

4 commits

  • Pull x86 fixes from Ingo Molnar:
    "There's a number of fixes:

    - a round of fixes for CPUID-less legacy CPUs
    - a number of microcode loader fixes
    - i8042 detection robustization fixes
    - stack dump/unwinder fixes
    - x86 SoC platform driver fixes
    - a GCC 7 warning fix
    - virtualization related fixes"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
    Revert "x86/unwind: Detect bad stack return address"
    x86/paravirt: Mark unused patch_default label
    x86/microcode/AMD: Reload proper initrd start address
    x86/platform/intel/quark: Add printf attribute to imr_self_test_result()
    x86/platform/intel-mid: Switch MPU3050 driver to IIO
    x86/alternatives: Do not use sync_core() to serialize I$
    x86/topology: Document cpu_llc_id
    x86/hyperv: Handle unknown NMIs on one CPU when unknown_nmi_panic
    x86/asm: Rewrite sync_core() to use IRET-to-self
    x86/microcode/intel: Replace sync_core() with native_cpuid()
    Revert "x86/boot: Fail the boot if !M486 and CPUID is missing"
    x86/asm/32: Make sync_core() handle missing CPUID on all 32-bit kernels
    x86/cpu: Probe CPUID leaf 6 even when cpuid_level == 6
    x86/tools: Fix gcc-7 warning in relocs.c
    x86/unwind: Dump stack data on warnings
    x86/unwind: Adjust last frame check for aligned function stacks
    x86/init: Fix a couple of comment typos
    x86/init: Remove i8042_detect() from platform ops
    Input: i8042 - Trust firmware a bit more when probing on X86
    x86/init: Add i8042 state to the platform data
    ...

    Linus Torvalds
     
  • Pull timer fix from Ingo Molnar:
    "ARM/MOXA SoC clocksource driver fixes"

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    clocksource/drivers/moxart: Plug memory and mapping leaks

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "On the kernel side there's two x86 PMU driver fixes and a uprobes fix,
    plus on the tooling side there's a number of fixes and some late
    updates"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (36 commits)
    perf sched timehist: Fix invalid period calculation
    perf sched timehist: Remove hardcoded 'comm_width' check at print_summary
    perf sched timehist: Enlarge default 'comm_width'
    perf sched timehist: Honour 'comm_width' when aligning the headers
    perf/x86: Fix overlap counter scheduling bug
    perf/x86/pebs: Fix handling of PEBS buffer overflows
    samples/bpf: Move open_raw_sock to separate header
    samples/bpf: Remove perf_event_open() declaration
    samples/bpf: Be consistent with bpf_load_program bpf_insn parameter
    tools lib bpf: Add bpf_prog_{attach,detach}
    samples/bpf: Switch over to libbpf
    perf diff: Do not overwrite valid build id
    perf annotate: Don't throw error for zero length symbols
    perf bench futex: Fix lock-pi help string
    perf trace: Check if MAP_32BIT is defined (again)
    samples/bpf: Make perf_event_read() static
    uprobes: Fix uprobes on MIPS, allow for a cache flush after ixol breakpoint creation
    samples/bpf: Make samples more libbpf-centric
    tools lib bpf: Add flags to bpf_create_map()
    tools lib bpf: use __u32 from linux/types.h
    ...

    Linus Torvalds
     
  • Pull irq fix from Ingo Molnar:
    "A build warning fix with certain .config's"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip/st: Mark st_irq_syscfg_resume() __maybe_unused

    Linus Torvalds