Skip to content
  1. Sep 21, 2019
    • Mamatha Inamdar's avatar
      perf session: Return error code for perf_session__new() function on failure · 6ef81c55
      Mamatha Inamdar authored
      
      
      This patch is to return error code of perf_new_session function on
      failure instead of NULL.
      
      Test Results:
      
      Before Fix:
      
        $ perf c2c report -input
        failed to open nput: No such file or directory
      
        $ echo $?
        0
        $
      
      After Fix:
      
        $ perf c2c report -input
        failed to open nput: No such file or directory
      
        $ echo $?
        254
        $
      
      Committer notes:
      
      Fix 'perf tests topology' case, where we use that TEST_ASSERT_VAL(...,
      session), i.e. we need to pass zero in case of failure, which was the
      case before when NULL was returned by perf_session__new() for failure,
      but now we need to negate the result of IS_ERR(session) to respect that
      TEST_ASSERT_VAL) expectation of zero meaning failure.
      
      Reported-by: default avatarNageswara R Sastry <rnsastry@linux.vnet.ibm.com>
      Signed-off-by: default avatarMamatha Inamdar <mamatha4@linux.vnet.ibm.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Tested-by: default avatarNageswara R Sastry <rnsastry@linux.vnet.ibm.com>
      Acked-by: default avatarRavi Bangoria <ravi.bangoria@linux.ibm.com>
      Reviewed-by: default avatarJiri Olsa <jolsa@redhat.com>
      Reviewed-by: default avatarMukesh Ojha <mojha@codeaurora.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Jeremie Galarneau <jeremie.galarneau@efficios.com>
      Cc: Kate Stewart <kstewart@linuxfoundation.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Shawn Landden <shawn@git.icu>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Tzvetomir Stoyanov <tstoyanov@vmware.com>
      Link: http://lore.kernel.org/lkml/20190822071223.17892.45782.stgit@localhost.localdomain
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      6ef81c55
    • Masami Hiramatsu's avatar
      perf probe: Fix to clear tev->nargs in clear_probe_trace_event() · 9e6124d9
      Masami Hiramatsu authored
      Since add_probe_trace_event() can reuse tf->tevs[i] after calling
      clear_probe_trace_event(), this can make perf-probe crash if the 1st
      attempt of probe event finding fails to find an event argument, and the
      2nd attempt fails to find probe point.
      
      E.g.
        $ perf probe -D "task_pid_nr tsk"
        Failed to find 'tsk' in this function.
        Failed to get entry address of warn_bad_vsyscall
        Segmentation fault (core dumped)
      
      Committer testing:
      
      After the patch:
      
        $ perf probe -D "task_pid_nr tsk"
        Failed to find 'tsk' in this function.
        Failed to get entry address of warn_bad_vsyscall
        Failed to get entry address of signal_fault
        Failed to get entry address of show_signal
        Failed to get entry address of umip_printk
        Failed to get entry address of __bad_area_nosemaphore
        <SNIP>
        Failed to get entry address of sock_set_timeout
        Failed to get entry address of tcp_recvmsg
        Probe point 'task_pid_nr' not found.
          Error: Failed to add events.
        $
      
      Fixes: 092b1f0b
      
       ("perf probe: Clear probe_trace_event when add_probe_trace_event() fails")
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lore.kernel.org/lkml/156856587999.25775.5145779959474477595.stgit@devnote2
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      9e6124d9
    • Masami Hiramatsu's avatar
      perf probe: Skip same probe address for a given line · 1a375ae7
      Masami Hiramatsu authored
      
      
      Fix to skip making a same probe address on given line.
      
      Since a DWARF line info contains several entries for one line with
      different column, perf probe will make a different probe on same address
      if user specifies a probe point by "function:line" or "file:line".
      
      e.g.
       $ perf probe -D kernel_read:8
       p:probe/kernel_read_L8 kernel_read+39
       p:probe/kernel_read_L8_1 kernel_read+39
      
      This skips such duplicated probe addresses.
      
      Committer testing:
      
        # uname -a
        Linux quaco 5.3.0+ #2 SMP Thu Sep 19 16:13:22 -03 2019 x86_64 x86_64 x86_64 GNU/Linux
        #
      
      Before:
      
        # perf probe -D kernel_read:8
        p:probe/kernel_read _text+3115191
        p:probe/kernel_read_1 _text+3115191
        #
      
      After:
      
        # perf probe -D kernel_read:8
        p:probe/kernel_read _text+3115191
        #
      
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lore.kernel.org/lkml/156886447061.10772.4261569305869149178.stgit@devnote2
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1a375ae7
    • Jiri Olsa's avatar
      perf tools: Fix segfault in cpu_cache_level__read() · 0216234c
      Jiri Olsa authored
      We release wrong pointer on error path in cpu_cache_level__read
      function, leading to segfault:
      
        (gdb) r record ls
        Starting program: /root/perf/tools/perf/perf record ls
        ...
        [ perf record: Woken up 1 times to write data ]
        double free or corruption (out)
      
        Thread 1 "perf" received signal SIGABRT, Aborted.
        0x00007ffff7463798 in raise () from /lib64/power9/libc.so.6
        (gdb) bt
        #0  0x00007ffff7463798 in raise () from /lib64/power9/libc.so.6
        #1  0x00007ffff7443bac in abort () from /lib64/power9/libc.so.6
        #2  0x00007ffff74af8bc in __libc_message () from /lib64/power9/libc.so.6
        #3  0x00007ffff74b92b8 in malloc_printerr () from /lib64/power9/libc.so.6
        #4  0x00007ffff74bb874 in _int_free () from /lib64/power9/libc.so.6
        #5  0x0000000010271260 in __zfree (ptr=0x7fffffffa0b0) at ../../lib/zalloc..
        #6  0x0000000010139340 in cpu_cache_level__read (cache=0x7fffffffa090, cac..
        #7  0x0000000010143c90 in build_caches (cntp=0x7fffffffa118, size=<optimiz..
        ...
      
      Releasing the proper pointer.
      
      Fixes: 720e98b5
      
       ("perf tools: Add perf data cache feature")
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Michael Petlan <mpetlan@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: stable@vger.kernel.org: # v4.6+
      Link: http://lore.kernel.org/lkml/20190912105235.10689-1-jolsa@kernel.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      0216234c
    • Arnaldo Carvalho de Melo's avatar
      tools arch x86: Sync asm/cpufeatures.h with the kernel sources · 40f1c039
      Arnaldo Carvalho de Melo authored
      To pick up the changes from:
      
        b4dd4f6e ("x86/vmware: Add a header file for hypercall definitions")
        f36cf386 ("x86/speculation/swapgs: Exclude ATOMs from speculation through SWAPGS")
        be261ffc ("x86: Remove X86_FEATURE_MFENCE_RDTSC")
        018ebca8 ("x86/cpufeatures: Enable a new AVX512 CPU feature")
      
      These don't cause any changes in tooling, just silences this perf build
      warning:
      
        Warning: Kernel ABI header at 'tools/arch/x86/include/asm/cpufeatures.h' differs from latest version at 'arch/x86/include/asm/cpufeatures.h'
        diff -u tools/arch/x86/include/asm/cpufeatures.h arch/x86/include/asm/cpufeatures.h
      
      To clarify, updating those files cause these bits of tools/perf to rebuild:
      
        CC       /tmp/build/perf/bench/mem-memcpy-x86-64-asm.o
        CC       /tmp/build/perf/bench/mem-memset-x86-64-asm.o
        INSTALL  GTK UI
        LD       /tmp/build/perf/bench/perf-in.o
      
      Those use just:
      
        $ grep FEATURE tools/arch/x86/lib/mem*.S
        tools/arch/x86/lib/memcpy_64.S:	ALTERNATIVE_2 "jmp memcpy_orig", "", X86_FEATURE_REP_GOOD, \
        tools/arch/x86/lib/memcpy_64.S:		      "jmp memcpy_erms", X86_FEATURE_ERMS
        tools/arch/x86/lib/memset_64.S:	ALTERNATIVE_2 "jmp memset_orig", "", X86_FEATURE_REP_GOOD, \
        tools/arch/x86/lib/memset_64.S:		      "jmp memset_erms", X86_FEATURE_ERMS
        $
      
      I.e. none of the feature defines added/removed by the patches above.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: Gayatri Kammela <gayatri.kammela@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Thomas Hellstrom <thellstrom@vmware.com>
      Link: https://lkml.kernel.org/n/tip-pq63abgknsaeov23p80d8gjv@git.kernel.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      40f1c039
    • Arnaldo Carvalho de Melo's avatar
      tools arch x86 uapi: Synch asm/unistd.h with the kernel sources · 761830a0
      Arnaldo Carvalho de Melo authored
      To pick up the change in:
      
        45e29d11
      
       ("x86/syscalls: Make __X32_SYSCALL_BIT be unsigned long")
      
      That doesn't trigger any changes in tooling and silences this perf build
      warning:
      
        Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/unistd.h' differs from latest version at 'arch/x86/include/uapi/asm/unistd.h'
        diff -u tools/arch/x86/include/uapi/asm/unistd.h arch/x86/include/uapi/asm/unistd.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      761830a0
    • Arnaldo Carvalho de Melo's avatar
      tools uapi asm-generic: Sync unistd.h with the kernel sources · 9846f136
      Arnaldo Carvalho de Melo authored
      To pick the change from:
      
        78e05972 ("ipc: fix semtimedop for generic 32-bit architectures")
      
      Which doesn't trigger any change in tooling and silences this perf build
      warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/asm-generic/unistd.h' differs from latest version at 'include/uapi/asm-generic/unistd.h'
        diff -u tools/include/uapi/asm-generic/unistd.h include/uapi/asm-generic/unistd.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lkml.kernel.org/n/tip-hpnjuyjzoudltqe7dvbokqdt@git.kernel.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      9846f136
    • Arnaldo Carvalho de Melo's avatar
      tools headers uapi: Sync prctl.h with the kernel sources · 7b678ccd
      Arnaldo Carvalho de Melo authored
      To get the changes in:
      
        63f0c603 ("arm64: Introduce prctl() options to control the tagged user addresses ABI")
      
      that introduces prctl options that then automagically gets catched by
      the prctl cmd table generator, and thus supported in the 'perf trace'
      prctl beautifier for the 'option' argument:
      
        $ tools/perf/trace/beauty/prctl_option.sh  > after
        $ diff -u before after
        --- before	2019-09-20 14:38:41.386720870 -0300
        +++ after	2019-09-20 14:40:02.583990802 -0300
        @@ -49,6 +49,8 @@
         	[52] = "GET_SPECULATION_CTRL",
         	[53] = "SET_SPECULATION_CTRL",
         	[54] = "PAC_RESET_KEYS",
        +	[55] = "SET_TAGGED_ADDR_CTRL",
        +	[56] = "GET_TAGGED_ADDR_CTRL",
         };
         static const char *prctl_set_mm_options[] = {
         	[1] = "START_CODE",
        $
      
      For now just the translation of 55 and 56 to the respecting strings are
      done, more work needed to allow for filters to be used using strings.
      
      This, for instance, already works:
      
        # perf record -e syscalls:sys_enter_close --filter="fd==4"
        # perf script | head -5
                     gpm  1018 [006] 21327.171436: syscalls:sys_enter_close: fd: 0x00000004
                     gpm  1018 [006] 21329.171583: syscalls:sys_enter_close: fd: 0x00000004
                    bash  4882 [002] 21330.785496: syscalls:sys_enter_close: fd: 0x00000004
                    bash 20672 [001] 21330.785719: syscalls:sys_enter_close: fd: 0x00000004
                    find 20672 [001] 21330.789082: syscalls:sys_enter_close: fd: 0x00000004
        # perf record -e syscalls:sys_enter_close --filter="fd>=4"
        ^C[ perf record: Woken up 1 times to write data ]
        # perf script | head -5
                     gpm  1018 [005] 21401.178501: syscalls:sys_enter_close: fd: 0x00000004
         gsd-housekeepin  2287 [006] 21402.225365: syscalls:sys_enter_close: fd: 0x0000000b
         gsd-housekeepin  2287 [006] 21402.226234: syscalls:sys_enter_close: fd: 0x0000000b
         gsd-housekeepin  2287 [006] 21402.227255: syscalls:sys_enter_close: fd: 0x0000000b
         gsd-housekeepin  2287 [006] 21402.228088: syscalls:sys_enter_close: fd: 0x0000000b
        #
      
      Being able to pass something like:
      
        # perf record -e syscalls:sys_enter_prctl --filter="option=*TAGGED_ADDR*"
      
      Should be easy enough, first using tracepoint filters, then via the
      augmented_raw_syscalls.c BPF method.
      
      This addresses this perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/prctl.h' differs from latest version at 'include/uapi/linux/prctl.h'
        diff -u tools/include/uapi/linux/prctl.h include/uapi/linux/prctl.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Luis Cláudio Gonçalves <lclaudio@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Will Deacon <will@kernel.org>
      Link: https://lkml.kernel.org/n/tip-y8u8kvflooyo9x0if1g3jska@git.kernel.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      7b678ccd
    • Jiri Olsa's avatar
      perf tests: Fix static build test · b117b9b4
      Jiri Olsa authored
      
      
      Disable the potentional shared library features, which breaks static
      build if they are enabled and detected: jvmti and vdso libraries.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Michael Petlan <mpetlan@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/20190905090924.GA1949@krava
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b117b9b4
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo-5.4-20190920-2' of... · 351a1f5c
      Ingo Molnar authored
      Merge tag 'perf-core-for-mingo-5.4-20190920-2' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
       into perf/urgent
      
      Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
      
      perf stat:
      
        Srikar Dronamraju:
      
        - Fix a segmentation fault when using repeat forever.
      
        - Reset previous counts on repeat with interval.
      
      aarch64:
      
        James Clark:
      
        - Add PMU event JSON files for Cortex-A76 and Neoverse N1.
      
      PowerPC:
      
        Anju T Sudhakar:
      
        - Make 'trace_cycles' the default event for 'perf kvm record' in PowerPC.
      
      S/390:
      
        - Link libjvmti to tools/lib/string.o to have a weak strlcpy()
          implementation, providing previously unresolved symbol on s/390.
      
      perf test:
      
        Jiri Olsa:
      
        - Add libperf automated tests to 'make -C tools/perf build-test'.
      
        Colin Ian King:
      
        - Fix spelling mistake.
      
      Tree wide:
      
        Arnaldo Carvalho de Melo:
      
        - Some more header file sanitization.
      
      libperf:
      
        Jiri Olsa:
      
        - Add dependency on libperf for python.so binding.
      
      libtraceevent:
      
        Sakari Ailus:
      
        - Convert remaining %p[fF] users to %p[sS].
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      351a1f5c
  2. Sep 20, 2019
  3. Sep 18, 2019
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7f2444d3
      Linus Torvalds authored
      Pull core timer updates from Thomas Gleixner:
       "Timers and timekeeping updates:
      
         - A large overhaul of the posix CPU timer code which is a preparation
           for moving the CPU timer expiry out into task work so it can be
           properly accounted on the task/process.
      
           An update to the bogus permission checks will come later during the
           merge window as feedback was not complete before heading of for
           travel.
      
         - Switch the timerqueue code to use cached rbtrees and get rid of the
           homebrewn caching of the leftmost node.
      
         - Consolidate hrtimer_init() + hrtimer_init_sleeper() calls into a
           single function
      
         - Implement the separation of hrtimers to be forced to expire in hard
           interrupt context even when PREEMPT_RT is enabled and mark the
           affected timers accordingly.
      
         - Implement a mechanism for hrtimers and the timer wheel to protect
           RT against priority inversion and live lock issues when a (hr)timer
           which should be canceled is currently executing the callback.
           Instead of infinitely spinning, the task which tries to cancel the
           timer blocks on a per cpu base expiry lock which is held and
           released by the (hr)timer expiry code.
      
         - Enable the Hyper-V TSC page based sched_clock for Hyper-V guests
           resulting in faster access to timekeeping functions.
      
         - Updates to various clocksource/clockevent drivers and their device
           tree bindings.
      
         - The usual small improvements all over the place"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (101 commits)
        posix-cpu-timers: Fix permission check regression
        posix-cpu-timers: Always clear head pointer on dequeue
        hrtimer: Add a missing bracket and hide `migration_base' on !SMP
        posix-cpu-timers: Make expiry_active check actually work correctly
        posix-timers: Unbreak CONFIG_POSIX_TIMERS=n build
        tick: Mark sched_timer to expire in hard interrupt context
        hrtimer: Add kernel doc annotation for HRTIMER_MODE_HARD
        x86/hyperv: Hide pv_ops access for CONFIG_PARAVIRT=n
        posix-cpu-timers: Utilize timerqueue for storage
        posix-cpu-timers: Move state tracking to struct posix_cputimers
        posix-cpu-timers: Deduplicate rlimit handling
        posix-cpu-timers: Remove pointless comparisons
        posix-cpu-timers: Get rid of 64bit divisions
        posix-cpu-timers: Consolidate timer expiry further
        posix-cpu-timers: Get rid of zero checks
        rlimit: Rewrite non-sensical RLIMIT_CPU comment
        posix-cpu-timers: Respect INFINITY for hard RTTIME limit
        posix-cpu-timers: Switch thread group sampling to array
        posix-cpu-timers: Restructure expiry array
        posix-cpu-timers: Remove cputime_expires
        ...
      7f2444d3
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c5f12fdb
      Linus Torvalds authored
      Pull x86 apic updates from Thomas Gleixner:
      
       - Cleanup the apic IPI implementation by removing duplicated code and
         consolidating the functions into the APIC core.
      
       - Implement a safe variant of the IPI broadcast mode. Contrary to
         earlier attempts this uses the core tracking of which CPUs have been
         brought online at least once so that a broadcast does not end up in
         some dead end in BIOS/SMM code when the CPU is still waiting for
         init. Once all CPUs have been brought up once, IPI broadcasting is
         enabled. Before that regular one by one IPIs are issued.
      
       - Drop the paravirt CR8 related functions as they have no user anymore
      
       - Initialize the APIC TPR to block interrupt 16-31 as they are reserved
         for CPU exceptions and should never be raised by any well behaving
         device.
      
       - Emit a warning when vector space exhaustion breaks the admin set
         affinity of an interrupt.
      
       - Make sure to use the NMI fallback when shutdown via reboot vector IPI
         fails. The original code had conditions which prevent the code path
         to be reached.
      
       - Annotate various APIC config variables as RO after init.
      
      [ The ipi broadcase change came in earlier through the cpu hotplug
        branch, but I left the explanation in the commit message since it was
        shared between the two different branches    - Linus ]
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (28 commits)
        x86/apic/vector: Warn when vector space exhaustion breaks affinity
        x86/apic: Annotate global config variables as "read-only after init"
        x86/apic/x2apic: Implement IPI shorthands support
        x86/apic/flat64: Remove the IPI shorthand decision logic
        x86/apic: Share common IPI helpers
        x86/apic: Remove the shorthand decision logic
        x86/smp: Enhance native_send_call_func_ipi()
        x86/smp: Move smp_function_call implementations into IPI code
        x86/apic: Provide and use helper for send_IPI_allbutself()
        x86/apic: Add static key to Control IPI shorthands
        x86/apic: Move no_ipi_broadcast() out of 32bit
        x86/apic: Add NMI_VECTOR wait to IPI shorthand
        x86/apic: Remove dest argument from __default_send_IPI_shortcut()
        x86/hotplug: Silence APIC and NMI when CPU is dead
        x86/cpu: Move arch_smt_update() to a neutral place
        x86/apic/uv: Make x2apic_extra_bits static
        x86/apic: Consolidate the apic local headers
        x86/apic: Move apic_flat_64 header into apic directory
        x86/apic: Move ipi header into apic directory
        x86/apic: Cleanup the include maze
        ...
      c5f12fdb
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a572ba63
      Linus Torvalds authored
      Pull core irq updates from Thomas Gleixner:
       "Updates from the irq departement:
      
         - Update the interrupt spreading code so it handles numa node with
           different CPU counts properly.
      
         - A large overhaul of the ARM GiCv3 driver to support new PPI and SPI
           ranges.
      
         - Conversion of all alloc_fwnode() users to use physical addresses
           instead of virtual addresses so the virtual addresses are not
           leaked. The physical address is sufficient to identify the
           associated interrupt chip.
      
         - Add support for Marvel MMP3, Amlogic Meson SM1 interrupt chips.
      
         - Enforce interrupt threading at compile time if RT is enabled.
      
         - Small updates and improvements all over the place"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (37 commits)
        irqchip/gic-v3-its: Fix LPI release for Multi-MSI devices
        irqchip/uniphier-aidet: Use devm_platform_ioremap_resource()
        irqdomain: Add the missing assignment of domain->fwnode for named fwnode
        irqchip/mmp: Coexist with GIC root IRQ controller
        irqchip/mmp: Mask off interrupts from other cores
        irqchip/mmp: Add missing chained_irq_{enter,exit}()
        irqchip/mmp: Do not use of_address_to_resource() to get mux regs
        irqchip/meson-gpio: Add support for meson sm1 SoCs
        dt-bindings: interrupt-controller: New binding for the meson sm1 SoCs
        genirq/affinity: Remove const qualifier from node_to_cpumask argument
        genirq/affinity: Spread vectors on node according to nr_cpu ratio
        genirq/affinity: Improve __irq_build_affinity_masks()
        irqchip: Remove dev_err() usage after platform_get_irq()
        irqchip: Add include guard to irq-partition-percpu.h
        irqchip/mmp: Do not call irq_set_default_host() on DT platforms
        irqchip/gic-v3-its: Remove the redundant set_bit for lpi_map
        irqchip/gic-v3: Add quirks for HIP06/07 invalid GICD_TYPER erratum 161010803
        irqchip/gic: Skip DT quirks when evaluating IIDR-based quirks
        irqchip/gic-v3: Warn about inconsistent implementations of extended ranges
        irqchip/gic-v3: Add EPPI range support
        ...
      a572ba63