1. 07 6月, 2018 3 次提交
    • I
      Merge tag 'perf-core-for-mingo-4.18-20180606' of... · 2696ec45
      Ingo Molnar 提交于
      Merge tag 'perf-core-for-mingo-4.18-20180606' 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:
      
       - Display user and system time for workload targets (Jiri Olsa)
      
      perf record:
      
       - Enable arbitrary event names thru name= modifier (Alexey Budankov)
      
      PowerPC:
      
       - Add a python script for hypervisor call statistics (Ravi Bangoria)
      
      Intel PT: (Adrian Hunter)
      
       - Fix sync_switch INTEL_PT_SS_NOT_TRACING
      
       - Fix decoding to accept CBR between FUP and corresponding TIP
      
       - Fix MTC timing after overflow
      
       - Fix "Unexpected indirect branch" error
      
      perf test:
      
       - record+probe_libc_inet_pton:
      
        -  To get the symbol table for dynamic
           shared objects on ubuntu we need to pass the -D/--dynamic command line
           option, unlike with the fedora distros (Arnaldo Carvalho de Melo)
      
       - code-reading:
      
        - Fix perf_env setup for PTI entry trampolines (Adrian Hunter)
      
       - kmod-path:
      
        - Add tests for vdso32 and vdsox32 (Adrian Hunter)
      
       - Use header file util/debug.h (Thomas Richter)
      
      perf annotate:
      
       - Make the various UI backends (stdio, TUI, gtk) use more consistently
        structs with annotation options as specified by the user (Arnaldo Carvalho de Melo)
      
       - Move annotation specific knobs from the symbol_conf global kitchen
        sink to the annotation option structs (Arnaldo Carvalho de Melo)
      
      perf script:
      
       - Add more PMU fields to python scripts event handler dict (Jin Yao)
      
      Core:
      
       - Fix misleading error for some unparsable events mentioning PMUs when
        those are not involved in the problem (Jiri Olsa)
      
       - Consider BSS symbols when processing /proc/kallsyms ('B' and 'b')
        (Arnaldo Carvalho de Melo)
      
      - Be more robust when trying to use per-symbol histograms, checking for
        unlikely but possible cases where the space for the histograms wasn't
        allocated, print a debug message for such cases (Arnaldo Carvalho de Melo)
      
      - Fix symbol and object code resolution for vdso32 and vdsox32 (Adrian Hunter)
      
       - No need to check for null when passing pointers to foo__get() style
        refcount grabbing helpers, just like in the kernel and with free(),
        its safe to pass a NULL pointer to avoid having to check it before
        each and every foo__get() call (Arnaldo Carvalho de Melo)
      
       - Remove some dead code (quote.[ch]) (Arnaldo Carvalho de Melo)
      
       - Remove some needless globals, making them local (Arnaldo Carvalho de Melo)
      
       - Reduce usage of symbol_conf.use_callchain, using other means of
        finding out if callchains are in use or available for specific events,
        as we evolved this codebase to allow requesting callchains for just
        a subset of the monitored events. In time it will help polish
        recording and showing mixed sets accross the various tools:
      
          perf record -e cycles/call-graph=fp/,cache-misses/call-graph=dwarf/,instructions'
      
        (Arnaldo Carvalho de Melo)
      
       - Consider PTI entry trampolines in map__rip_2objdump() (Adrian Hunter)
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      2696ec45
    • J
      perf script python: Add dict fields introduction to Documentation · ac56aa45
      Jin Yao 提交于
      Add a brief introduction about fields to perf-script-python.txt.
      
      It should help python script developers in easily finding what fields
      are supported.
      Signed-off-by: NJin Yao <yao.jin@linux.intel.com>
      Reviewed-by: NAndi Kleen <ak@linux.intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Jin Yao <yao.jin@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1527843663-32288-4-git-send-email-yao.jin@linux.intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      ac56aa45
    • J
      perf script python: Add more PMU fields to event handler dict · 48a1f565
      Jin Yao 提交于
      When doing pmu sampling and then running a script with perf script -s
      script.py, the process_event function gets dictionary with some fields
      from the perf ring buffer (like ip, sym, callchain etc).
      
      But we miss quite a few fields we report now, for example, LBRs, data
      source, weight, transaction, iregs, uregs, etc.
      
      This patch reports these fields for perf script python processing.
      
        New keys/items:
        ---------------
        key  : brstack
        items: from, to, from_dsoname, to_dsoname, mispred,
               predicted, in_tx, abort, cycles.
      
        key  : brstacksym
        items: from, to, pred, in_tx, abort (converted string)
      
        key  : datasrc
        key  : datasrc_decode (decoded string)
        key  : iregs
        key  : uregs
        key  : weight
        key  : transaction
      
        v2:
        ---
        Add new fields for dso.
        Use PyBool_FromLong() for mispred/predicted/in_tx/abort
      
      Committer notes:
      
      !sym->name isn't valid, as its not a pointer, its a [0] array, use
      !sym->name[0] instead, guaranteed to be the case by symbol__new.
      
      This was caught by just one of the containers:
      
        52    54.22 ubuntu:17.04                  : FAIL gcc (Ubuntu 6.3.0-12ubuntu2) 6.3.0 20170406
      
          CC       /tmp/build/perf/util/scripting-engines/trace-event-python.o
        util/scripting-engines/trace-event-python.c:534:20: error: address of array 'sym->name' will always evaluate to 'true' [-Werror,-Wpointer-bool-conversion]
                if (!sym || !sym->name)
                          ~~~~~~^~~~
        1 error generated.
        mv: cannot stat '/tmp/build/perf/util/scripting-engines/.trace-event-python.o.tmp': No such file or directory
        /git/linux/tools/build/Makefile.build:96: recipe for target '/tmp/build/perf/util/scripting-engines/trace-event-python.o' failed
        make[5]: *** [/tmp/build/perf/util/scripting-engines/trace-event-python.o] Error 1
      Signed-off-by: NJin Yao <yao.jin@linux.intel.com>
      Reviewed-by: NAndi Kleen <ak@linux.intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Jin Yao <yao.jin@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1527843663-32288-3-git-send-email-yao.jin@linux.intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      48a1f565
  2. 06 6月, 2018 18 次提交
  3. 05 6月, 2018 19 次提交
    • A
      perf sched: Use sched->show_callchain where appropriate · 4c50563d
      Arnaldo Carvalho de Melo 提交于
      Instead of using symbol_conf.use_callchain, reducing its usage a bit
      more.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: https://lkml.kernel.org/n/tip-edgwb1b2mpbrdeg0w64wp7ms@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      4c50563d
    • A
      perf script: Check if evsel has callchains before trying to use it · b879833c
      Arnaldo Carvalho de Melo 提交于
      We were checking just if callchain processing was asked for by the
      user, not if the evsel itself has callchains, and since we can have
      some evsels with callchains and others without, check that.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: https://lkml.kernel.org/n/tip-inxl7k49q9f9w1se039fbxuw@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      b879833c
    • A
      perf evsel: Add has_callchain() helper to make code more compact/clear · 27de9b2b
      Arnaldo Carvalho de Melo 提交于
      Its common to have the (evsel->attr.sample_type & PERF_SAMPLE_CALLCHAIN),
      so add an evsel__has_callchain(evsel) helper.
      
      This will actually get more uses as we check that instead of
      symbol_conf.use_callchain in places where that produces the same result
      but makes this decision to be more fine grained, per evsel.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: https://lkml.kernel.org/n/tip-145340oytbthatpfeaq1do18@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      27de9b2b
    • L
      Merge branch 'x86-dax-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d09a8e6f
      Linus Torvalds 提交于
      Pull x86 dax updates from Ingo Molnar:
       "This contains x86 memcpy_mcsafe() fault handling improvements the
        nvdimm tree would like to make more use of"
      
      * 'x86-dax-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/asm/memcpy_mcsafe: Define copy_to_iter_mcsafe()
        x86/asm/memcpy_mcsafe: Add write-protection-fault handling
        x86/asm/memcpy_mcsafe: Return bytes remaining
        x86/asm/memcpy_mcsafe: Add labels for __memcpy_mcsafe() write fault handling
        x86/asm/memcpy_mcsafe: Remove loop unrolling
      d09a8e6f
    • L
      Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 83163856
      Linus Torvalds 提交于
      Pull x86 debug updates from Ingo Molnar:
       "This contains the x86 oops code printing reorganization and cleanups
        from Borislav Betkov, with a particular focus in enhancing opcode
        dumping all around"
      
      * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/dumpstack: Explain the reasoning for the prologue and buffer size
        x86/dumpstack: Save first regs set for the executive summary
        x86/dumpstack: Add a show_ip() function
        x86/fault: Dump user opcode bytes on fatal faults
        x86/dumpstack: Add loglevel argument to show_opcodes()
        x86/dumpstack: Improve opcodes dumping in the code section
        x86/dumpstack: Carve out code-dumping into a function
        x86/dumpstack: Unexport oops_begin()
        x86/dumpstack: Remove code_bytes
      83163856
    • L
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0afe832e
      Linus Torvalds 提交于
      Pull x86 cleanups from Ingo Molnar:
       "Misc cleanups"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/apm: Fix spelling mistake: "caculate" -> "calculate"
        x86/mtrr: Rename main.c to mtrr.c and remove duplicate prefixes
        x86: Remove pr_fmt duplicate logging prefixes
        x86/early-quirks: Rename duplicate define of dev_err
        x86/bpf: Clean up non-standard comments, to make the code more readable
      0afe832e
    • L
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 42964c6f
      Linus Torvalds 提交于
      Pull x86 build updates from Ingo Molnar:
       "A handful of build system (Makefile, linker script) cleanups by
        Masahiro Yamada"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/build/vdso: Put generated linker scripts to $(obj)/
        x86/build/vdso: Remove unnecessary export in Makefile
        x86/build/vdso: Remove unused $(vobjs-nox32) in Makefile
        x86/build: Remove no-op macro VMLINUX_SYMBOL()
      42964c6f
    • L
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1b246d22
      Linus Torvalds 提交于
      Pull x86 asm updates from Ingo Molnar:
      
       - better support (non-atomic) 64-bit readq()/writeq() variants (Andy
         Shevchenko)
      
       - __clear_user() micro-optimization (Alexey Dobriyan)
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/io: Define readq()/writeq() to use 64-bit type
        x86/asm/64: Micro-optimize __clear_user() - Use immediate constants
      1b246d22
    • L
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5cef8c2a
      Linus Torvalds 提交于
      Pull x86 boot updates from Ingo Molnar:
      
       - Centaur CPU updates (David Wang)
      
       - AMD and other CPU topology enumeration improvements and fixes
         (Borislav Petkov, Thomas Gleixner, Suravee Suthikulpanit)
      
       - Continued 5-level paging work (Kirill A. Shutemov)
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Mark __pgtable_l5_enabled __initdata
        x86/mm: Mark p4d_offset() __always_inline
        x86/mm: Introduce the 'no5lvl' kernel parameter
        x86/mm: Stop pretending pgtable_l5_enabled is a variable
        x86/mm: Unify pgtable_l5_enabled usage in early boot code
        x86/boot/compressed/64: Fix trampoline page table address calculation
        x86/CPU: Move x86_cpuinfo::x86_max_cores assignment to detect_num_cpu_cores()
        x86/Centaur: Report correct CPU/cache topology
        x86/CPU: Move cpu_detect_cache_sizes() into init_intel_cacheinfo()
        x86/CPU: Make intel_num_cpu_cores() generic
        x86/CPU: Move cpu local function declarations to local header
        x86/CPU/AMD: Derive CPU topology from CPUID function 0xB when available
        x86/CPU: Modify detect_extended_topology() to return result
        x86/CPU/AMD: Calculate last level cache ID from number of sharing threads
        x86/CPU: Rename intel_cacheinfo.c to cacheinfo.c
        perf/events/amd/uncore: Fix amd_uncore_llc ID to use pre-defined cpu_llc_id
        x86/CPU/AMD: Have smp_num_siblings and cpu_llc_id always be present
        x86/Centaur: Initialize supported CPU features properly
      5cef8c2a
    • L
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f7f4e7fc
      Linus Torvalds 提交于
      Pull scheduler updates from Ingo Molnar:
      
       - power-aware scheduling improvements (Patrick Bellasi)
      
       - NUMA balancing improvements (Mel Gorman)
      
       - vCPU scheduling fixes (Rohit Jain)
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/fair: Update util_est before updating schedutil
        sched/cpufreq: Modify aggregate utilization to always include blocked FAIR utilization
        sched/deadline/Documentation: Add overrun signal and GRUB-PA documentation
        sched/core: Distinguish between idle_cpu() calls based on desired effect, introduce available_idle_cpu()
        sched/wait: Include <linux/wait.h> in <linux/swait.h>
        sched/numa: Stagger NUMA balancing scan periods for new threads
        sched/core: Don't schedule threads on pre-empted vCPUs
        sched/fair: Avoid calling sync_entity_load_avg() unnecessarily
        sched/fair: Rearrange select_task_rq_fair() to optimize it
      f7f4e7fc
    • L
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d9b446e2
      Linus Torvalds 提交于
      Pull perf updates from Ingo Molnar:
       "Kernel side changes:
      
         - x86 Intel uncore driver cleanups and enhancements (Kan Liang)
      
         - group scheduling and other fixes (Song Liu
      
         - store frame pointer in the sample traces for better profiling
           (Alexey Budankov)
      
         - compat fixes/enhancements (Eugene Syromiatnikov)
      
        Tooling side changes, which you can build and install in a single step
        via:
      
            make -C tools/perf clean install
      
        perf annotate:
      
         - Support 'perf annotate --group' for non-explicit recorded event
           "groups", showing multiple columns, one for each event, just like
           when dealing with explicit event groups (those enclosed with {})
           (Jin Yao)
      
         - Record min/max LBR cycles (>= Skylake) and add 'perf annotate' TUI
           hotkey to show it (c) (Jin Yao)
      
        perf bpf:
      
         - Add infrastructure to help in writing eBPF C programs to be used
           with '-e name.c' type events in tools such as 'record' and 'trace',
           with headers for common constructs and an examples directory that
           will get populated as we add more such helpers and the 'perf bpf'
           (Arnaldo Carvalho de Melo)
      
        perf stat:
      
         - Display time in precision based on std deviation (Jiri Olsa)
      
         - Add --table option to display time of each run (Jiri Olsa)
      
         - Display length strings of each run for --table option (Jiri Olsa)
      
        perf buildid-cache:
      
         - Add --list and --purge-all options (Ravi Bangoria)
      
        perf test:
      
         - Let 'perf test list' display subtests (Hendrik Brueckner)
      
        perf pti:
      
         - Create extra kernel maps to help in decoding samples in x86 PTI
           entry trampolines (Adrian Hunter)
      
         - Copy x86 PTI entry trampoline sections in the kcore copy used for
           annotation and intel_pt CPU traces decoding (Adrian Hunter)
      
        ... and a lot of other fixes, enhancements and cleanups I did not
        list, see the shortlog and git log for details"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (111 commits)
        perf/x86/intel/uncore: Clean up client IMC uncore
        perf/x86/intel/uncore: Expose uncore_pmu_event*() functions
        perf/x86/intel/uncore: Support IIO free-running counters on SKX
        perf/x86/intel/uncore: Add infrastructure for free running counters
        perf/x86/intel/uncore: Add new data structures for free running counters
        perf/x86/intel/uncore: Correct fixed counter index check in generic code
        perf/x86/intel/uncore: Correct fixed counter index check for NHM
        perf/x86/intel/uncore: Introduce customized event_read() for client IMC uncore
        perf/x86: Store user space frame-pointer value on a sample
        perf/core: Wire up compat PERF_EVENT_IOC_QUERY_BPF, PERF_EVENT_IOC_MODIFY_ATTRIBUTES
        perf/core: Fix bad use of igrab()
        perf/core: Fix group scheduling with mixed hw and sw events
        perf kcore_copy: Amend the offset of sections that remap kernel text
        perf kcore_copy: Copy x86 PTI entry trampoline sections
        perf kcore_copy: Get rid of kernel_map
        perf kcore_copy: Iterate phdrs
        perf kcore_copy: Layout sections
        perf kcore_copy: Calculate offset from phnum
        perf kcore_copy: Keep a count of phdrs
        perf kcore_copy: Keep phdr data in a list
        ...
      d9b446e2
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7a1b4373
      Linus Torvalds 提交于
      Pull perf tooling fixes from Ingo Molnar:
       "Leftover perf tooling fixes from the v4.17 cycle: they sync up updated
        ABI headers with their tooling versions"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf tools intel-pt-decoder: Update insn.h from the kernel sources
        tools headers: Sync x86 cpufeatures.h with the kernel sources
        tools headers: Synchronize prctl.h ABI header
        perf trace beauty prctl: Default header_dir to cwd to work without parms
      7a1b4373
    • L
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 92400b8c
      Linus Torvalds 提交于
      Pull locking updates from Ingo Molnar:
      
       - Lots of tidying up changes all across the map for Linux's formal
         memory/locking-model tooling, by Alan Stern, Akira Yokosawa, Andrea
         Parri, Paul E. McKenney and SeongJae Park.
      
         Notable changes beyond an overall update in the tooling itself is the
         tidying up of spin_is_locked() semantics, which spills over into the
         kernel proper as well.
      
       - qspinlock improvements: the locking algorithm now guarantees forward
         progress whereas the previous implementation in mainline could starve
         threads indefinitely in cmpxchg() loops. Also other related cleanups
         to the qspinlock code (Will Deacon)
      
       - misc smaller improvements, cleanups and fixes all across the locking
         subsystem
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (51 commits)
        locking/rwsem: Simplify the is-owner-spinnable checks
        tools/memory-model: Add reference for 'Simplifying ARM concurrency'
        tools/memory-model: Update ASPLOS information
        MAINTAINERS, tools/memory-model: Update e-mail address for Andrea Parri
        tools/memory-model: Fix coding style in 'lock.cat'
        tools/memory-model: Remove out-of-date comments and code from lock.cat
        tools/memory-model: Improve mixed-access checking in lock.cat
        tools/memory-model: Improve comments in lock.cat
        tools/memory-model: Remove duplicated code from lock.cat
        tools/memory-model: Flag "cumulativity" and "propagation" tests
        tools/memory-model: Add model support for spin_is_locked()
        tools/memory-model: Add scripts to test memory model
        tools/memory-model: Fix coding style in 'linux-kernel.def'
        tools/memory-model: Model 'smp_store_mb()'
        tools/memory-order: Update the cheat-sheet to show that smp_mb__after_atomic() orders later RMW operations
        tools/memory-order: Improve key for SELF and SV
        tools/memory-model: Fix cheat sheet typo
        tools/memory-model: Update required version of herdtools7
        tools/memory-model: Redefine rb in terms of rcu-fence
        tools/memory-model: Rename link and rcu-path to rcu-link and rb
        ...
      92400b8c
    • L
      Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 31a85cb3
      Linus Torvalds 提交于
      Pull EFI updates from Ingo Molnar:
      
       - decode x86 CPER data (Yazen Ghannam)
      
       - ignore unrealistically large option ROMs (Hans de Goede)
      
       - initialize UEFI secure boot state during Xen dom0 boot (Daniel Kiper)
      
       - additional minor tweaks and fixes.
      
      * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi/capsule-loader: Don't output reset log when reset flags are not set
        efi/x86: Ignore unrealistically large option ROMs
        efi/x86: Fold __setup_efi_pci32() and __setup_efi_pci64() into one function
        efi: Align efi_pci_io_protocol typedefs to type naming convention
        efi/libstub/tpm: Make function efi_retrieve_tpm2_eventlog_1_2() static
        efi: Decode IA32/X64 Context Info structure
        efi: Decode IA32/X64 MS Check structure
        efi: Decode additional IA32/X64 Bus Check fields
        efi: Decode IA32/X64 Cache, TLB, and Bus Check structures
        efi: Decode UEFI-defined IA32/X64 Error Structure GUIDs
        efi: Decode IA32/X64 Processor Error Info Structure
        efi: Decode IA32/X64 Processor Error Section
        efi: Fix IA32/X64 Processor Error Record definition
        efi/cper: Remove the INDENT_SP silliness
        x86/xen/efi: Initialize UEFI secure boot state during dom0 boot
      31a85cb3
    • L
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4057adaf
      Linus Torvalds 提交于
      Pull RCU updates from Ingo Molnar:
      
       - updates to the handling of expedited grace periods
      
       - updates to reduce lock contention in the rcu_node combining tree
      
         [ These are in preparation for the consolidation of RCU-bh,
           RCU-preempt, and RCU-sched into a single flavor, which was
           requested by Linus in response to a security flaw whose root cause
           included confusion between the multiple flavors of RCU ]
      
       - torture-test updates that save their users some time and effort
      
       - miscellaneous fixes
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits)
        rcu/x86: Provide early rcu_cpu_starting() callback
        torture: Make kvm-find-errors.sh find build warnings
        rcutorture: Abbreviate kvm.sh summary lines
        rcutorture: Print end-of-test state in kvm.sh summary
        rcutorture: Print end-of-test state
        torture: Fold parse-torture.sh into parse-console.sh
        torture: Add a script to edit output from failed runs
        rcu: Update list of rcu_future_grace_period() trace events
        rcu: Drop early GP request check from rcu_gp_kthread()
        rcu: Simplify and inline cpu_needs_another_gp()
        rcu: The rcu_gp_cleanup() function does not need cpu_needs_another_gp()
        rcu: Make rcu_start_this_gp() check for out-of-range requests
        rcu: Add funnel locking to rcu_start_this_gp()
        rcu: Make rcu_start_future_gp() caller select grace period
        rcu: Inline rcu_start_gp_advanced() into rcu_start_future_gp()
        rcu: Clear request other than RCU_GP_FLAG_INIT at GP end
        rcu: Cleanup, don't put ->completed into an int
        rcu: Switch __rcu_process_callbacks() to rcu_accelerate_cbs()
        rcu: Avoid __call_rcu_core() root rcu_node ->lock acquisition
        rcu: Make rcu_migrate_callbacks wake GP kthread when needed
        ...
      4057adaf
    • L
      Merge tag 'm68k-for-v4.18-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 137f5ae4
      Linus Torvalds 提交于
      Pull m68k updates from Geert Uytterhoeven:
      
       - a few time-related fixes:
           - off-by-one calendar month on some classes of machines
           - Y2038 preparation
      
       - build fix for ndelay() being called with a 64-bit type
      
       - revive 64-bit get_user(), which is used by some Android code
      
       - defconfig updates
      
       - fix for a long-standing fatal bug in iounmap() on '020/030, which was
         actually fixed in 2.4.23, but never in 2.5.x and later
      
       - default DMA mask to avoid warning splats
      
       - minor fixes and cleanups
      
      * tag 'm68k-for-v4.18-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: Set default dma mask for platform devices
        m68k/mm: Adjust VM area to be unmapped by gap size for __iounmap()
        m68k/defconfig: Update defconfigs for v4.17-rc3
        m68k/uaccess: Revive 64-bit get_user()
        m68k: Implement ndelay() as an inline function to force type checking/casting
        zorro: Add a blank line after declarations
        m68k: Use read_persistent_clock64() consistently
        m68k: Fix off-by-one calendar month
        m68k: Fix style, spelling, and grammar in siginfo_build_tests()
        m68k/mac: Fix SWIM memory resource end address
      137f5ae4
    • L
      Merge branch 'siginfo-linus' of... · 93e95fa5
      Linus Torvalds 提交于
      Merge branch 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull siginfo updates from Eric Biederman:
       "This set of changes close the known issues with setting si_code to an
        invalid value, and with not fully initializing struct siginfo. There
        remains work to do on nds32, arc, unicore32, powerpc, arm, arm64, ia64
        and x86 to get the code that generates siginfo into a simpler and more
        maintainable state. Most of that work involves refactoring the signal
        handling code and thus careful code review.
      
        Also not included is the work to shrink the in kernel version of
        struct siginfo. That depends on getting the number of places that
        directly manipulate struct siginfo under control, as it requires the
        introduction of struct kernel_siginfo for the in kernel things.
      
        Overall this set of changes looks like it is making good progress, and
        with a little luck I will be wrapping up the siginfo work next
        development cycle"
      
      * 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (46 commits)
        signal/sh: Stop gcc warning about an impossible case in do_divide_error
        signal/mips: Report FPE_FLTUNK for undiagnosed floating point exceptions
        signal/um: More carefully relay signals in relay_signal.
        signal: Extend siginfo_layout with SIL_FAULT_{MCEERR|BNDERR|PKUERR}
        signal: Remove unncessary #ifdef SEGV_PKUERR in 32bit compat code
        signal/signalfd: Add support for SIGSYS
        signal/signalfd: Remove __put_user from signalfd_copyinfo
        signal/xtensa: Use force_sig_fault where appropriate
        signal/xtensa: Consistenly use SIGBUS in do_unaligned_user
        signal/um: Use force_sig_fault where appropriate
        signal/sparc: Use force_sig_fault where appropriate
        signal/sparc: Use send_sig_fault where appropriate
        signal/sh: Use force_sig_fault where appropriate
        signal/s390: Use force_sig_fault where appropriate
        signal/riscv: Replace do_trap_siginfo with force_sig_fault
        signal/riscv: Use force_sig_fault where appropriate
        signal/parisc: Use force_sig_fault where appropriate
        signal/parisc: Use force_sig_mceerr where appropriate
        signal/openrisc: Use force_sig_fault where appropriate
        signal/nios2: Use force_sig_fault where appropriate
        ...
      93e95fa5
    • L
      Merge branch 'userns-linus' of... · d8aed841
      Linus Torvalds 提交于
      Merge branch 'userns-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull userns updates from Eric Biederman:
       "This is the last couple of vfs bits to enable root in a user namespace
        to mount and manipulate a filesystem with backing store (AKA not a
        virtual filesystem like proc, but a filesystem where the unprivileged
        user controls the content). The target filesystem for this work is
        fuse, and Miklos should be sending you the pull request for the fuse
        bits this merge window.
      
        The two key patches are "evm: Don't update hmacs in user ns mounts"
        and "vfs: Don't allow changing the link count of an inode with an
        invalid uid or gid". Those close small gaps in the vfs that would be a
        problem if an unprivileged fuse filesystem is mounted.
      
        The rest of the changes are things that are now safe to allow a root
        user in a user namespace to do with a filesystem they have mounted.
        The most interesting development is that remount is now safe"
      
      * 'userns-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        fs: Allow CAP_SYS_ADMIN in s_user_ns to freeze and thaw filesystems
        capabilities: Allow privileged user in s_user_ns to set security.* xattrs
        fs: Allow superblock owner to access do_remount_sb()
        fs: Allow superblock owner to replace invalid owners of inodes
        vfs: Allow userns root to call mknod on owned filesystems.
        vfs: Don't allow changing the link count of an inode with an invalid uid or gid
        evm: Don't update hmacs in user ns mounts
      d8aed841
    • L
      Merge tag '4.18-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 32552014
      Linus Torvalds 提交于
      Pull cifs updates from Steve French:
      
       - smb3 fixes for stable
      
       - addition of ftrace hooks for cifs.ko
      
       - improvements in compounding and smbdirect (rdma)
      
      * tag '4.18-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6: (38 commits)
        CIFS: Add support for direct pages in wdata
        CIFS: Use offset when reading pages
        CIFS: Add support for direct pages in rdata
        cifs: update multiplex loop to handle compounded responses
        cifs: remove header_preamble_size where it is always 0
        cifs: remove struct smb2_hdr
        CIFS: 511c54a2 adds a check for session expiry, status STATUS_NETWORK_SESSION_EXPIRED, however the server can also respond with STATUS_USER_SESSION_DELETED in cases where the session has been idle for some time and the server reaps the session to recover resources.
        cifs: change smb2_get_data_area_len to take a smb2_sync_hdr as argument
        cifs: update smb2_calc_size to use smb2_sync_hdr instead of smb2_hdr
        cifs: remove struct smb2_oplock_break_rsp
        cifs: remove rfc1002 header from all SMB2 response structures
        smb3: on reconnect set PreviousSessionId field
        smb3: Add posix create context for smb3.11 posix mounts
        smb3: add tracepoints for smb2/smb3 open
        cifs: add debug output to show nocase mount option
        smb3: add define for id for posix create context and corresponding struct
        cifs: update smb2_check_message to handle PDUs without a 4 byte length header
        smb3: allow "posix" mount option to enable new SMB311 protocol extensions
        smb3: add support for posix negotiate context
        cifs: allow disabling less secure legacy dialects
        ...
      32552014