1. 03 1月, 2019 2 次提交
    • J
      perf stat: Fix endless wait for child process · 8a99255a
      Jin Yao 提交于
      We hit a 'perf stat' issue by using following script:
      
        #!/bin/bash
      
        sleep 1000 &
        exec perf stat -a -e cycles -I1000 -- sleep 5
      
      Since "perf stat" is launched by exec, the "sleep 1000" would be the
      child process of "perf stat". The wait4() call will not return because
      it's waiting for the child process "sleep 1000" to end. So 'perf stat'
      doesn't return even after 5s passes.
      
      This patch lets 'perf stat' return when the specified child process ends
      (in this case, the specified child process is "sleep 5").
      
      Committer testing:
      
        # cat test.sh
        #!/bin/bash
      
        sleep 10 &
        exec perf stat -a -e cycles -I1000 -- sleep 5
        #
      
      Before:
      
        # time ./test.sh
        #           time             counts unit events
             1.001113090        108,453,351      cycles
             2.002062196        142,075,435      cycles
             3.002896194        164,801,068      cycles
             4.003731666        107,062,140      cycles
             5.002068867        112,241,832      cycles
      
        real	0m10.066s
        user	0m0.016s
        sys	0m0.101s
        #
      
      After:
      
        # time ./test.sh
        #           time             counts unit events
             1.001016096         91,412,027      cycles
             2.002014963        124,063,708      cycles
             3.002883964        125,993,929      cycles
             4.003706470        120,465,734      cycles
             5.002006778        163,560,355      cycles
      
        real	0m5.123s
        user	0m0.014s
        sys	0m0.105s
        #
      Signed-off-by: NJin Yao <yao.jin@linux.intel.com>
      Reviewed-by: NJiri Olsa <jolsa@kernel.org>
      Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1546501245-4512-1-git-send-email-yao.jin@linux.intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      8a99255a
    • I
      Merge tag 'perf-core-for-mingo-4.21-20190103' of... · 2573be22
      Ingo Molnar 提交于
      Merge tag 'perf-core-for-mingo-4.21-20190103' 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 c2c:
      
        Jiri Olsa:
      
        - Change the default coalesce setup to from '--coalesce pid,iaddr' to just '--coalesce iaddr'.
      
        - Increase the HITM ratio limit for displayed cachelines.
      
      perf script:
      
        Andi Kleen:
      
        - Fix LBR skid dump problems in brstackinsn.
      
      perf trace:
      
        Arnaldo Carvalho de Melo:
      
        - Check if the raw_syscalls:sys_{enter,exit} are setup before setting tp filter.
      
        - Do not hardcode the size of the tracepoint common_ fields.
      
        - Beautify USBDEFFS_ ioctl commands.
      
        Colin Ian King:
      
        - Use correct SECCOMP prefix spelling, "SECOMP_*" -> "SECCOMP_*".
      
      perf python:
      
        Jiri Olsa:
      
        - Do not force closing original perf descriptor in evlist.get_pollfd().
      
      tools misc:
      
        Jiri Olsa:
      
        - Allow overriding CFLAGS and LDFLAGS.
      
      perf build:
      
        Stanislav Fomichev:
      
        - Don't unconditionally link the libbfd feature test to -liberty and -lz
      
      thread-stack:
      
        Adrian Hunter:
      
        - Fix processing for the idle task, having a stack per cpu.
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      2573be22
  2. 02 1月, 2019 8 次提交
  3. 29 12月, 2018 17 次提交
  4. 28 12月, 2018 1 次提交
  5. 27 12月, 2018 12 次提交
    • L
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fc2fd5f0
      Linus Torvalds 提交于
      Pull x86 platform update from Ingo Molnar:
       "An OLPC platform support simplification patch"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/platform/olpc: Do not call of_platform_bus_probe()
      fc2fd5f0
    • L
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e57d9f63
      Linus Torvalds 提交于
      Pull x86 mm updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Update and clean up x86 fault handling, by Andy Lutomirski.
      
         - Drop usage of __flush_tlb_all() in kernel_physical_mapping_init()
           and related fallout, by Dan Williams.
      
         - CPA cleanups and reorganization by Peter Zijlstra: simplify the
           flow and remove a few warts.
      
         - Other misc cleanups"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (29 commits)
        x86/mm/dump_pagetables: Use DEFINE_SHOW_ATTRIBUTE()
        x86/mm/cpa: Rename @addrinarray to @numpages
        x86/mm/cpa: Better use CLFLUSHOPT
        x86/mm/cpa: Fold cpa_flush_range() and cpa_flush_array() into a single cpa_flush() function
        x86/mm/cpa: Make cpa_data::numpages invariant
        x86/mm/cpa: Optimize cpa_flush_array() TLB invalidation
        x86/mm/cpa: Simplify the code after making cpa->vaddr invariant
        x86/mm/cpa: Make cpa_data::vaddr invariant
        x86/mm/cpa: Add __cpa_addr() helper
        x86/mm/cpa: Add ARRAY and PAGES_ARRAY selftests
        x86/mm: Drop usage of __flush_tlb_all() in kernel_physical_mapping_init()
        x86/mm: Validate kernel_physical_mapping_init() PTE population
        generic/pgtable: Introduce set_pte_safe()
        generic/pgtable: Introduce {p4d,pgd}_same()
        generic/pgtable: Make {pmd, pud}_same() unconditionally available
        x86/fault: Clean up the page fault oops decoder a bit
        x86/fault: Decode page fault OOPSes better
        x86/vsyscall/64: Use X86_PF constants in the simulated #PF error code
        x86/oops: Show the correct CS value in show_regs()
        x86/fault: Don't try to recover from an implicit supervisor access
        ...
      e57d9f63
    • L
      Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d6e867a6
      Linus Torvalds 提交于
      Pull x86 fpu updates from Ingo Molnar:
       "Misc preparatory changes for an upcoming FPU optimization that will
        delay the loading of FPU registers to return-to-userspace"
      
      * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu: Don't export __kernel_fpu_{begin,end}()
        x86/fpu: Update comment for __raw_xsave_addr()
        x86/fpu: Add might_fault() to user_insn()
        x86/pkeys: Make init_pkru_value static
        x86/thread_info: Remove _TIF_ALLWORK_MASK
        x86/process/32: Remove asm/math_emu.h include
        x86/fpu: Use unsigned long long shift in xfeature_uncompacted_offset()
      d6e867a6
    • L
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · db2ab474
      Linus Torvalds 提交于
      Pull x86 cpu updates from Ingo Molnar:
       "Misc changes:
      
         - Fix nr_cpus= boot option interaction bug with logical package
           management
      
         - Clean up UMIP detection messages
      
         - Add WBNOINVD instruction detection
      
         - Remove the unused get_scattered_cpuid_leaf() function"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/topology: Use total_cpus for max logical packages calculation
        x86/umip: Make the UMIP activated message generic
        x86/umip: Print UMIP line only once
        x86/cpufeatures: Add WBNOINVD feature definition
        x86/cpufeatures: Remove get_scattered_cpuid_leaf()
      db2ab474
    • L
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 312a4661
      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/kprobes: Remove trampoline_handler() prototype
        x86/kernel: Fix more -Wmissing-prototypes warnings
        x86: Fix various typos in comments
        x86/headers: Fix -Wmissing-prototypes warning
        x86/process: Avoid unnecessary NULL check in get_wchan()
        x86/traps: Complete prototype declarations
        x86/mce: Fix -Wmissing-prototypes warnings
        x86/gart: Rewrite early_gart_iommu_check() comment
      312a4661
    • L
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6e54df00
      Linus Torvalds 提交于
      Pull x86 build updates from Ingo Molnar:
      
       - Resolve LLVM build bug by removing redundant GNU specific flag
      
       - Remove obsolete -funit-at-a-time and -fno-unit-at-a-time use from x86
         PowerPC and UM.
      
         The UML change was seen and acked by UML maintainer Richard
         Weinberger.
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/um/vdso: Drop implicit common-page-size linker flag
        x86, powerpc: Remove -funit-at-a-time compiler option entirely
        x86/um: Remove -fno-unit-at-a-time workaround for pre-4.0 GCC
      6e54df00
    • L
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9a126e78
      Linus Torvalds 提交于
      Pull x86 boot updates from Ingo Molnar:
       "Two cleanups"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Add missing va_end() to die()
        x86/boot: Simplify the detect_memory*() control flow
      9a126e78
    • L
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 38fabca1
      Linus Torvalds 提交于
      Pull x86 asm updates from Ingo Molnar:
       "Two changes:
      
         - Remove (some) remnants of the vDSO's fake section table mechanism
           that were left behind when the vDSO build process reverted to using
           "objdump -S" to strip the userspace image.
      
         - Remove hardcoded POPCNT mnemonics now that the minimum binutils
           version supports the symbolic form"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/vdso: Remove a stale/misleading comment from the linker script
        x86/vdso: Remove obsolete "fake section table" reservation
        x86: Use POPCNT mnemonics in arch_hweight.h
      38fabca1
    • L
      Merge branch 'x86-amd-nb-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8465625a
      Linus Torvalds 提交于
      Pull x86 AMD northbridge updates from Ingo Molnar:
       "Update DF/SMN access and k10temp for AMD F17h M30h, by Brian Woods:
      
         'Updates the data fabric/system management network code needed to get
          k10temp working for M30h. Since there are now processors which have
          multiple roots per DF/SMN interface, there needs to some logic which
          skips N-1 root complexes per DF/SMN interface. This is because the
          root complexes per interface are redundant (as far as DF/SMN goes).
          These changes shouldn't effect past processors and, for F17h M0Xh,
          the mappings stay the same.'
      
        The hwmon changes were seen and acked by hwmon maintainer Guenter Roeck"
      
      * 'x86-amd-nb-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        hwmon/k10temp: Add support for AMD family 17h, model 30h CPUs
        x86/amd_nb: Add PCI device IDs for family 17h, model 30h
        x86/amd_nb: Add support for newer PCI topologies
        hwmon/k10temp, x86/amd_nb: Consolidate shared device IDs
      8465625a
    • L
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 17bf423a
      Linus Torvalds 提交于
      Pull scheduler updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Introduce "Energy Aware Scheduling" - by Quentin Perret.
      
           This is a coherent topology description of CPUs in cooperation with
           the PM subsystem, with the goal to schedule more energy-efficiently
           on asymetric SMP platform - such as waking up tasks to the more
           energy-efficient CPUs first, as long as the system isn't
           oversubscribed.
      
           For details of the design, see:
      
              https://lore.kernel.org/lkml/20180724122521.22109-1-quentin.perret@arm.com/
      
         - Misc cleanups and smaller enhancements"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        sched/fair: Select an energy-efficient CPU on task wake-up
        sched/fair: Introduce an energy estimation helper function
        sched/fair: Add over-utilization/tipping point indicator
        sched/fair: Clean-up update_sg_lb_stats parameters
        sched/toplogy: Introduce the 'sched_energy_present' static key
        sched/topology: Make Energy Aware Scheduling depend on schedutil
        sched/topology: Disable EAS on inappropriate platforms
        sched/topology: Add lowest CPU asymmetry sched_domain level pointer
        sched/topology: Reference the Energy Model of CPUs when available
        PM: Introduce an Energy Model management framework
        sched/cpufreq: Prepare schedutil for Energy Aware Scheduling
        sched/topology: Relocate arch_scale_cpu_capacity() to the internal header
        sched/core: Remove unnecessary unlikely() in push_*_task()
        sched/topology: Remove the ::smt_gain field from 'struct sched_domain'
        sched: Fix various typos in comments
        sched/core: Clean up the #ifdef block in add_nr_running()
        sched/fair: Make some variables static
        sched/core: Create task_has_idle_policy() helper
        sched/fair: Add lsub_positive() and use it consistently
        sched/fair: Mask UTIL_AVG_UNCHANGED usages
        ...
      17bf423a
    • L
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 116b081c
      Linus Torvalds 提交于
      Pull perf updates from Ingo Molnar:
       "The main changes in this cycle on the kernel side:
      
         - rework kprobes blacklist handling (Masami Hiramatsu)
      
         - misc cleanups
      
        on the tooling side these areas were the main focus:
      
         - 'perf trace'     enhancements (Arnaldo Carvalho de Melo)
      
         - 'perf bench'     enhancements (Davidlohr Bueso)
      
         - 'perf record'    enhancements (Alexey Budankov)
      
         - 'perf annotate'  enhancements (Jin Yao)
      
         - 'perf top'       enhancements (Jiri Olsa)
      
         - Intel hw tracing enhancements (Adrian Hunter)
      
         - ARM hw tracing   enhancements (Leo Yan, Mathieu Poirier)
      
         - ... plus lots of other enhancements, cleanups and fixes"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (171 commits)
        tools uapi asm: Update asm-generic/unistd.h copy
        perf symbols: Relax checks on perf-PID.map ownership
        perf trace: Wire up the fadvise 'advice' table generator
        perf beauty: Add generator for fadvise64's 'advice' arg constants
        tools headers uapi: Grab a copy of fadvise.h
        perf beauty mmap: Print mmap's 'offset' arg in hexadecimal
        perf beauty mmap: Print PROT_READ before PROT_EXEC to match strace output
        perf trace beauty: Beautify arch_prctl()'s arguments
        perf trace: When showing string prefixes show prefix + ??? for unknown entries
        perf trace: Move strarrays to beauty.h for further reuse
        perf beauty: Wire up the x86_arch prctl code table generator
        perf beauty: Add a string table generator for x86's 'arch_prctl' codes
        tools include arch: Grab a copy of x86's prctl.h
        perf trace: Show NULL when syscall pointer args are 0
        perf trace: Enclose the errno strings with ()
        perf augmented_raw_syscalls: Copy 'access' arg as well
        perf trace: Add alignment spaces after the closing parens
        perf trace beauty: Print O_RDONLY when (flags & O_ACCMODE) == 0
        perf trace: Allow asking for not suppressing common string prefixes
        perf trace: Add a prefix member to the strarray class
        ...
      116b081c
    • L
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1eefdec1
      Linus Torvalds 提交于
      Pull locking updates from Ingo Molnar:
       "The main change in this cycle are initial preparatory bits of dynamic
        lockdep keys support from Bart Van Assche.
      
        There are also misc changes, a comment cleanup and a data structure
        cleanup"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/fair: Clean up comment in nohz_idle_balance()
        locking/lockdep: Stop using RCU primitives to access 'all_lock_classes'
        locking/lockdep: Make concurrent lockdep_reset_lock() calls safe
        locking/lockdep: Remove a superfluous INIT_LIST_HEAD() statement
        locking/lockdep: Introduce lock_class_cache_is_registered()
        locking/lockdep: Inline __lockdep_init_map()
        locking/lockdep: Declare local symbols static
        tools/lib/lockdep/tests: Test the lockdep_reset_lock() implementation
        tools/lib/lockdep: Add dummy print_irqtrace_events() implementation
        tools/lib/lockdep: Rename "trywlock" into "trywrlock"
        tools/lib/lockdep/tests: Run lockdep tests a second time under Valgrind
        tools/lib/lockdep/tests: Improve testing accuracy
        tools/lib/lockdep/tests: Fix shellcheck warnings
        tools/lib/lockdep/tests: Display compiler warning and error messages
        locking/lockdep: Remove ::version from lock_class structure
      1eefdec1