| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Clarify the documentation of pmcstat:
the -d argument should be passed before -p, -s, -P or -S to be taken in account
Differential Revision: https://reviews.freebsd.org/D1011
Reviewed by: adrian, gnn
|
| |
|
|
|
|
|
|
|
|
| |
Add a command line argument (-l) to end event collection after some
number of seconds. The number of seconds may be a fraction.
Submitted by: Julien Charbon <jcharbon@versign.com>
Relnotes: yes
|
|
|
|
|
|
|
|
|
| |
In one case generating callgraph output from a 24MB system-wide sampling
data file took 17.4 seconds on average. Profiling showed pmcstat
spending a lot of time in strcmp, due to hash collisions.
Replacing the XOR-only hash with FNV-1a reduces the run time for my
test by 40%.
|
|
|
|
|
|
|
| |
Add the -a option to pmcstat. This produces a full stack track on the
sampled points. See the man page for details on how this works.
Obtained from: Netflix, Inc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In addition to adding `static' where possible:
- bin/date: Move `retval' into extern.h to make it visible to date.c.
- bin/ed: Move globally used variables into ed.h.
- sbin/camcontrol: Move `verbose' into camcontrol.h and fix shadow warnings.
- usr.bin/calendar: Remove unneeded variables.
- usr.bin/chat: Make `line' local instead of global.
- usr.bin/elfdump: Comment out unneeded function.
- usr.bin/rlogin: Use _Noreturn instead of __dead2.
- usr.bin/tset: Pull `Ospeed' into extern.h.
- usr.sbin/mfiutil: Put global variables in mfiutil.h.
- usr.sbin/pkg: Remove unused `os_corres'.
- usr.sbin/quotaon, usr.sbin/repquota: Remove unused `qfname'.
|
|
|
|
|
|
|
| |
message.
Sponsored by: Intel
MFC after: 3 days
|
|
|
|
| |
MFC after: 3 days
|
|
|
|
|
|
| |
PR: bin/167361
Submitted by: Slawa Olhovchenkov <slw zxy.spb.ru>
Silence from: jkoshy
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New kernel events can be added at various location for sampling or counting.
This will for example allow easy system profiling whatever the processor is
with known tools like pmcstat(8).
Simultaneous usage of software PMC and hardware PMC is possible, for example
looking at the lock acquire failure, page fault while sampling on
instructions.
Sponsored by: NETASQ
MFC after: 1 month
|
|
|
|
|
|
|
|
|
|
|
|
| |
In case of multiple level of inlining all the locations are flattened.
Require recent binutils/addr2line (head works or binutils from ports
with the right $PATH order).
- Multiple fixes in the calltree output (recursion case, ...)
- Fix the calltree top view that previously hide some shared nodes.
Tested with Kcachegrind(kdesdk4)/qcachegrind(head).
Sponsored by: NETASQ
|
|
|
|
| |
Reviewed by: brueffer
|
|
|
|
|
| |
mandatory for ELF binaries so we'll use the segment with offset less then
alignment and align it appropriately (which covers pt_offset == 0 case)
|
|
|
|
|
|
|
| |
error: variable 'current_cpu' set but not used
Approved by: dim, cperciva (mentor, blanket for pre-mentorship already-approved commits)
MFC after: 3 days
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Submitted by: eadler
Approved by: simon
MFC after: 3 days
|
|
|
|
|
|
|
| |
- Do not close stdout or stderr when redirecting to file.
- Correctly handle error code to detect when no buffer available.
MFC after: 1 month
|
|
|
|
|
|
|
|
| |
As the underlying block is 4KB if the PMC throughput is low the measurement
will be reported on the next tick. pmcstat(8) use the modified flush API to
reclaim current buffer before displaying next top.
MFC after: 1 month
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ints. That fixes a first bug where pmcstat wasn't using the old
cpumask_t interface and now also brings the full support for more
than 32 cpus.
While here, make the functions pmcstat_clone_event_descriptor() and
pmcstat_get_cpumask() private to pmcstat.
The problem of assuming cpu dense masks still persists and should be
eventually fixed, as reported by avg.
Tested by: pluknet
Reviewed by: gnn
Approved by: re (kib)
|
|
|
|
|
|
| |
Reported by: Pan Tsu <inyaoo@gmail.com>
Reviewed by: attilio
No objections: gnn
|
| |
|
|
|
|
|
|
|
|
| |
will be spread as small value and then filtered by the threshold.
As a first step solution display the number of event that cannot
be resolved as a valid function location.
MFC after: 1week
|
|
|
|
|
|
| |
- Revert the fix on rtld path that is not necessary.
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will allow top monitoring using socket/ssh tunnelling
of system without local symbols.
client:
pmcstat -R <ip>:<port> -T -r <symbolspath>
monitored device:
pmcstat -Sinstructions -O <ip>:<port>
- Move the file read in the event loop
- Initialize and clean log in all cases
- Preserve global stats value during top refresh
- Fix the rtld/line resolver that ignore '-r' prefix
- Support socket for '-R' (server mode)
- Display the statistics when exiting top mode
|
|
|
|
| |
MFC after: 1 week
|
|
|
|
|
| |
Found with: Coverity Prevent(tm)
MFC after: 1 month
|
|
|
|
|
|
| |
The percentage show is the sum of the cost for the codepath.
MFC after: 1 week
|
|
|
|
| |
MFC after: 3 days
|
|
|
|
| |
MFC after: 3days
|
|
|
|
|
|
| |
Fix exit from top mode when checking if PMC is available.
MFC after: 3 days
|
|
|
|
|
|
|
|
| |
Although groff_mdoc(7) gives another impression, this is the ordering
most widely used and also required by mdocml/mandoc.
Reviewed by: ru
Approved by: philip, ed (mentors)
|
|
|
|
|
| |
- Display sample received per PMCs (or merged PMCs).
- Display percentage vs all samples
|
|
|
|
|
|
| |
This will solve an abort in case of low throughput PMCs.
MFC after: 3days
|
|
|
|
| |
MFC after: 3days
|
|
|
|
|
|
|
|
|
|
|
|
| |
pmc_flush_logfile is now non-blocking and just ask the kernel
to shutdown the file. From that point, no more data is
accepted by the log thread and when the last buffer is flushed
the file is closed.
This will remove a deadlock between pmcstat asking for
flush while it cannot flush the pipe itself.
MFC after: 3 days
|
|
|
|
|
|
|
|
| |
- no display on serial terminal in top mode.
- display alignment for continuation string.
- correct invalid value used for display limit.
MFC after: 3 days
|
| |
|
|
|
|
|
|
|
|
| |
- Kcachegrind (calltree) support with assembly/source
code mapping and call count estimator (-F).
- Top mode for calltree and callgraph plugin (-T).
MFC after: 1 month
|
| |
|
|
|
|
|
|
|
|
|
| |
Fix some wrong usages.
Note: this does not affect generated binaries as this argument is not used.
PR: 137213
Submitted by: Eygene Ryabinkin (initial version)
MFC after: 1 month
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This option prints the list of sampled PCs along with the function name,
the start and end addresses of this where their live within.
Reviewed by: jkoshy
Tested by: gnn
Sponsored by: Nokia
|
|
|
|
| |
them.
|
|
|
|
|
| |
any process scope PMCs.
- Change the -c '*' option to denote non-halted CPUs.
|
| |
|
|
|
|
| |
measurements.
|