platform/upstream/bcc.git
7 years agodocs: Update eBPF features list
Quentin Monnet [Mon, 12 Dec 2016 12:42:51 +0000 (13:42 +0100)]
docs: Update eBPF features list

Update of BPF features list, following the release of kernel 4.9.

7 years agoMerge pull request #818 from ceeaspb/master
4ast [Sun, 11 Dec 2016 02:05:31 +0000 (18:05 -0800)]
Merge pull request #818 from ceeaspb/master

offwaketime: update with get_stackid fixes #437

7 years agoupdate offwaketime with get_stackid
ceeaspb [Sat, 26 Nov 2016 22:36:10 +0000 (22:36 +0000)]
update offwaketime with get_stackid

7 years agoMerge pull request #849 from palmtenor/cppperfevent
4ast [Fri, 9 Dec 2016 23:06:45 +0000 (15:06 -0800)]
Merge pull request #849 from palmtenor/cppperfevent

Expose perf event support in C++ API

7 years agoPerf event example using C++ API
Teng Qin [Fri, 9 Dec 2016 20:57:02 +0000 (12:57 -0800)]
Perf event example using C++ API

7 years agoExpose PMU event support in C++ API
Teng Qin [Fri, 9 Dec 2016 01:46:13 +0000 (17:46 -0800)]
Expose PMU event support in C++ API

7 years agoMerge pull request #846 from palmtenor/improve_buffer
4ast [Fri, 9 Dec 2016 16:40:29 +0000 (08:40 -0800)]
Merge pull request #846 from palmtenor/improve_buffer

Improve C++ API perf buffer polling

7 years agoImprove C++ API perf buffer polling
Teng Qin [Fri, 9 Dec 2016 08:07:55 +0000 (00:07 -0800)]
Improve C++ API perf buffer polling

7 years agoMerge pull request #843 from shodoco/flag
4ast [Fri, 9 Dec 2016 06:34:31 +0000 (22:34 -0800)]
Merge pull request #843 from shodoco/flag

add support for bpf map flags

7 years agoMerge pull request #844 from palmtenor/cleanprog
4ast [Fri, 9 Dec 2016 06:32:46 +0000 (22:32 -0800)]
Merge pull request #844 from palmtenor/cleanprog

Make sure program FDs get cleaned up correctly

7 years agoMake sure programs get cleaned up correctly
Teng Qin [Fri, 9 Dec 2016 02:03:33 +0000 (18:03 -0800)]
Make sure programs get cleaned up correctly

7 years agoMerge pull request #845 from affansyed/master
4ast [Fri, 9 Dec 2016 04:37:38 +0000 (20:37 -0800)]
Merge pull request #845 from affansyed/master

Fix for issue 829 I reported

7 years agofix issue 829
affansyed [Fri, 9 Dec 2016 04:04:52 +0000 (09:04 +0500)]
fix issue 829

Needed to make array initialized to null before bpf_probe_read as the
verifier was rejecting the original code. will probably need to fix the
tutorial as well

7 years agoMerge pull request #1 from iovisor/master
affansyed [Fri, 9 Dec 2016 04:00:08 +0000 (09:00 +0500)]
Merge pull request #1 from iovisor/master

updating my local repo

7 years agoadd support for bpf map flags
Huapeng Zhou [Wed, 7 Dec 2016 02:10:38 +0000 (18:10 -0800)]
add support for bpf map flags

7 years agoMerge pull request #842 from zhiyisun/dev
4ast [Thu, 8 Dec 2016 01:26:37 +0000 (17:26 -0800)]
Merge pull request #842 from zhiyisun/dev

Fix bug of missing to install simple_tc.py

7 years agoSet EXAMPLE_PROGRAMS in one line.
Zhiyi Sun [Thu, 8 Dec 2016 01:24:39 +0000 (09:24 +0800)]
Set EXAMPLE_PROGRAMS in one line.

Signed-off-by: Zhiyi Sun <zhiyisun@gmail.com>
7 years agoMerge branch 'master' into dev
Zhiyi Sun [Thu, 8 Dec 2016 00:57:14 +0000 (08:57 +0800)]
Merge branch 'master' into dev

7 years agoFix bug of missing to install simple_tc.py
Zhiyi Sun [Thu, 8 Dec 2016 00:51:59 +0000 (08:51 +0800)]
Fix bug of missing to install simple_tc.py

examples/networking/CMakeLists.txt set $EXAMPLE_PROGRAMS twice. The
second one(tc_perf_event.py) overwirte the first one(simple_tc.py).

Signed-off-by: Zhiyi Sun <zhiyisun@gmail.com>
7 years agoMerge pull request #840 from zhiyisun/dev
Brenden Blanco [Wed, 7 Dec 2016 02:50:07 +0000 (18:50 -0800)]
Merge pull request #840 from zhiyisun/dev

Add support for aarch64

7 years agoAdd support for aarch64
Zhiyi Sun [Tue, 6 Dec 2016 08:21:37 +0000 (16:21 +0800)]
Add support for aarch64

ABI for aarch64: register x0-x7 are used for parameter and result. In
bcc, there are 6 parameter registers are defined. So use x0-x5 as
parameter. frame pointer, link register, stack pointer and pc are added
in PT_REGS_xx according to arm64 architecture.

syscall number of bpf for aarch64 are defined in Kernel
header uapi/asm-generic/unistd.h.

Signed-off-by: Zhiyi Sun <zhiyisun@gmail.com>
7 years agoMerge pull request #838 from palmtenor/logmsg
4ast [Sat, 3 Dec 2016 01:44:05 +0000 (17:44 -0800)]
Merge pull request #838 from palmtenor/logmsg

Avoid unexpected log message on BPF program load error

7 years agoAvoid unexpected log message on BPF program load error
Teng Qin [Sat, 3 Dec 2016 00:31:00 +0000 (16:31 -0800)]
Avoid unexpected log message on BPF program load error

7 years agoMerge pull request #836 from shodoco/lruhash
4ast [Fri, 2 Dec 2016 04:55:49 +0000 (20:55 -0800)]
Merge pull request #836 from shodoco/lruhash

bcc: add lru_hash and lru_percpu_hash map types

7 years agoAdd lru_hash/lru_percpu_hash to python/lua
Huapeng Zhou [Fri, 2 Dec 2016 04:01:46 +0000 (20:01 -0800)]
Add lru_hash/lru_percpu_hash to python/lua

7 years agoMerge branch 'master' into lruhash
shodoco [Fri, 2 Dec 2016 03:35:19 +0000 (19:35 -0800)]
Merge branch 'master' into lruhash

7 years agobcc: add lru_hash and lru_percpu_hash map types
Huapeng Zhou [Thu, 1 Dec 2016 18:56:36 +0000 (10:56 -0800)]
bcc: add lru_hash and lru_percpu_hash map types

7 years agoMerge pull request #832 from brendangregg/master
4ast [Thu, 1 Dec 2016 05:18:52 +0000 (21:18 -0800)]
Merge pull request #832 from brendangregg/master

profile: -p should match user PID

7 years agoprofile: -p should match user PID
Brendan Gregg [Thu, 1 Dec 2016 04:26:26 +0000 (20:26 -0800)]
profile: -p should match user PID

7 years agoMerge pull request #831 from brendangregg/master
4ast [Thu, 1 Dec 2016 03:50:22 +0000 (19:50 -0800)]
Merge pull request #831 from brendangregg/master

tcplife: reorder logic to catch missed timestamps

7 years agotcplife: reorder logic to catch missed timestamps
Brendan Gregg [Thu, 1 Dec 2016 00:55:45 +0000 (16:55 -0800)]
tcplife: reorder logic to catch missed timestamps

7 years agoMerge pull request #830 from lcp/fix-data_t
4ast [Wed, 30 Nov 2016 16:29:28 +0000 (08:29 -0800)]
Merge pull request #830 from lcp/fix-data_t

hello_perf_output: match the data type of pid

7 years agohello_perf_output: match the data type of pid
Gary Lin [Wed, 30 Nov 2016 09:13:37 +0000 (17:13 +0800)]
hello_perf_output: match the data type of pid

Signed-off-by: Gary Lin <glin@suse.com>
7 years agoMerge pull request #828 from palmtenor/dbgflg
4ast [Wed, 30 Nov 2016 05:48:24 +0000 (21:48 -0800)]
Merge pull request #828 from palmtenor/dbgflg

Remove debug flag override in bcc_exception.h

7 years agoRemove debug flag override in bcc_exception.h
Teng Qin [Wed, 30 Nov 2016 04:11:19 +0000 (20:11 -0800)]
Remove debug flag override in bcc_exception.h

7 years agoMerge pull request #824 from palmtenor/exception_h
4ast [Wed, 30 Nov 2016 03:13:10 +0000 (19:13 -0800)]
Merge pull request #824 from palmtenor/exception_h

Clean up bcc_exception.h

7 years agoUse StatusTuple constructor in mkstatus_
Teng Qin [Wed, 30 Nov 2016 01:09:20 +0000 (17:09 -0800)]
Use StatusTuple constructor in mkstatus_

7 years agoImplement StatusTuple class instead of using std::tuple
Teng Qin [Wed, 30 Nov 2016 00:29:08 +0000 (16:29 -0800)]
Implement StatusTuple class instead of using std::tuple

7 years agoRemove unused headers and Macro
Teng Qin [Tue, 29 Nov 2016 17:08:33 +0000 (09:08 -0800)]
Remove unused headers and Macro

7 years agoMerge pull request #825 from brendangregg/master
4ast [Tue, 29 Nov 2016 22:22:31 +0000 (14:22 -0800)]
Merge pull request #825 from brendangregg/master

biotop.py: fix compiler error on newer kernels

7 years agobiotop.py: fix compiler error on newer kernels
Brendan Gregg [Tue, 29 Nov 2016 19:11:31 +0000 (11:11 -0800)]
biotop.py: fix compiler error on newer kernels

7 years agoMerge pull request #823 from kinvolk/krnowak/kernel-dirs-at-runtime
Brenden Blanco [Tue, 29 Nov 2016 16:35:46 +0000 (08:35 -0800)]
Merge pull request #823 from kinvolk/krnowak/kernel-dirs-at-runtime

Determine kernel dirs at runtime (fix #743)

7 years agoMerge pull request #822 from iovisor/llvm_40_build
4ast [Tue, 29 Nov 2016 16:22:10 +0000 (08:22 -0800)]
Merge pull request #822 from iovisor/llvm_40_build

Add LLVMCoroutines lib for llvm>=4.0 builds

7 years agoDetermine kernel dirs at runtime (fix #743)
Krzesimir Nowak [Wed, 26 Oct 2016 11:00:09 +0000 (13:00 +0200)]
Determine kernel dirs at runtime (fix #743)

As some module build directories split headers between `source/` and
`build/` and this varies between distributions, determine the location
at runtime.

7 years agoAdd LLVMCoroutines lib for llvm>=4.0 builds
Brenden Blanco [Tue, 29 Nov 2016 15:37:30 +0000 (07:37 -0800)]
Add LLVMCoroutines lib for llvm>=4.0 builds

Building bcc against a tip of tree llvm introduces a new link failure,
which is fixed by linking against libLLVMCoroutines (which only exists
in 4.0).

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
7 years agoMerge pull request #821 from palmtenor/adjust_headers
Brenden Blanco [Tue, 29 Nov 2016 09:05:47 +0000 (01:05 -0800)]
Merge pull request #821 from palmtenor/adjust_headers

Improve the structure of exception related header files

7 years agoRename exception.h to bcc_exception.h
Teng Qin [Tue, 29 Nov 2016 05:58:46 +0000 (21:58 -0800)]
Rename exception.h to bcc_exception.h

7 years agoMove StatusTuple definition to exception.h
Teng Qin [Tue, 29 Nov 2016 05:55:32 +0000 (21:55 -0800)]
Move StatusTuple definition to exception.h

7 years agoMerge pull request #820 from brendangregg/master
4ast [Tue, 29 Nov 2016 02:44:16 +0000 (18:44 -0800)]
Merge pull request #820 from brendangregg/master

tcplife.py: Catch passive closed by server, #788

7 years agotcplife.py: Catch passive closed by server, #788
Brendan Gregg [Tue, 29 Nov 2016 01:57:20 +0000 (17:57 -0800)]
tcplife.py: Catch passive closed by server, #788

7 years agoMerge pull request #781 from palmtenor/api
4ast [Tue, 29 Nov 2016 00:30:24 +0000 (16:30 -0800)]
Merge pull request #781 from palmtenor/api

C++ helper class for BCC

7 years agoEliminate rpmlint errors and allow bcc srpm to build on Fedora koji b… (#815)
William Cohen [Mon, 28 Nov 2016 18:51:28 +0000 (13:51 -0500)]
Eliminate rpmlint errors and allow bcc srpm to build on Fedora koji b… (#815)

* Eliminate rpmlint errors and allow bcc srpm to build on Fedora koji build system

The nightly bcc srpm does not build as-is on Fedora 24. To get the
build to work the following changes were made in the bcc.spec file:

-Specify where to find luajit headers and libraries
-Correctly limit the build to the x86_64 architecture
-Add needed build requires so the srpm can build on Fedora koji
-Run ldconfig so shared library information is updated
-Follow spec conventions by putting %changelog at the end of the spec file

* Further refine the bcc.spec file

Make the following improvements to the gcc.spec file:

-Use local_clang_static variable to allow building with locally installed clang
-Adjust build requires to include nucurses-devel and make
-Put the subpackage descriptions and file list in a more logical order
-Correct the binary rpm dependencies for the subpackages

7 years agoExamples of using BCC C++ API
Teng Qin [Wed, 23 Nov 2016 20:23:03 +0000 (12:23 -0800)]
Examples of using BCC C++ API

7 years agoBasic BCC C++ API
Teng Qin [Wed, 23 Nov 2016 20:23:03 +0000 (12:23 -0800)]
Basic BCC C++ API

7 years agoAdd helper method to exception.h
Teng Qin [Wed, 23 Nov 2016 20:23:03 +0000 (12:23 -0800)]
Add helper method to exception.h

7 years agoInstall exception.h and common.h
Teng Qin [Wed, 23 Nov 2016 20:23:03 +0000 (12:23 -0800)]
Install exception.h and common.h

7 years agoUpdate .clang-format configs
Teng Qin [Wed, 23 Nov 2016 20:23:03 +0000 (12:23 -0800)]
Update .clang-format configs

7 years agoMerge pull request #817 from iovisor/clang_c_fixes
4ast [Thu, 24 Nov 2016 00:51:08 +0000 (16:51 -0800)]
Merge pull request #817 from iovisor/clang_c_fixes

Fixup test errors in clang, c api

7 years agoFixup test errors in clang, c api
Brenden Blanco [Thu, 24 Nov 2016 00:26:01 +0000 (16:26 -0800)]
Fixup test errors in clang, c api

Some errors seem to have cropped up due to updating kernels and clang
library versions.
1. test_c_api fails on kernels (seen on fedora 4.9) where startup_64
doesn't start at a particular address. Simplify the test to hopefully
work in more systems.
2. The lua and python test_clang did a dereference on a particular bio
field, which has been removed. Pick a different field that is more
uniquitous.
3. test_xlate1 was generating code where the verified pointer spilled.
Rewrite the example to store the result on the stack.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
7 years agoMerge pull request #813 from goldshtn/trace-usdt-pid-fix
4ast [Fri, 18 Nov 2016 23:23:51 +0000 (15:23 -0800)]
Merge pull request #813 from goldshtn/trace-usdt-pid-fix

trace: Avoid passing -1 as the pid to USDT

7 years agodocs: Fix typos (#811)
4ast [Mon, 14 Nov 2016 17:31:28 +0000 (09:31 -0800)]
docs: Fix typos (#811)

7 years agodocs: Fix typos
Jakub Wilk [Mon, 14 Nov 2016 09:49:35 +0000 (10:49 +0100)]
docs: Fix typos

7 years agotrace: Avoid passing -1 as the pid to USDT
Sasha Goldshtein [Sun, 13 Nov 2016 13:07:38 +0000 (05:07 -0800)]
trace: Avoid passing -1 as the pid to USDT

When the `-p` switch is used with `trace`, it would set
the tgid to the value passed to `-p` and set the pid to
-1. The result would be incorrect logic that passed the -1
pid value to the `USDT` context constructor, which fails
for probes that require the pid to enable (because they
have a semaphore that needs a poke). This commit fixes it.

7 years agofix some typos (#810)
Taekho Nam [Fri, 11 Nov 2016 16:57:35 +0000 (01:57 +0900)]
fix some typos (#810)

7 years agoFix Tracepoint example (#809)
Teng Qin [Fri, 11 Nov 2016 16:56:58 +0000 (08:56 -0800)]
Fix Tracepoint example (#809)

7 years agoMerge pull request #808 from goldshtn/close-table-fd-fix
Brenden Blanco [Wed, 9 Nov 2016 20:04:42 +0000 (12:04 -0800)]
Merge pull request #808 from goldshtn/close-table-fd-fix

cc, python: Clean up BPF module and tables

7 years agocc, python: Clean up BPF module and tables
Sasha Goldshtein [Wed, 9 Nov 2016 23:05:50 +0000 (15:05 -0800)]
cc, python: Clean up BPF module and tables

When the `BPFModule` object is destroyed, shared tables
were closed, but non-shared tables were not. Add `close`
call to close non-shared tables in `~BPFModule`.

Make sure the `BPF.cleanup` function in the Python module
calls `bpf_module_destroy` to clean up the module. Otherwise,
we have hanging table fds that aren't destroyed.

Fixes #806. This would have been an issue for any tool
that repeatedly runs a BPF program with new maps. It's just
that most tools we have haven't exhibited this behavior.

7 years agoMerge pull request #807 from markdrayton/perf-pid-map
Brenden Blanco [Wed, 9 Nov 2016 20:04:29 +0000 (12:04 -0800)]
Merge pull request #807 from markdrayton/perf-pid-map

Make bcc_symcache_new(tid) work with symbols from /tmp/perf-pid.map

7 years agoMake bcc_symcache_new(tid) work with symbols from /tmp/perf-pid.map
Mark Drayton [Sun, 6 Nov 2016 23:35:50 +0000 (23:35 +0000)]
Make bcc_symcache_new(tid) work with symbols from /tmp/perf-pid.map

7 years agoMerge pull request #803 from dark/fix-warnings
Brenden Blanco [Tue, 8 Nov 2016 21:14:14 +0000 (22:14 +0100)]
Merge pull request #803 from dark/fix-warnings

Fix warnings covered by -Wdelete-non-virtual-dtor

7 years agoFix warnings covered by -Wdelete-non-virtual-dtor
Marco Leogrande [Tue, 8 Nov 2016 17:23:20 +0000 (09:23 -0800)]
Fix warnings covered by -Wdelete-non-virtual-dtor

The warnings were:

 src/cc/bcc_syms.cc: In function ‘void bcc_free_symcache(void*, int)’:
 src/cc/bcc_syms.cc:217:40: warning: deleting object of polymorphic class type ‘KSyms’
                            which has non-virtual destructor might cause undefined behaviour
                            [-Wdelete-non-virtual-dtor]
     delete static_cast<KSyms*>(symcache);
                                        ^
 src/cc/bcc_syms.cc:219:43: warning: deleting object of polymorphic class type ‘ProcSyms’
                            which has non-virtual destructor might cause undefined behaviour
                            [-Wdelete-non-virtual-dtor]
     delete static_cast<ProcSyms*>(symcache);
                                           ^

Fix the warnings by defining a virtual destructor for the base class SymbolCache.

Signed-off-by: Marco Leogrande <marcol@plumgrid.com>
7 years agoRemove superfluous word (#802)
Jan-Erik Rediger [Mon, 7 Nov 2016 16:08:03 +0000 (17:08 +0100)]
Remove superfluous word (#802)

7 years agoFix argument type for increment() in documentation (#794)
Paul Chaignon [Sat, 5 Nov 2016 19:00:30 +0000 (20:00 +0100)]
Fix argument type for increment() in documentation (#794)

7 years agoFix typo in documentation (#801)
Jan-Erik Rediger [Sat, 5 Nov 2016 18:55:32 +0000 (19:55 +0100)]
Fix typo in documentation (#801)

7 years agotrace: add pid/tid filtering, fix symbolizing, misc nits (#798)
Mark Drayton [Thu, 3 Nov 2016 15:36:29 +0000 (15:36 +0000)]
trace: add pid/tid filtering, fix symbolizing, misc nits (#798)

* support filtering by process ID (-p) or thread ID (-t); previously -p
  actually filtered on thread ID (aka "pid" in kernel-speak)
* include process and thread ID in output
* flip order of user and kernel stacks to flow more naturally
* resolve symbols using process ID instead of thread ID so only one symbol
  cache is instantiated per process
* misc aesthetic fixes here and there

7 years agoMerge pull request #795 from mslusarz/install-perf_reader.h
Brenden Blanco [Wed, 2 Nov 2016 16:03:53 +0000 (17:03 +0100)]
Merge pull request #795 from mslusarz/install-perf_reader.h

perf_reader: install perf_reader.h

7 years agoMerge pull request #796 from palmtenor/sym_free
Brenden Blanco [Wed, 2 Nov 2016 05:35:30 +0000 (06:35 +0100)]
Merge pull request #796 from palmtenor/sym_free

Expose destruction of SymbolCache in libbcc

7 years agoExpose destruction of SymbolCache in libbcc
Teng Qin [Mon, 31 Oct 2016 21:20:43 +0000 (14:20 -0700)]
Expose destruction of SymbolCache in libbcc

7 years agoperf_reader: install perf_reader.h
Marcin Ślusarz [Sun, 30 Oct 2016 13:20:07 +0000 (14:20 +0100)]
perf_reader: install perf_reader.h

Ref: iovisor/bcc#778

7 years agoUse headers from BCC in installed files (#793)
Teng Qin [Sun, 30 Oct 2016 06:00:02 +0000 (23:00 -0700)]
Use headers from BCC in installed files (#793)

7 years agofunccount: Bail early if there are no matching functions (#792)
Sasha Goldshtein [Fri, 28 Oct 2016 20:45:08 +0000 (23:45 +0300)]
funccount: Bail early if there are no matching functions (#792)

funccount now bails early with an error if there are no
functions matching the specified pattern (the same applies
to tracepoints and USDT probes). For example:

```
No functions matched by pattern ^sched:sched_fork$
```

Fixes #789.

7 years agoupdate tools pic (#787)
Brendan Gregg [Thu, 27 Oct 2016 21:05:40 +0000 (14:05 -0700)]
update tools pic (#787)

7 years agoMerge pull request #780 from goldshtn/kprobe-funccount
Brenden Blanco [Wed, 26 Oct 2016 02:54:34 +0000 (19:54 -0700)]
Merge pull request #780 from goldshtn/kprobe-funccount

funccount: Fix on-CPU hang when attaching to SyS_*

7 years agoAdd installation instructions for Gentoo (#785)
Marco Leogrande [Tue, 25 Oct 2016 21:15:48 +0000 (14:15 -0700)]
Add installation instructions for Gentoo (#785)

Signed-off-by: Marco Leogrande <marcol@plumgrid.com>
7 years agopython: Grab all keys before zeroing
Sasha Goldshtein [Tue, 25 Oct 2016 14:27:38 +0000 (07:27 -0700)]
python: Grab all keys before zeroing

To avoid a potential race with the key zeroing modifying
the next hash key retrieved by the loop in `Table.zero()`,
retrieve all the keys in user space first before starting
the zeroing loop. See discussion on #780.

Tested with `funccount 'SyS_*' -i 1` while running a heavy
read/write test application (`dd`) in the background for
several minutes with no visible issues.

7 years agofunccount: Switch to BPF array instead of hash
Sasha Goldshtein [Tue, 25 Oct 2016 14:18:24 +0000 (07:18 -0700)]
funccount: Switch to BPF array instead of hash

Because we know the number of probes in advance before
attaching them, we can simply preinitialize a fixed-size
array instead of using a BPF map. This avoids potential
deadlocks/hangs/race conditions with the Python program
and internally in the kernel. See also #415, #665, #233
for more discussion.

7 years agoUpdate profile.py to use new perf support (#776)
Brendan Gregg [Fri, 21 Oct 2016 05:50:08 +0000 (22:50 -0700)]
Update profile.py to use new perf support (#776)

* profile.py to use new perf support

* Minor adjustments to llcstat docs

7 years agofix junk filenames (#775)
Brendan Gregg [Fri, 21 Oct 2016 04:46:09 +0000 (21:46 -0700)]
fix junk filenames (#775)

7 years agoMerge pull request #770 from palmtenor/pmu_api
Brenden Blanco [Fri, 21 Oct 2016 01:30:07 +0000 (18:30 -0700)]
Merge pull request #770 from palmtenor/pmu_api

Add basic support for BPF perf event

7 years agoAdd example and man file for llcstat
Teng Qin [Thu, 20 Oct 2016 23:50:06 +0000 (16:50 -0700)]
Add example and man file for llcstat

7 years agoExample for using BPF perf event
Teng Qin [Wed, 19 Oct 2016 00:22:27 +0000 (17:22 -0700)]
Example for using BPF perf event

7 years agofunccount: Do not prepopulate location cache
Sasha Goldshtein [Thu, 20 Oct 2016 23:19:12 +0000 (16:19 -0700)]
funccount: Do not prepopulate location cache

Avoiding the prepopulation of the location cache allows us
to get rid of the `zero()` call at the end of each interval,
which would hang the program at full CPU. Replaced the
prepopulation with a `lookup_or_init` and the `zero()` call
with a call to `clear()`.

7 years agopython: Filter duplicate in get_kprobe_functions
Sasha Goldshtein [Thu, 20 Oct 2016 23:18:07 +0000 (16:18 -0700)]
python: Filter duplicate in get_kprobe_functions

`BPF.get_kprobe_functions` does not filter duplicates, and
as a result may return the same function name more than
once if it appears in /sys/kernel/debug/tracing/available_filter_functions
more than once. Change the function's behavior to filter
out duplicates before returning, so we don't end up
attaching the same kprobe more than once.

7 years agoPython API for BPF perf event
Teng Qin [Tue, 18 Oct 2016 23:45:41 +0000 (16:45 -0700)]
Python API for BPF perf event

7 years agoAdd bpf_attach_perf_event in libbpf
Teng Qin [Tue, 18 Oct 2016 23:06:57 +0000 (16:06 -0700)]
Add bpf_attach_perf_event in libbpf

7 years agoAdd BPF_PROG_TYPE_PERF_EVENT to bpf_prog_type enum
Teng Qin [Tue, 18 Oct 2016 22:20:18 +0000 (15:20 -0700)]
Add BPF_PROG_TYPE_PERF_EVENT to bpf_prog_type enum

7 years agoMerge pull request #772 from goldshtn/strcmp
Brendan Gregg [Thu, 20 Oct 2016 03:06:51 +0000 (20:06 -0700)]
Merge pull request #772 from goldshtn/strcmp

trace, argdist: STRCMP helper function

7 years agoMerge branch 'master' into strcmp
Brendan Gregg [Thu, 20 Oct 2016 02:03:17 +0000 (19:03 -0700)]
Merge branch 'master' into strcmp

7 years agoadd tcplife (#773)
Brendan Gregg [Thu, 20 Oct 2016 01:55:10 +0000 (18:55 -0700)]
add tcplife (#773)

7 years agoadd reset-trace (#766)
Brendan Gregg [Thu, 20 Oct 2016 01:48:17 +0000 (18:48 -0700)]
add reset-trace (#766)