- 13 Nov, 2016 1 commit
-
-
Sasha Goldshtein authored
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.
-
- 14 Nov, 2016 2 commits
-
-
4ast authored
-
Jakub Wilk authored
-
- 11 Nov, 2016 2 commits
-
-
Taekho Nam authored
-
Teng Qin authored
-
- 09 Nov, 2016 4 commits
-
-
Brenden Blanco authored
cc, python: Clean up BPF module and tables
-
Sasha Goldshtein authored
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.
-
Brenden Blanco authored
Make bcc_symcache_new(tid) work with symbols from /tmp/perf-pid.map
-
Mark Drayton authored
-
- 08 Nov, 2016 2 commits
-
-
Brenden Blanco authored
Fix warnings covered by -Wdelete-non-virtual-dtor
-
Marco Leogrande authored
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>
-
- 07 Nov, 2016 1 commit
-
-
Jan-Erik Rediger authored
-
- 05 Nov, 2016 2 commits
-
-
Paul Chaignon authored
-
Jan-Erik Rediger authored
-
- 03 Nov, 2016 1 commit
-
-
Mark Drayton authored
* 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
-
- 02 Nov, 2016 2 commits
-
-
Brenden Blanco authored
perf_reader: install perf_reader.h
-
Brenden Blanco authored
Expose destruction of SymbolCache in libbcc
-
- 31 Oct, 2016 1 commit
-
-
Teng Qin authored
-
- 30 Oct, 2016 2 commits
-
-
Marcin Ślusarz authored
Ref: iovisor/bcc#778
-
Teng Qin authored
-
- 28 Oct, 2016 1 commit
-
-
Sasha Goldshtein authored
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.
-
- 27 Oct, 2016 1 commit
-
-
Brendan Gregg authored
-
- 26 Oct, 2016 1 commit
-
-
Brenden Blanco authored
funccount: Fix on-CPU hang when attaching to SyS_*
-
- 25 Oct, 2016 3 commits
-
-
Marco Leogrande authored
Signed-off-by: Marco Leogrande <marcol@plumgrid.com>
-
Sasha Goldshtein authored
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.
-
Sasha Goldshtein authored
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.
-
- 21 Oct, 2016 3 commits
-
-
Brendan Gregg authored
* profile.py to use new perf support * Minor adjustments to llcstat docs
-
Brendan Gregg authored
-
Brenden Blanco authored
Add basic support for BPF perf event
-
- 20 Oct, 2016 11 commits
-
-
Teng Qin authored
-
Teng Qin authored
-
Sasha Goldshtein authored
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()`.
-
Sasha Goldshtein authored
`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.
-
Teng Qin authored
-
Teng Qin authored
-
Teng Qin authored
-
Brendan Gregg authored
trace, argdist: STRCMP helper function
-
Brendan Gregg authored
-
Brendan Gregg authored
-
Brendan Gregg authored
-