24 Sep, 2016

3 commits

  • Move pcmcia crc32hash tool from Documentation to tools/pcmcia and
    remove it from Documentation Makefile. Update location information
    for this tool. Create a new Makefile to build pcmcia. It can be built
    from top level directory or from pcmcia directory:

    Run make -C tools/pcmcia or cd tools/pcmcia; make

    Acked-by: Dominik Brodowski
    Acked-by: Greg Kroah-Hartman
    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • Move laptops dslm tool to tools/laptop/dslm and remove it from
    Documentation Makefile. Update location information for this
    tool. Create a new Makefile to build dslm. It can be built
    from top level directory or from laptops directory:

    Run make -C tools/laptop/dslm or cd tools/laptop/dslm; make

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • Move accounting tool to tools and remove it from Documentation
    Makefile. Update location information for this tool. Create a
    new Makefile to build accounting. It can be built from top level
    directory or from accounting directory:

    Run make -C tools/accounting or cd tools/accounting; make

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     

20 Sep, 2016

9 commits

  • Remove networking from Documentation Makefile to move the test to
    selftests. Update networking/timestamping Makefile to work under
    selftests. These tests will not be run as part of selftests suite
    and will not be included in install targets. They can be built and
    run separately for now.

    This is part of the effort to move runnable code from Documentation.

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • Remove watchdog-test from Makefile to move the test to selftests.

    Add Makefile and .gitignore for watchdog-test. watchdog-test will
    not be run as part of selftests suite and will not be included in
    install targets. It can be built separately for now.

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • Remove ia64 from Makefile to move the test to selftests.

    Update ia64 Makefile to work under selftests. ia64 will not be run as part
    of selftests suite and will not be included in install targets. They can be
    built separately for now.

    The original Makefile built this test on all archirectures and this update
    doesn't change that.

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • Remove vDSO from Makefile to move the to selftests. Update vDSO Makefile
    to work under selftests. vDSO will not be run as part of selftests suite
    and will not be included in install targets. They can be built separately
    for now.

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • Remove ptp from Makefile to move the test to selftests. Update ptp Makefile
    to work under selftests. ptp will not be run as part of selftests suite and
    will not be included in install targets. They can be built separately for
    now.

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • Move prctl tests from Documentation/prctl to selftests/prctl.

    Remove prctl from Makefile to move the test. Update prctl Makefile to work
    under selftests. prctl will not be run as part of selftests suite and will
    not be included in install targets. They can be built separately for now.

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • Move dnotify_test.c, Makefile, and .gitignore from Documentation/filesystems
    to selftests/filesystems.

    Remove filesystems build target from Documentation/Makefile and update
    selftests/filesystems/Makefile to work under selftests. dnotify_test will
    not be run as part of selftests suite and will not be included in install
    targets. It can be built separately for now.

    Acked-by: Jonathan Corbet
    Signed-off-by: Shuah Khan

    Shuah Khan
     
  • In order to work, the 'err' return value has to be updated otherwise the
    test can never be true.

    Signed-off-by: Christophe JAILLET
    Acked-by: John Stultz
    Signed-off-by: Shuah Khan

    Christophe JAILLET
     
  • Since commit ce1ed9f98e88
    ("zram: delete custom lzo/lz4")

    we need CONFIG_CRYPTO_LZ4=y instead of
    CONFIG_ZRAM_LZ4_COMPRESS

    Signed-off-by: Fabian Frederick
    Signed-off-by: Shuah Khan

    Fabian Frederick
     

06 Aug, 2016

2 commits

  • Pull perf updates from Ingo Molnar:
    "Mostly tooling fixes and some late tooling updates, plus two perf
    related printk message fixes"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf tests bpf: Use SyS_epoll_wait alias
    perf tests: objdump output can contain multi byte chunks
    perf record: Add --sample-cpu option
    perf hists: Introduce output_resort_cb method
    perf tools: Move config/Makefile into Makefile.config
    perf tests: Add test for bitmap_scnprintf function
    tools lib: Add bitmap_and function
    tools lib: Add bitmap_scnprintf function
    tools lib: Add bitmap_alloc function
    tools lib traceevent: Ignore generated library files
    perf tools: Fix build failure on perl script context
    perf/core: Change log level for duration warning to KERN_INFO
    perf annotate: Plug filename string leak
    perf annotate: Introduce strerror for handling symbol__disassemble() errors
    perf annotate: Rename symbol__annotate() to symbol__disassemble()
    perf/x86: Modify error message in virtualized environment
    perf target: str_error_r() always returns the buffer it receives
    perf annotate: Use pipe + fork instead of popen
    perf evsel: Introduce constructor for cycles event

    Linus Torvalds
     
  • Pull NTB updates from Jon Mason:
    "NTB bug fixes for the ntb_tool and ntb_perf, and improvements to the
    ntb_perf and ntb_pingpong for increased debugability.

    Also, modification to the ntb_transport layer to increase/decrease
    the number of transport entries depending on the ring size"

    * tag 'ntb-4.8' of git://github.com/jonmason/ntb:
    NTB: ntb_hw_intel: use local variable pdev
    NTB: ntb_hw_intel: show BAR size in debugfs info
    ntb_test: Add a selftest script for the NTB subsystem
    ntb_perf: clear link_is_up flag when the link goes down.
    ntb_pingpong: Add a debugfs file to get the ping count
    ntb_tool: Add link status and files to debugfs
    ntb_tool: Postpone memory window initialization for the user
    ntb_perf: Wait for link before running test
    ntb_perf: Return results by reading the run file
    ntb_perf: Improve thread handling to increase robustness
    ntb_perf: Schedule based on time not on performance
    ntb_transport: Check the number of spads the hardware supports
    ntb_tool: Add memory window debug support
    ntb_perf: Allow limiting the size of the memory windows
    NTB: allocate number transport entries depending on size of ring size
    ntb_tool: BUG: Ensure the buffer size is large enough to return all spads
    ntb_tool: Fix infinite loop bug when writing spad/peer_spad file

    Linus Torvalds
     

05 Aug, 2016

2 commits

  • This script automates testing doorbells, scratchpads and memory windows
    for an NTB device. It can be run locally, with the NTB looped
    back to the same host or use SSH to remotely control the second host.

    In the single host case, the script just needs to be passed two
    arguments: a PCI ID for each side of the link. In the two host case
    the -r option must be used to specify the remote hostname (which must
    be SSH accessible and should probably have ssh-keys exchanged).

    A sample run looks like this:

    $ sudo ./ntb_test.sh 0000:03:00.1 0000:83:00.1 -p 29
    Starting ntb_tool tests...
    Running link tests on: 0000:03:00.1 / 0000:83:00.1
    Passed
    Running link tests on: 0000:83:00.1 / 0000:03:00.1
    Passed
    Running db tests on: 0000:03:00.1 / 0000:83:00.1
    Passed
    Running db tests on: 0000:83:00.1 / 0000:03:00.1
    Passed
    Running spad tests on: 0000:03:00.1 / 0000:83:00.1
    Passed
    Running spad tests on: 0000:83:00.1 / 0000:03:00.1
    Passed
    Running mw0 tests on: 0000:03:00.1 / 0000:83:00.1
    Passed
    Running mw0 tests on: 0000:83:00.1 / 0000:03:00.1
    Passed
    Running mw1 tests on: 0000:03:00.1 / 0000:83:00.1
    Passed
    Running mw1 tests on: 0000:83:00.1 / 0000:03:00.1
    Passed

    Starting ntb_pingpong tests...
    Running ping pong tests on: 0000:03:00.1 / 0000:83:00.1
    Passed

    Starting ntb_perf tests...
    Running local perf test without DMA
    0: copied 536870912 bytes in 164453 usecs, 3264 MBytes/s
    Passed
    Running remote perf test without DMA
    0: copied 536870912 bytes in 164453 usecs, 3264 MBytes/s
    Passed

    Signed-off-by: Logan Gunthorpe
    Acked-by: Shuah Khan
    Acked-by: Allen Hubbe
    Signed-off-by: Jon Mason

    Logan Gunthorpe
     
  • Pull RTC updates from Alexandre Belloni:
    "RTC for 4.8

    Cleanups:
    - huge cleanup of rtc-generic and char/genrtc this allowed to cleanup
    rtc-cmos, rtc-sh, rtc-m68k, rtc-powerpc and rtc-parisc
    - move mn10300 to rtc-cmos

    Subsystem:
    - fix wakealarms after hibernate
    - multiples fixes for rctest
    - simplify implementations of .read_alarm

    New drivers:
    - Maxim MAX6916

    Drivers:
    - ds1307: fix weekday
    - m41t80: add wakeup support
    - pcf85063: add support for PCF85063A variant
    - rv8803: extend i2c fix and other fixes
    - s35390a: fix alarm reading, this fixes instant reboot after
    shutdown for QNAP TS-41x
    - s3c: clock fixes"

    * tag 'rtc-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (65 commits)
    rtc: rv8803: Clear V1F when setting the time
    rtc: rv8803: Stop the clock while setting the time
    rtc: rv8803: Always apply the I²C workaround
    rtc: rv8803: Fix read day of week
    rtc: rv8803: Remove the check for valid time
    rtc: rv8803: Kconfig: Indicate rx8900 support
    rtc: asm9260: remove .owner field for driver
    rtc: at91sam9: Fix missing spin_lock_init()
    rtc: m41t80: add suspend handlers for alarm IRQ
    rtc: m41t80: make it a real error message
    rtc: pcf85063: Add support for the PCF85063A device
    rtc: pcf85063: fix year range
    rtc: hym8563: in .read_alarm set .tm_sec to 0 to signal minute accuracy
    rtc: explicitly set tm_sec = 0 for drivers with minute accurancy
    rtc: s3c: Add s3c_rtc_{enable/disable}_clk in s3c_rtc_setfreq()
    rtc: s3c: Remove unnecessary call to disable already disabled clock
    rtc: abx80x: use devm_add_action_or_reset()
    rtc: m41t80: use devm_add_action_or_reset()
    rtc: fix a typo and reduce three empty lines to one
    rtc: s35390a: improve two comments in .set_alarm
    ...

    Linus Torvalds
     

04 Aug, 2016

2 commits

  • …ernel/git/acme/linux into perf/urgent

    Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

    New features:

    - Add --sample-cpu to 'perf record', to explicitely ask for sampling
    the CPU (Jiri Olsa)

    Fixes:

    - Fix processing of multi byte chunks in objdump output, fixing
    disassemble processing for annotation on at least ARM64 (Jan Stancek)

    - Use SyS_epoll_wait in a BPF 'perf test' entry instead of sys_epoll_wait, that
    is not present in the DWARF info in vmlinux files (Arnaldo Carvalho de Melo)

    - Add -wno-shadow when processing files using perl headers, fixing
    the build on Fedora Rawhide and Arch Linux (Namhyung Kim)

    Infrastructure changes:

    - Annotate prep work to better catch and report errors related to
    using objdump to disassemble DSOs (Arnaldo Carvalho de Melo)

    - Add 'alloc', 'scnprintf' and 'and' methods for bitmap processing (Jiri Olsa)

    - Add nested output resorting callback in hists processing (Jiri Olsa)

    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     
  • Something made the sys_epoll_wait() function alias not to be found in
    the vmlinux DWARF info, being found only in /proc/kallsyms, which made
    the BPF perf tests to fail:

    [root@jouet ~]# perf test BPF
    37: Test BPF filter :
    37.1: Test basic BPF filtering : FAILED!
    37.2: Test BPF prologue generation : Skip
    37.3: Test BPF relocation checker : Skip
    [root@jouet ~]#

    Using -v we can see it is failing to find DWARF info for the probed function,
    sys_epoll_wait, which we can find in /proc/kallsyms but not in vmlinux with
    CONFIG_DEBUG_INFO:

    [root@jouet ~]# grep -w sys_epoll_wait /proc/kallsyms
    ffffffffbd295b50 T sys_epoll_wait
    [root@jouet ~]#

    [root@jouet ~]# readelf -wi /lib/modules/4.7.0+/build/vmlinux | grep -w sys_epoll_wait
    [root@jouet ~]#

    If we try to use perf probe:

    [root@jouet ~]# perf probe sys_epoll_wait
    Failed to find debug information for address ffffffffbd295b50
    Probe point 'sys_epoll_wait' not found.
    Error: Failed to add events.
    [root@jouet ~]#

    It all works if we use SyS_epoll_wait, that is just an alias to the probed
    function:

    [root@jouet ~]# grep -i sys_epoll_wait /proc/kallsyms
    ffffffffbd295b50 T SyS_epoll_wait
    ffffffffbd295b50 T sys_epoll_wait
    [root@jouet ~]#

    So use it:

    [root@jouet ~]# perf test BPF
    37: Test BPF filter :
    37.1: Test basic BPF filtering : Ok
    37.2: Test BPF prologue generation : Ok
    37.3: Test BPF relocation checker : Ok
    [root@jouet ~]#

    Further info:

    [root@jouet ~]# gcc --version
    gcc (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3)
    [acme@jouet linux]$ cat /etc/fedora-release
    Fedora release 24 (Twenty Four)

    Investigation as to why it fails is still underway, but it was always
    going from sys_epoll_wait to SyS_epoll_wait when looking up the DWARF
    info in vmlinux, and this is what is breaking now.

    Switching to use SyS_epoll_wait allows this test to proceed and test the
    BPF code it was designed for, so lets have this in to allow passing this
    test while we fix the root cause.

    Cc: Adrian Hunter
    Cc: Alexei Starovoitov
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-7hekjp0bodwjbb419sl2b55h@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

03 Aug, 2016

9 commits

  • Apparently, the tools/testing version dates to a few flags ago, and
    we've sprouted 4 new ones since. Keep in sync with the value in the
    main tree...

    Link: http://lkml.kernel.org/r/23400.1469702675@turing-police.cc.vt.edu
    Signed-off-by: Valdis Kletnieks
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Valdis Kletnieks
     
  • objdump's raw insn output can vary across architectures on the number of
    bytes per chunk (bpc) displayed and their endianness.

    The code-reading test relied on reading objdump output as 1 bpc. Kaixu
    Xia reported test failure on ARM64, where objdump displays 4 bpc:

    70c48: f90027bf str xzr, [x29,#72]
    70c4c: 91224000 add x0, x0, #0x890
    70c50: f90023a0 str x0, [x29,#64]

    This patch adds support to read raw insn output for any bpc length.
    In case of 2+ bpc it also guesses objdump's display endian.

    Reported-and-Tested-by: Kaixu Xia
    Signed-off-by: Jan Stancek
    Acked-by: Adrian Hunter
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/07f0f7bcbda78deb423298708ef9b6a54d6b92bd.1452592712.git.jstancek@redhat.com
    [ Fix up pr_fmt() call to use %zd for size_t variables, fixing the build on Ubuntu cross-compiling to armhf and ppc64 ]
    Signed-off-by: Arnaldo Carvalho de Melo

    Jan Stancek
     
  • Adding --sample-cpu option to be able to explicitly enable CPU sample
    type. Currently it's only enable implicitly in case the target is cpu
    related.

    It will be useful for following c2c record tool.

    Signed-off-by: Jiri Olsa
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1470074555-24889-8-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • When dealing with nested hist entries it's helpful to have a way to
    resort those nested objects.

    Adding optional callback call into output_resort function and following
    new interface function:

    typedef int (*hists__resort_cb_t)(struct hist_entry *he);

    void hists__output_resort_cb(struct hists *hists,
    struct ui_progress *prog,
    hists__resort_cb_t cb);

    Signed-off-by: Jiri Olsa
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1470074555-24889-7-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • There's no reason to keep it in separate directory now when we moved out
    the rest of the files.

    Signed-off-by: Jiri Olsa
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1470074555-24889-6-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Automatically test the bitmap_scnprintf function.

    Signed-off-by: Jiri Olsa
    Tested-by: Arnaldo Carvalho de Melo
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1470074555-24889-5-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Add support to perform logical and on bitmaps. Code taken from kernel's
    include/linux/bitmap.h.

    Signed-off-by: Jiri Olsa
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1470074555-24889-4-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Add support to print bitmap list. Code mostly taken from kernel's
    bitmap_list_string.

    Signed-off-by: Jiri Olsa
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1470074555-24889-3-git-send-email-jolsa@kernel.org
    [ s/bitmap_snprintf/bitmap_scnprintf/g as it is a scnprintf wrapper, having the same semantics wrt return value ]
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Adding bitmap_alloc function to dynamically allocate bitmap.

    Signed-off-by: Jiri Olsa
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20160802113302.GA7479@krava
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

02 Aug, 2016

7 commits

  • Signed-off-by: Namhyung Kim
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Peter Zijlstra
    Cc: Steven Rostedt
    Link: http://lkml.kernel.org/r/20160802050148.3413-1-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • On my Archlinux machine, perf faild to build like below:

    CC scripts/perl/Perf-Trace-Util/Context.o
    In file included from /usr/lib/perl5/core/perl/CORE/perl.h:3905:0,
    from Context.xs:23:
    /usr/lib/perl5/core/perl/CORE/inline.h: In function :
    /usr/lib/perl5/core/perl/CORE/cop.h:612:13: warning: declaration of 'av'
    shadows a previous local [-Werror-shadow]
    AV *av =3D GvAV(PL_defgv);
    ^
    /usr/lib/perl5/core/perl/CORE/inline.h:526:5: note: in expansion of
    macro 'CX_POP_SAVEARRAY'
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~
    In file included from /usr/lib/perl5/core/perl/CORE/perl.h:5853:0,
    from Context.xs:23:
    /usr/lib/perl5/core/perl/CORE/inline.h:518:9: note:
    shadowed declaration is here
    AV *av;
    ^~

    What I did to fix is adding '-Wno-shadow' as the error message said it's
    the cause of the failure. Since it's from the perl (not perf) code
    base, we don't have the control so I just wanted to ignore the warning
    when compiling perl scripting code.

    Committer note:

    This also fixes the build on Fedora Rawhide.

    Signed-off-by: Namhyung Kim
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Jiri Olsa
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20160802024317.31725-1-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • If dso__build_id_filename(..., NULL, ...) returns !NULL its because it
    allocated it, so, when reaching the 'if (dso__is_kcore()) test, we
    already checked that and were just "fallbacking" to using
    dso->long_name, but without freeing filename, thus leaking it.

    Fix it by adding the dso__is_kcore() test to the 'or' group just after
    it, the one containing the full fallback code, including freeing the
    filename.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Fixes: ee205503f233 ("perf tools: Fix annotation with kcore")
    Link: http://lkml.kernel.org/n/tip-qi4rpjq8yo6myvg99kkgt0xz@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • We were just using pr_error() which makes it difficult for non stdio UIs
    to provide errors using its widgets, as they need to somehow catch what
    was passed to pr_error().

    Fix it by introducing a __strerror() interface like the ones used
    elsewhere, for instance target__strerror().

    This is just the initial step, more work will be done, but first some
    error handling bugs noticed while working on this need to be dealt with.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-dgd22zl2xg7x4vcnoa83jxfb@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • …/kernel/git/shuah/linux-kselftest

    Pull kselftest updates from Shuah Khan:
    "This contains new tests and fixes:

    - a few fixes to existing tests

    - new media tests for testing driver unbind, and device removal paths
    while an user application is actively making system calls and
    ioctls"

    * tag 'linux-kselftest-4.8-rc1-update' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
    selftests: media_tests add a new video device test
    selftests: media_tests - Add media_device_open to .gitignore
    selftests: add media controller regression test scripts and document
    selftests: add media_device_open test
    selftests: media_device_test change it to randomize loop count
    selftests/vm: Don't mlockall MCL_CURRENT in on-fault-limit test
    selftests/vm: write strlen length instead of sizeof to nr_hugepages
    selftests/lib: set printf.sh executable

    Linus Torvalds
     
  • …kernel/git/shuah/linux-kselftest

    Pull kselftest fixes from Shuah Khan:

    - Add a new timer set-tz test case

    - Fix a bug in exec test Makefile dependency list

    * tag 'linux-kselftest-4.8-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
    selftests/exec: Makefile is a run-time dependency, add it to the install list
    kselftests: timers: Add set-tz test case

    Linus Torvalds
     
  • This function will not annotate anything, it will just disassembly the
    given map->dso and symbol.

    It currently does this by parsing the output of 'objdump --disassemble',
    but this could conceivably be done using a library or an offshot of
    the kernel's instruction decoder (arch/x86/lib/inat.c), etc.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-2xpfl4bfnrd6x584b390qok7@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

31 Jul, 2016

3 commits

  • Pull powerpc updates from Michael Ellerman:
    "Highlights:
    - PowerNV PCI hotplug support.
    - Lots more Power9 support.
    - eBPF JIT support on ppc64le.
    - Lots of cxl updates.
    - Boot code consolidation.

    Bug fixes:
    - Fix spin_unlock_wait() from Boqun Feng
    - Fix stack pointer corruption in __tm_recheckpoint() from Michael
    Neuling
    - Fix multiple bugs in memory_hotplug_max() from Bharata B Rao
    - mm: Ensure "special" zones are empty from Oliver O'Halloran
    - ftrace: Separate the heuristics for checking call sites from
    Michael Ellerman
    - modules: Never restore r2 for a mprofile-kernel style mcount() call
    from Michael Ellerman
    - Fix endianness when reading TCEs from Alexey Kardashevskiy
    - start rtasd before PCI probing from Greg Kurz
    - PCI: rpaphp: Fix slot registration for multiple slots under a PHB
    from Tyrel Datwyler
    - powerpc/mm: Add memory barrier in __hugepte_alloc() from Sukadev
    Bhattiprolu

    Cleanups & fixes:
    - Drop support for MPIC in pseries from Rashmica Gupta
    - Define and use PPC64_ELF_ABI_v2/v1 from Michael Ellerman
    - Remove unused symbols in asm-offsets.c from Rashmica Gupta
    - Fix SRIOV not building without EEH enabled from Russell Currey
    - Remove kretprobe_trampoline_holder from Thiago Jung Bauermann
    - Reduce log level of PCI I/O space warning from Benjamin
    Herrenschmidt
    - Add array bounds checking to crash_shutdown_handlers from Suraj
    Jitindar Singh
    - Avoid -maltivec when using clang integrated assembler from Anton
    Blanchard
    - Fix array overrun in ppc_rtas() syscall from Andrew Donnellan
    - Fix error return value in cmm_mem_going_offline() from Rasmus
    Villemoes
    - export cpu_to_core_id() from Mauricio Faria de Oliveira
    - Remove old symbols from defconfigs from Andrew Donnellan
    - Update obsolete comments in setup_32.c about entry conditions from
    Benjamin Herrenschmidt
    - Add comment explaining the purpose of setup_kdump_trampoline() from
    Benjamin Herrenschmidt
    - Merge the RELOCATABLE config entries for ppc32 and ppc64 from Kevin
    Hao
    - Remove RELOCATABLE_PPC32 from Kevin Hao
    - Fix .long's in tlb-radix.c to more meaningful from Balbir Singh

    Minor cleanups & fixes:
    - Andrew Donnellan, Anna-Maria Gleixner, Anton Blanchard, Benjamin
    Herrenschmidt, Bharata B Rao, Christophe Leroy, Colin Ian King,
    Geliang Tang, Greg Kurz, Madhavan Srinivasan, Michael Ellerman,
    Michael Ellerman, Stephen Rothwell, Stewart Smith.

    Freescale updates from Scott:
    - "Highlights include more 8xx optimizations, device tree updates,
    and MVME7100 support."

    PowerNV PCI hotplug from Gavin Shan:
    - PCI: Add pcibios_setup_bridge()
    - Override pcibios_setup_bridge()
    - Remove PCI_RESET_DELAY_US
    - Move pnv_pci_ioda_setup_opal_tce_kill() around
    - Increase PE# capacity
    - Allocate PE# in reverse order
    - Create PEs in pcibios_setup_bridge()
    - Setup PE for root bus
    - Extend PCI bridge resources
    - Make pnv_ioda_deconfigure_pe() visible
    - Dynamically release PE
    - Update bridge windows on PCI plug
    - Delay populating pdn
    - Support PCI slot ID
    - Use PCI slot reset infrastructure
    - Introduce pnv_pci_get_slot_id()
    - Functions to get/set PCI slot state
    - PCI/hotplug: PowerPC PowerNV PCI hotplug driver
    - Print correct PHB type names

    Power9 idle support from Shreyas B. Prabhu:
    - set power_save func after the idle states are initialized
    - Use PNV_THREAD_WINKLE macro while requesting for winkle
    - make hypervisor state restore a function
    - Rename idle_power7.S to idle_book3s.S
    - Rename reusable idle functions to hardware agnostic names
    - Make pnv_powersave_common more generic
    - abstraction for saving SPRs before entering deep idle states
    - Add platform support for stop instruction
    - cpuidle/powernv: Use CPUIDLE_STATE_MAX instead of MAX_POWERNV_IDLE_STATES
    - cpuidle/powernv: cleanup cpuidle-powernv.c
    - cpuidle/powernv: Add support for POWER ISA v3 idle states
    - Use deepest stop state when cpu is offlined

    Power9 PMU from Madhavan Srinivasan:
    - factor out power8 pmu macros and defines
    - factor out power8 pmu functions
    - factor out power8 __init_pmu code
    - Add power9 event list macros for generic and cache events
    - Power9 PMU support
    - Export Power9 generic and cache events to sysfs

    Power9 preliminary interrupt & PCI support from Benjamin Herrenschmidt:
    - Add XICS emulation APIs
    - Move a few exception common handlers to make room
    - Add support for HV virtualization interrupts
    - Add mechanism to force a replay of interrupts
    - Add ICP OPAL backend
    - Discover IODA3 PHBs
    - pci: Remove obsolete SW invalidate
    - opal: Add real mode call wrappers
    - Rename TCE invalidation calls
    - Remove SWINV constants and obsolete TCE code
    - Rework accessing the TCE invalidate register
    - Fallback to OPAL for TCE invalidations
    - Use the device-tree to get available range of M64's
    - Check status of a PHB before using it
    - pci: Don't try to allocate resources that will be reassigned

    Other Power9:
    - Send SIGBUS on unaligned copy and paste from Chris Smart
    - Large Decrementer support from Oliver O'Halloran
    - Load Monitor Register Support from Jack Miller

    Performance improvements from Anton Blanchard:
    - Avoid load hit store in __giveup_fpu() and __giveup_altivec()
    - Avoid load hit store in setup_sigcontext()
    - Remove assembly versions of strcpy, strcat, strlen and strcmp
    - Align hot loops of some string functions

    eBPF JIT from Naveen N. Rao:
    - Fix/enhance 32-bit Load Immediate implementation
    - Optimize 64-bit Immediate loads
    - Introduce rotate immediate instructions
    - A few cleanups
    - Isolate classic BPF JIT specifics into a separate header
    - Implement JIT compiler for extended BPF

    Operator Panel driver from Suraj Jitindar Singh:
    - devicetree/bindings: Add binding for operator panel on FSP machines
    - Add inline function to get rc from an ASYNC_COMP opal_msg
    - Add driver for operator panel on FSP machines

    Sparse fixes from Daniel Axtens:
    - make some things static
    - Introduce asm-prototypes.h
    - Include headers containing prototypes
    - Use #ifdef __BIG_ENDIAN__ #else for REG_BYTE
    - kvm: Clarify __user annotations
    - Pass endianness to sparse
    - Make ppc_md.{halt, restart} __noreturn

    MM fixes & cleanups from Aneesh Kumar K.V:
    - radix: Update LPCR HR bit as per ISA
    - use _raw variant of page table accessors
    - Compile out radix related functions if RADIX_MMU is disabled
    - Clear top 16 bits of va only on older cpus
    - Print formation regarding the the MMU mode
    - hash: Update SDR1 size encoding as documented in ISA 3.0
    - radix: Update PID switch sequence
    - radix: Update machine call back to support new HCALL.
    - radix: Add LPID based tlb flush helpers
    - radix: Add a kernel command line to disable radix
    - Cleanup LPCR defines

    Boot code consolidation from Benjamin Herrenschmidt:
    - Move epapr_paravirt_early_init() to early_init_devtree()
    - cell: Don't use flat device-tree after boot
    - ge_imp3a: Don't use the flat device-tree after boot
    - mpc85xx_ds: Don't use the flat device-tree after boot
    - mpc85xx_rdb: Don't use the flat device-tree after boot
    - Don't test for machine type in rtas_initialize()
    - Don't test for machine type in smp_setup_cpu_maps()
    - dt: Add of_device_compatible_match()
    - Factor do_feature_fixup calls
    - Move 64-bit feature fixup earlier
    - Move 64-bit memory reserves to setup_arch()
    - Use a cachable DART
    - Move FW feature probing out of pseries probe()
    - Put exception configuration in a common place
    - Remove early allocation of the SMU command buffer
    - Move MMU backend selection out of platform code
    - pasemi: Remove IOBMAP allocation from platform probe()
    - mm/hash: Don't use machine_is() early during boot
    - Don't test for machine type to detect HEA special case
    - pmac: Remove spurrious machine type test
    - Move hash table ops to a separate structure
    - Ensure that ppc_md is empty before probing for machine type
    - Move 64-bit probe_machine() to later in the boot process
    - Move 32-bit probe() machine to later in the boot process
    - Get rid of ppc_md.init_early()
    - Move the boot time info banner to a separate function
    - Move setting of {i,d}cache_bsize to initialize_cache_info()
    - Move the content of setup_system() to setup_arch()
    - Move cache info inits to a separate function
    - Re-order the call to smp_setup_cpu_maps()
    - Re-order setup_panic()
    - Make a few boot functions __init
    - Merge 32-bit and 64-bit setup_arch()

    Other new features:
    - tty/hvc: Use IRQF_SHARED for OPAL hvc consoles from Sam Mendoza-Jonas
    - tty/hvc: Use opal irqchip interface if available from Sam Mendoza-Jonas
    - powerpc: Add module autoloading based on CPU features from Alastair D'Silva
    - crypto: vmx - Convert to CPU feature based module autoloading from Alastair D'Silva
    - Wake up kopald polling thread before waiting for events from Benjamin Herrenschmidt
    - xmon: Dump ISA 2.06 SPRs from Michael Ellerman
    - xmon: Dump ISA 2.07 SPRs from Michael Ellerman
    - Add a parameter to disable 1TB segs from Oliver O'Halloran
    - powerpc/boot: Add OPAL console to epapr wrappers from Oliver O'Halloran
    - Assign fixed PHB number based on device-tree properties from Guilherme G. Piccoli
    - pseries: Add pseries hotplug workqueue from John Allen
    - pseries: Add support for hotplug interrupt source from John Allen
    - pseries: Use kernel hotplug queue for PowerVM hotplug events from John Allen
    - pseries: Move property cloning into its own routine from Nathan Fontenot
    - pseries: Dynamic add entires to associativity lookup array from Nathan Fontenot
    - pseries: Auto-online hotplugged memory from Nathan Fontenot
    - pseries: Remove call to memblock_add() from Nathan Fontenot

    cxl:
    - Add set and get private data to context struct from Michael Neuling
    - make base more explicitly non-modular from Paul Gortmaker
    - Use for_each_compatible_node() macro from Wei Yongjun
    - Frederic Barrat
    - Abstract the differences between the PSL and XSL
    - Make vPHB device node match adapter's
    - Philippe Bergheaud
    - Add mechanism for delivering AFU driver specific events
    - Ignore CAPI adapters misplaced in switched slots
    - Refine slice error debug messages
    - Andrew Donnellan
    - static-ify variables to fix sparse warnings
    - PCI/hotplug: pnv_php: export symbols and move struct types needed by cxl
    - PCI/hotplug: pnv_php: handle OPAL_PCI_SLOT_OFFLINE power state
    - Add cxl_check_and_switch_mode() API to switch bi-modal cards
    - remove dead Kconfig options
    - fix potential NULL dereference in free_adapter()
    - Ian Munsie
    - Update process element after allocating interrupts
    - Add support for CAPP DMA mode
    - Fix allowing bogus AFU descriptors with 0 maximum processes
    - Fix allocating a minimum of 2 pages for the SPA
    - Fix bug where AFU disable operation had no effect
    - Workaround XSL bug that does not clear the RA bit after a reset
    - Fix NULL pointer dereference on kernel contexts with no AFU interrupts
    - powerpc/powernv: Split cxl code out into a separate file
    - Add cxl_slot_is_supported API
    - Enable bus mastering for devices using CAPP DMA mode
    - Move cxl_afu_get / cxl_afu_put to base
    - Allow a default context to be associated with an external pci_dev
    - Do not create vPHB if there are no AFU configuration records
    - powerpc/powernv: Add support for the cxl kernel api on the real phb
    - Add support for using the kernel API with a real PHB
    - Add kernel APIs to get & set the max irqs per context
    - Add preliminary workaround for CX4 interrupt limitation
    - Add support for interrupts on the Mellanox CX4
    - Workaround PE=0 hardware limitation in Mellanox CX4
    - powerpc/powernv: Fix pci-cxl.c build when CONFIG_MODULES=n

    selftests:
    - Test unaligned copy and paste from Chris Smart
    - Load Monitor Register Tests from Jack Miller
    - Cyril Bur
    - exec() with suspended transaction
    - Use signed long to read perf_event_paranoid
    - Fix usage message in context_switch
    - Fix generation of vector instructions/types in context_switch
    - Michael Ellerman
    - Use "Delta" rather than "Error" in normal output
    - Import Anton's mmap & futex micro benchmarks
    - Add a test for PROT_SAO"

    * tag 'powerpc-4.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (263 commits)
    powerpc/mm: Parenthesise IS_ENABLED() in if condition
    tty/hvc: Use opal irqchip interface if available
    tty/hvc: Use IRQF_SHARED for OPAL hvc consoles
    selftests/powerpc: exec() with suspended transaction
    powerpc: Improve comment explaining why we modify VRSAVE
    powerpc/mm: Drop unused externs for hpte_init_beat[_v3]()
    powerpc/mm: Rename hpte_init_lpar() and move the fallback to a header
    powerpc/mm: Fix build break when PPC_NATIVE=n
    crypto: vmx - Convert to CPU feature based module autoloading
    powerpc: Add module autoloading based on CPU features
    powerpc/powernv/ioda: Fix endianness when reading TCEs
    powerpc/mm: Add memory barrier in __hugepte_alloc()
    powerpc/modules: Never restore r2 for a mprofile-kernel style mcount() call
    powerpc/ftrace: Separate the heuristics for checking call sites
    powerpc: Merge 32-bit and 64-bit setup_arch()
    powerpc/64: Make a few boot functions __init
    powerpc: Re-order setup_panic()
    powerpc: Re-order the call to smp_setup_cpu_maps()
    powerpc/32: Move cache info inits to a separate function
    powerpc/64: Move the content of setup_system() to setup_arch()
    ...

    Linus Torvalds
     
  • Pull perf fixes from Thomas Gleixner:
    "This update contains:

    - a fix for the bpf tools to use the new EM_BPF code

    - a fix for the module parser of perf to retrieve the
    proper text start address

    - add str_error_c to libapi to avoid linking against
    tools/lib/str_error_r.o"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    tools lib api: Add str_error_c to libapi
    perf s390: Fix 'start' address of module's map
    tools lib bpf: Use official ELF e_machine value

    Linus Torvalds
     
  • Pull misc fixes from Thomas Gleixner:
    "This update contains:

    - a fix for stomp-machine so the nmi_watchdog wont trigger on the cpu
    waiting for the others to execute the callback

    - various fixes and updates to objtool including an resync of the
    instruction decoder to match the kernel's decoder"

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    objtool: Un-capitalize "Warning" for out-of-sync instruction decoder
    objtool: Resync x86 instruction decoder with the kernel's
    objtool: Support new GCC 6 switch jump table pattern
    stop_machine: Touch_nmi_watchdog() after MULTI_STOP_PREPARE
    objtool: Add 'fixdep' to objtool/.gitignore

    Linus Torvalds
     

30 Jul, 2016

1 commit

  • Pull security subsystem updates from James Morris:
    "Highlights:

    - TPM core and driver updates/fixes
    - IPv6 security labeling (CALIPSO)
    - Lots of Apparmor fixes
    - Seccomp: remove 2-phase API, close hole where ptrace can change
    syscall #"

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (156 commits)
    apparmor: fix SECURITY_APPARMOR_HASH_DEFAULT parameter handling
    tpm: Add TPM 2.0 support to the Nuvoton i2c driver (NPCT6xx family)
    tpm: Factor out common startup code
    tpm: use devm_add_action_or_reset
    tpm2_i2c_nuvoton: add irq validity check
    tpm: read burstcount from TPM_STS in one 32-bit transaction
    tpm: fix byte-order for the value read by tpm2_get_tpm_pt
    tpm_tis_core: convert max timeouts from msec to jiffies
    apparmor: fix arg_size computation for when setprocattr is null terminated
    apparmor: fix oops, validate buffer size in apparmor_setprocattr()
    apparmor: do not expose kernel stack
    apparmor: fix module parameters can be changed after policy is locked
    apparmor: fix oops in profile_unpack() when policy_db is not present
    apparmor: don't check for vmalloc_addr if kvzalloc() failed
    apparmor: add missing id bounds check on dfa verification
    apparmor: allow SYS_CAP_RESOURCE to be sufficient to prlimit another task
    apparmor: use list_next_entry instead of list_entry_next
    apparmor: fix refcount race when finding a child profile
    apparmor: fix ref count leak when profile sha1 hash is read
    apparmor: check that xindex is in trans_table bounds
    ...

    Linus Torvalds
     

29 Jul, 2016

2 commits

  • Change "Warning" to "warning" to make it look more like a GCC warning.
    Hopefully that will be enough to help the 0-day bot or other automated
    tools catch this warning earlier before it ends up in Linus's tree.

    Reported-by: Linus Torvalds
    Signed-off-by: Josh Poimboeuf
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Denys Vlasenko
    Cc: H. Peter Anvin
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/b1669f391a5db91040427fd9f8e1e79db18f9709.1469751119.git.jpoimboe@redhat.com
    Signed-off-by: Ingo Molnar

    Josh Poimboeuf
     
  • This fixes the following warning:

    Warning: objtool: x86 instruction decoder differs from kernel

    Unfortunately we have three identical copies of the x86 instruction
    decoder in the kernel tree that have to be manually kept in sync.

    It's on my TODO list to at least library-ize the ones in the tools
    subdir so we'd only have two of them instead of three. In the meantime,
    here's another manual sync.

    Reported-by: Linus Torvalds
    Signed-off-by: Josh Poimboeuf
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Denys Vlasenko
    Cc: H. Peter Anvin
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Fixes: c61f4d5ebaf0 ("perf tools: Add AVX-512 support to the instruction decoder used by Intel PT")
    Link: http://lkml.kernel.org/r/d7f74b4d91fed25b0be33cd5c86f5131fa1a7529.1469751119.git.jpoimboe@redhat.com
    Signed-off-by: Ingo Molnar

    Josh Poimboeuf