aboutsummaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)AuthorFilesLines
2015-05-27perf comm: Use atomic.h for refcountingArnaldo Carvalho de Melo1-4/+9
Now that we have atomic.h, we should convert all of the existing refcounts to use it. Cc: Adrian Hunter <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: David Ahern <[email protected]> Cc: Don Zickus <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Stephane Eranian <[email protected]> Link: http://lkml.kernel.org/n/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-27perf hists: Rename add_hist_entry to hists__findnew_entryArnaldo Carvalho de Melo1-8/+8
To match the convention used elsewhere. Cc: Adrian Hunter <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: David Ahern <[email protected]> Cc: Don Zickus <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Stephane Eranian <[email protected]> Link: http://lkml.kernel.org/n/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-27perf hists: Reducing arguments of hist_entry_iter__add()Namhyung Kim7-19/+22
The evsel and sample arguments are to set iter for later use. As it also receives an iter as another argument, just set them before calling the function. Signed-off-by: Namhyung Kim <[email protected]> Cc: David Ahern <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Peter Zijlstra <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-27perf session: Fix perf_session__peek_event()Adrian Hunter1-3/+3
perf_session__peek_event() generally leverages there being a single mmap of the perf.data file, however on 32-bit platforms when there is more that 32MiB of data, then there are multiple mmaps, so perf_session__peek_event() reads from the file. In that case a couple of bugs were exposed (note how the seg. fault appears with >32M of data): $ perf record --per-thread -e intel_bts// ../rtit-tests/loopy 1000000 [ perf record: Woken up 13 times to write data ] [ perf record: Captured and wrote 24.568 MB perf.data ] $ perf script > /dev/null $ perf record --per-thread -e intel_bts// ../rtit-tests/loopy 10000000 [ perf record: Woken up 136 times to write data ] [ perf record: Captured and wrote 270.794 MB perf.data ] $ perf script > /dev/null Segmentation fault (core dumped) The wrong address was being passed to the readn() function and the buffer size was not being checked. Signed-off-by: Adrian Hunter <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Namhyung Kim <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-27perf build: Fix libunwind feature detection on 32-bit x86Adrian Hunter1-1/+1
The libunwind feature would never detect because of the following error: $ cat tools/build/feature/test-libunwind.make.output /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libunwind-x86.so: undefined reference to `lzma_stream_buffer_decode' /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libunwind-x86.so: undefined reference to `lzma_index_uncompressed_size' /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libunwind-x86.so: undefined reference to `lzma_index_end' /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libunwind-x86.so: undefined reference to `lzma_index_buffer_decode' /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libunwind-x86.so: undefined reference to `lzma_stream_footer_decode' /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libunwind-x86.so: undefined reference to `lzma_index_size' collect2: error: ld returned 1 exit status Fix by adding -llzma and re-ordering to match the dependencies. Signed-off-by: Adrian Hunter <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Namhyung Kim <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-27perf tools: Fix parse_events_error dereferencesAdrian Hunter2-2/+6
Parse errors can be reported in struct parse_events_error but the pointer passed is optional and can be NULL. Ensure it is not NULL before dereferencing it. Signed-off-by: Adrian Hunter <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Namhyung Kim <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-27perf tools: Fix function declarations needed by parse-events.yAdrian Hunter2-8/+14
Patch "perf tools: Add location to pmu event terms" moved declarations for parse_events_term__num() and parse_events_term__str() so that they were no longer visible in parse-events.y. That can result in segfaults as the arguments no longer need match the function prototype. Move the declarations back, changing YYLTYPE pointers to pointers-to-void because YYLTYPE is not generated until parse-events.y is processed. Signed-off-by: Adrian Hunter <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Namhyung Kim <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-27perf tools: Separate the tests and tools in installationNam T. Nguyen1-1/+5
This refactors out install-bin to install-tests and install-tools so that downstream could opt to only install the tools, and not the tests. Signed-off-by: Nam T. Nguyen <[email protected]> Acked-by: Jiri Olsa <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Simon Que <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-27Merge branch 'perf/urgent' into perf/core, before applying dependent patchesIngo Molnar9-45/+75
Signed-off-by: Ingo Molnar <[email protected]>
2015-05-27tools: bpf_jit_disasm: fix segfault on disabled debugging log outputDaniel Borkmann1-0/+2
With recent debugging, I noticed that bpf_jit_disasm segfaults when there's no debugging output from the JIT compiler to the kernel log. Reason is that when regexec(3) doesn't match on anything, start/end offsets are not being filled out and contain some uninitialized garbage from stack. Thus, we need zero out offsets first. Signed-off-by: Daniel Borkmann <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2015-05-26selftest, x86: fix incorrect commentMartin Kelly1-1/+1
The current comment indicates it's checking for a 32-bit build environment, but it actually checks for a 64-bit environment. Fix this. Signed-off-by: Martin Kelly <[email protected]> Acked-by: Andy Lutomirski <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
2015-05-26tools selftests: Fix 'clean' target with make 3.81Arnaldo Carvalho de Melo1-1/+1
Make 3.81 doesn't have the 'undefine' command. Using undefine to clear LDFLAGS fails when make version 3.81 is used. Fix it to use override to clear LDFLAGS. Tested-by: Shuah Khan <[email protected]> Cc: David Ahern <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Michael Ellerman <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
2015-05-26selftests/futex: Add .gitignoreDarren Hart1-0/+7
Add the futex/functional targets to .gitignore. Cc: Shuah Khan <[email protected]> Cc: [email protected] Cc: Ingo Molnar <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Davidlohr Bueso <[email protected]> Cc: KOSAKI Motohiro <[email protected]> Signed-off-by: Darren Hart <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
2015-05-26kselftest: Add exit code definesDarren Hart1-5/+12
Define the exit codes with KSFT_PASS and similar so tests can use these directly if they choose. Also enable harnesses and other tooling to use the defines instead of hardcoding the return codes. Cc: Shuah Khan <[email protected]> Cc: [email protected] Cc: Ingo Molnar <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Davidlohr Bueso <[email protected]> Cc: KOSAKI Motohiro <[email protected]> Signed-off-by: Darren Hart <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
2015-05-26selftests: Add futex tests to the top-level MakefileDarren Hart1-0/+1
Enable futex tests to be built and run with the make kselftest and associated targets. Most of the tests require escalated privileges. These return ERROR, and run.sh continues. Cc: Shuah Khan <[email protected]> Cc: [email protected] Cc: Ingo Molnar <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Davidlohr Bueso <[email protected]> Cc: KOSAKI Motohiro <[email protected]> Signed-off-by: Darren Hart <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
2015-05-26selftests/futex: Increment ksft pass and fail countersDarren Hart2-1/+4
Add kselftest.h to logging.h and increment the pass and fail counters as part of the print_result routine which is called by all futex tests. Cc: Shuah Khan <[email protected]> Cc: [email protected] Cc: Ingo Molnar <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Davidlohr Bueso <[email protected]> Cc: KOSAKI Motohiro <[email protected]> Signed-off-by: Darren Hart <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
2015-05-26selftests/futex: Update Makefile to use lib.mkDarren Hart2-3/+22
Adapt the futextest Makefiles to use lib.mk macros for RUN_TESTS and EMIT_TESTS. For now, we reuse the run.sh mechanism provided by futextest. This doesn't provide the standard selftests: [PASS|FAIL] format, but the tests provide very similar output already. This results in the run_kselftest.sh script for futexes including a single line: ./run.sh Cc: Shuah Khan <[email protected]> Cc: [email protected] Cc: Ingo Molnar <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Davidlohr Bueso <[email protected]> Cc: KOSAKI Motohiro <[email protected]> Signed-off-by: Darren Hart <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
2015-05-26selftests: Add futex functional testsDarren Hart15-0/+1889
The futextest testsuite [1] provides functional, stress, and performance tests for the various futex op codes. Those tests will be of more use to futex developers if they are included with the kernel source. Copy the core infrastructure and the functional tests into selftests, but adapt them for inclusion in the kernel: - Update the Makefile to include the run_tests target, remove reference to the performance and stress tests from the contributed sources. - Replace my dead IBM email address with my current Intel email address. - Remove the warrantee and write-to paragraphs from the license blurbs. - Remove the NAME section as the filename is easily determined. ;-) - Make the whitespace usage consistent in a couple of places. - Cleanup various CodingStyle violations. A future effort will explore moving the performance and stress tests into the kernel. 1. http://git.kernel.org/cgit/linux/kernel/git/dvhart/futextest.git Cc: Shuah Khan <[email protected]> Cc: [email protected] Cc: Ingo Molnar <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Davidlohr Bueso <[email protected]> Cc: KOSAKI Motohiro <[email protected]> Signed-off-by: Darren Hart <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
2015-05-26kselftests: timers: Check _ALARM clockids are supported before suspendingJohn Stultz1-1/+5
It was reported that the alarmtimer-suspend test hangs on older systems that don't support _ALARM clockids. This is due to the fact that we don't check if the timer_create fails, and thus when we suspend, the system will not programatically resume. Fix this by checking the timer_create call for errors. Cc: Shuah Khan <[email protected]> Cc: Prarit Bhargava <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Richard Cochran <[email protected]> Signed-off-by: John Stultz <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
2015-05-26kselftests: timers: Ease alarmtimer-suspend unreasonable latency valueJohn Stultz1-1/+1
On the hardware I have, resume latency from an alarm is often 2-3 seconds (with a fair amount of variability due to the RTC's single second granularity). Having four seconds be the pass/fail bar is maybe a little too tight, so extend this to 5 seconds. Cc: Shuah Khan <[email protected]> Cc: Prarit Bhargava <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Richard Cochran <[email protected]> Signed-off-by: John Stultz <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
2015-05-26kselftests: timers: Increase delay between suspends in alarmtimer-suspendJohn Stultz1-1/+1
When testing on some hardware, waiting only a second before re-triggering suspend can keep TCP connections from re-establishing which after a number of cycles can cause TCP connections to close while the test is running. So extend the delay between suspend calls to 3 seconds to let the connections stay alive. Cc: Shuah Khan <[email protected]> Cc: Prarit Bhargava <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Richard Cochran <[email protected]> Signed-off-by: John Stultz <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
2015-05-26selftests/exec: do not install subdir as it is already createdTyler Baker1-1/+1
Remove subdir from DEPS as it is already created at runtime. Without this, make install fails. Acked-by: Michael Ellerman <[email protected]> Signed-off-by: Tyler Baker <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
2015-05-26selftests/ftrace: install test.dTyler Baker1-0/+1
The ftrace test requires the directory test.d and all of it's contents to be present during execution. Use TEST_DIRS to ensure this is copied to the INSTALL_PATH. Acked-by: Michael Ellerman <[email protected]> Signed-off-by: Tyler Baker <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
2015-05-26selftests: copy TEST_DIRS to INSTALL_PATHTyler Baker1-0/+3
Loop over all TEST_DIRS and recursively copy them to the INSTALL_PATH. Tests such as ftrace require a directory and all of it's contents to execute the test properly, thus these directories and files need to be copied when we perform an install. Acked-by: Michael Ellerman <[email protected]> Signed-off-by: Tyler Baker <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
2015-05-26Test compaction of mlocked memorySri Jayaramappa3-1/+243
Commit commit 5bbe3547aa3b ("mm: allow compaction of unevictable pages") introduced a sysctl that allows userspace to enable scanning of locked pages for compaction. This patch introduces a new test which fragments main memory and attempts to allocate a number of huge pages to exercise this compaction logic. Tested on machines with up to 32 GB RAM. With the patch a much larger number of huge pages can be allocated than on the kernel without the patch. Example output: On a machine with 16 GB RAM: sudo make run_tests vm ... ----------------------- running compaction_test ----------------------- No of huge pages allocated = 3834 [PASS] ... Signed-off-by: Sri Jayaramappa <[email protected]> Cc: [email protected] Cc: [email protected] Cc: Andrew Morton <[email protected]> Cc: Eric B Munson <[email protected]> Reviewed-by: Eric B Munson <[email protected]> Acked-by: Andrew Morton <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
2015-05-26selftests/mount: output WARN messages when mount test skippedZhang Zhen1-1/+6
If /proc/self/uid_map doesn't exist, mount test case exits wthout any warning. Fix it to print a warning that the test is skipped because /proc/self/uid_map doesn't exist. Signed-off-by: Zhang Zhen <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
2015-05-26selftests/timers: Make git ignore all binaries in timers test suiteZhang Zhen1-0/+18
This patch includes the timers test binaries into the .gitignore file listing in their respective directories. This will make sure that git ignores all of these test binaries when displaying status. Signed-off-by: Zhang Zhen <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
2015-05-24Drivers: hv: fcopy: full handshake supportVitaly Kuznetsov1-0/+15
Introduce FCOPY_VERSION_1 to support kernel replying to the negotiation message with its own version. Signed-off-by: Vitaly Kuznetsov <[email protected]> Tested-by: Alex Ng <[email protected]> Signed-off-by: K. Y. Srinivasan <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-05-24Drivers: hv: vss: full handshake supportVitaly Kuznetsov1-0/+14
Introduce VSS_OP_REGISTER1 to support kernel replying to the negotiation message with its own version. Signed-off-by: Vitaly Kuznetsov <[email protected]> Tested-by: Alex Ng <[email protected]> Signed-off-by: K. Y. Srinivasan <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-05-24Tools: hv: vss: use misc char device to communicate with kernelVitaly Kuznetsov1-114/+25
Use /dev/vmbus/hv_vss instead of netlink. Signed-off-by: Vitaly Kuznetsov <[email protected]> Tested-by: Alex Ng <[email protected]> Signed-off-by: K. Y. Srinivasan <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-05-24Tools: hv: kvp: use misc char device to communicate with kernelVitaly Kuznetsov1-135/+31
Use /dev/vmbus/hv_kvp instead of netlink. Signed-off-by: Vitaly Kuznetsov <[email protected]> Tested-by: Alex Ng <[email protected]> Signed-off-by: K. Y. Srinivasan <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-05-24Merge tag 'iio-for-v4.2b' of ↵Greg Kroah-Hartman1-2/+2
git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Jonathan writes: Second set of new driver, functionality and cleanups for IIO in the 4.2 cycle. Core functionality * i and q modifiers from quadrature channels. * IIO_CHAN_INFO_OVERSAMPLING_RATIO added. * High pass filter attributes added to mirror the existing low pass filter ones. Core cleanups * Make IIO tools building more cross compiler friendly. * Substantial rework of the function __iio_update_buffers to greatly simplify a hideously evolved function. New drivers and support * ACPI0008 ambient light sensor driver. This one has been around a long time to will be good to finally get it into mainline. * Berlin SOC ADC support. * BMC150 magnetometer. The accelerometer in the same package has been supported for quite some time, so good to have this half as well. * m62332 DAC driver * MEMSIC MMC35420 magnetometer. * ROHM BH1710 and similar ambient light sensors. * Sensortek STK3310 light sensor. * Sensortek STK8312 accelerometer. * Sensortek STK8BA50 accelerometer. * ti-adc128s052 gains support form the adc122s021 2 channel ADC. Driver cleanups and functionality. * Allow various drivers to compile with !GPIOLIB if COMPILE_TEST enabled. * bmc150 - decouple trigger from buffer to allow other triggers to be used. * bmg160 - decouple trigger from buffer to allow other triggers to be used. Fix a trivial unused field. * Constify a load of platform_device_id structures. * inv_mpu6050 - device tree bindings. * hid-sensors - fix a memory leak during probe if certain errors occur. * ltr501 - illuminance channel derived (in an non obvious fashion) from the intensity channels. * ltr501 - fix a boundary check on the proximity threshold. * mlx90614 - drop a pointless return. * mma8452 - Debugfs register access and fix a bug that had no effect (by coincidence) * ti_am335x_adc - add device tree bindings for sample-delay, open-delay and averaging. The ideal settings for these tend to be board design specific.
2015-05-23Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller10-46/+76
Conflicts: drivers/net/ethernet/cadence/macb.c drivers/net/phy/phy.c include/linux/skbuff.h net/ipv4/tcp.c net/switchdev/switchdev.c Switchdev was a case of RTNH_H_{EXTERNAL --> OFFLOAD} renaming overlapping with net-next changes of various sorts. phy.c was a case of two changes, one adding a local variable to a function whilst the second was removing one. tcp.c overlapped a deadlock fix with the addition of new tcp_info statistic values. macb.c involved the addition of two zyncq device entries. skbuff.h involved adding back ipv4_daddr to nf_bridge_info whilst net-next changes put two other existing members of that struct into a union. Signed-off-by: David S. Miller <[email protected]>
2015-05-18selftests/net: expect headroom in psock_fanout rolloverWillem de Bruijn1-1/+1
psock_fanout tests the various fanout modes. Change the test for rollover mode to expect early rollover due to socket pressure as implemented in 2ccdbaa6d55b ("packet: rollover lock contention avoidance"). Signed-off-by: Willem de Bruijn <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2015-05-18Merge 4.1-rc4 into staging-nextGreg Kroah-Hartman20-91/+140
We want the fixes in here for testing and merge issues. Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-05-18perf bench numa: Share sched_getcpu() __weak def with cloexec.cArnaldo Carvalho de Melo1-0/+1
We really should move the sched_getcpu() to some more suitable place, but this one-liner fixes this build problem on ancient distros like RHEL5. Cc: Adrian Hunter <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: David Ahern <[email protected]> Cc: Don Zickus <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Stephane Eranian <[email protected]> Cc: Vinson Lee <[email protected]> Link: http://lkml.kernel.org/n/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-18tools build: Change FEATURE_TESTS and FEATURE_DISPLAY to weak bindingWang Nan1-2/+2
Replace strong binding of FEATURE_TESTS and FEATURE_DISPLAY by weak binding. This patch enables other makefiles which include tools/build/Makefile.feature enable only limited feathres to check. Signed-off-by: Wang Nan <[email protected]> Acked-by: Jiri Olsa <[email protected]> Cc: Alexei Starovoitov <[email protected]> Cc: Brendan Gregg <[email protected]> Cc: Daniel Borkmann <[email protected]> Cc: David Ahern <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Masami Hiramatsu <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: [email protected] Cc: Zefan Li <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-18tools lib traceevent: Install libtraceevent.a into libdirWang Nan1-7/+13
Before this patch, 'make install' installs libraries into bindir: $ make install DESTDIR=./tree INSTALL trace_plugins INSTALL libtraceevent.a INSTALL libtraceevent.so $ find ./tree ./tree/ ./tree/usr ./tree/usr/local ./tree/usr/local/bin ./tree/usr/local/bin/libtraceevent.a ./tree/usr/local/bin/libtraceevent.so ... /usr/local/lib( or lib64) should be a better place. This patch replaces 'bin' with libdir. For __LP64__ building, libraries are installed to /usr/local/lib64. For other building, to /usr/local/lib instead. After applying this patch: $ make install DESTDIR=./tree INSTALL trace_plugins INSTALL libtraceevent.a INSTALL libtraceevent.so $ find ./tree ./tree ./tree/usr ./tree/usr/local ./tree/usr/local/lib64 ./tree/usr/local/lib64/libtraceevent.a ./tree/usr/local/lib64/traceevent ./tree/usr/local/lib64/traceevent/plugins ./tree/usr/local/lib64/traceevent/plugins/plugin_mac80211.so ./tree/usr/local/lib64/traceevent/plugins/plugin_hrtimer.so ... ./tree/usr/local/lib64/libtraceevent.so Signed-off-by: Wang Nan <[email protected]> Acked-by: Jiri Olsa <[email protected]> Acked-by: Steven Rostedt <[email protected]> Cc: Alexei Starovoitov <[email protected]> Cc: Brendan Gregg <[email protected]> Cc: Daniel Borkmann <[email protected]> Cc: David Ahern <[email protected]> Cc: Masami Hiramatsu <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: [email protected] Cc: Zefan Li <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-18perf tools: Set vmlinux_path__nr_entries to 0 in vmlinux_path__exitWang Nan1-0/+1
Original vmlinux_path__exit() doesn't revert vmlinux_path__nr_entries to its original state. After the while loop vmlinux_path__nr_entries becomes -1 instead of 0. This makes a problem that, if runs twice, during the second run vmlinux_path__init() will set vmlinux_path[-1] to strdup("vmlinux"), corrupts random memory. This patch reset vmlinux_path__nr_entries to 0 after the while loop. Signed-off-by: Wang Nan <[email protected]> Acked-by: Namhyung Kim <[email protected]> Cc: Alexei Starovoitov <[email protected] Cc: Brendan Gregg <[email protected]> Cc: Daniel Borkmann <[email protected]> Cc: David Ahern <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Masami Hiramatsu <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: [email protected] Cc: Zefan Li <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-18perf tools: Protect dso cache fd with a mutexNamhyung Kim1-26/+72
When dso cache is accessed in multi-thread environment, it's possible to close other dso->data.fd during operation due to open file limit. Protect the file descriptors using a separate mutex. Signed-off-by: Namhyung Kim <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: Andi Kleen <[email protected]> Cc: David Ahern <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephane Eranian <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-18perf symbols: Protect dso cache tree using dso->lockNamhyung Kim1-7/+27
The dso cache is accessed during dwarf callchain unwind and it might be processed concurrently. Protect it under dso->lock. Note that it doesn't protect dso_cache__find(). I think it's safe to access to the cache tree without the lock since we don't delete nodes. It it missed an existing node due to rotation, it'll find it during dso_cache__insert() anyway. Signed-off-by: Namhyung Kim <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: Andi Kleen <[email protected]> Cc: David Ahern <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephane Eranian <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-18perf symbols: Protect dso symbol loading using a mutexNamhyung Kim3-10/+27
Add mutex to protect it from concurrent dso__load(). Signed-off-by: Namhyung Kim <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: Andi Kleen <[email protected]> Cc: David Ahern <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephane Eranian <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-18perf tools: Introduce copyfile_offset() functionNamhyung Kim2-9/+30
The copyfile_offset() function is to copy source data from given offset to a destination file with an offset. It'll be used to build an indexed data file. Signed-off-by: Namhyung Kim <[email protected]> Acked-by: Jiri Olsa <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: Andi Kleen <[email protected]> Cc: David Ahern <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephane Eranian <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-18perf tools: Add rm_rf() utility functionNamhyung Kim2-0/+44
The rm_rf() function does same as the shell command 'rm -rf' which removes all directory entries recursively. Signed-off-by: Namhyung Kim <[email protected]> Acked-by: Jiri Olsa <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: Andi Kleen <[email protected]> Cc: David Ahern <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephane Eranian <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-18perf tools: Elliminate alignment holesArnaldo Carvalho de Melo4-6/+6
perf_evsel: Before: /* size: 320, cachelines: 5, members: 35 */ /* sum members: 304, holes: 3, sum holes: 16 */ After: /* size: 304, cachelines: 5, members: 35 */ /* last cacheline: 48 bytes */ perf_evlist: Before: /* size: 2544, cachelines: 40, members: 17 */ /* sum members: 2533, holes: 2, sum holes: 11 */ /* last cacheline: 48 bytes */ After: /* size: 2536, cachelines: 40, members: 17 */ /* sum members: 2533, holes: 1, sum holes: 3 */ /* last cacheline: 40 bytes */ timechart: Before: /* size: 288, cachelines: 5, members: 21 */ /* sum members: 271, holes: 2, sum holes: 10 */ /* padding: 7 */ /* last cacheline: 32 bytes */ After: /* size: 272, cachelines: 5, members: 21 */ /* sum members: 271, holes: 1, sum holes: 1 */ /* last cacheline: 16 bytes */ thread: Before: /* size: 112, cachelines: 2, members: 15 */ /* sum members: 101, holes: 2, sum holes: 11 */ /* last cacheline: 48 bytes */ After: /* size: 104, cachelines: 2, members: 15 */ /* sum members: 101, holes: 1, sum holes: 3 */ /* last cacheline: 40 bytes */ Cc: Adrian Hunter <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: David Ahern <[email protected]> Cc: Don Zickus <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Stephane Eranian <[email protected]> Link: http://lkml.kernel.org/n/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-18tools include: add __aligned_u64 to types.h.Wang Nan1-0/+4
Following patches will introduce linux/bpf.h to a new libbpf library, which requires definition of __aligned_u64. This patch add it to the common types.h for tools. Signed-off-by: Wang Nan <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: Alexei Starovoitov <[email protected]> Cc: Brendan Gregg <[email protected]> Cc: Daniel Borkmann <[email protected]> Cc: David Ahern <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Masami Hiramatsu <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: [email protected] Cc: Zefan Li <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-18perf probe: Load map before glob matchingWang Nan1-0/+3
Commit 4c859351226c920b227fec040a3b447f0d482af3 ("perf probe: Support glob wildcards for function name") introduces a problem: # /root/perf probe kmem_cache_free Failed to find symbol kmem_cache_free in kernel Error: Failed to add events. The reason is the replacement of map__for_each_symbol_by_name() (by map__for_each_symbol()). Although their names are similar, map__for_each_symbol doesn't call map__load() and dso__sort_by_name() before searching. The missing of map__load() causes this problem because it search symbol before load dso map. This patch ensures map__load() is called before using map__for_each_symbol(). After this patch: # /root/perf probe kmem_cache_free Added new event: probe:kmem_cache_free (on kmem_cache_free%return) You can now use it in all perf tools, such as: perf record -e probe:kmem_cache_free -aR sleep 1 Signed-off-by: Wang Nan <[email protected]> Acked-by: Masami Hiramatsu <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Zefan Li <[email protected]> Cc: [email protected] Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
2015-05-17Merge branch 'linus' into x86/asm, to resolve conflictsIngo Molnar10-48/+76
Conflicts: tools/testing/selftests/x86/Makefile tools/testing/selftests/x86/run_x86_tests.sh
2015-05-16Merge branch 'for-rc' of ↵Linus Torvalds1-8/+0
git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux Pull thermal fixes from Zhang Rui: "Specifics: - fix an issue in intel_powerclamp driver that idle injection target is not accurately maintained on newer Intel CPUs. Package C8 to C10 states are introduced on these CPUs but they were not included in the package c-state residency calculation. From Jacob Pan. - fix a problem that package c-state idle injection was missing on Broadwell server, by adding its id to intel_powerclamp driver. From Jacob Pan. - a couple of small fixes and cleanups from Joe Perches, Mathias Krause, Dan Carpenter and Anand Moon" * 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: tools/thermal: tmon: fixed the 'make install' command thermal: rockchip: fix an error code thermal/powerclamp: fix missing newer package c-states thermal/intel_powerclamp: add id for broadwell server thermal/intel_powerclamp: add __init / __exit annotations thermal: Use bool function return values of true/false not 1/0
2015-05-16Merge tag 'linux-kselftest-4.1-rc4' of ↵Linus Torvalds5-35/+69
git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest Pull kselftest fixes from Shuah Khan: "Urgent fix for Kselftest regression introduced in 4.1-rc1 by the new x86 test due to its hard dependency on 32-bit build environment. A set of 5 patches fix the make kselftest run and kselftest install" * tag 'linux-kselftest-4.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: selftests, x86: Rework x86 target architecture detection selftests, x86: Remove useless run_tests rule selftests/x86: install tests selftest/x86: have no dependency on all when cross building selftest/x86: build both bitnesses