summaryrefslogtreecommitdiffstats
path: root/lib/libpmc
Commit message (Collapse)AuthorAgeFilesLines
...
* Replace PMC-dependent content with references tojkoshy2008-09-161-3100/+25
| | | | the appropriate manual pages.
* Build and install PMC-dependent manual pages.jkoshy2008-09-161-0/+8
|
* Fix a typo.jkoshy2008-09-161-1/+1
|
* Move PMC documentation to separate manual pages, one per PMC class.jkoshy2008-09-165-0/+3520
|
* Move TSC specific PMC information to its own manual page.jkoshy2008-09-161-0/+79
|
* Correct an event name alias: event "k7-dc-misses" does not supportjkoshy2008-09-161-1/+1
| | | | a unitmask.
* - Document Pentium and Pentium MMX events.jkoshy2008-03-141-2/+338
| | | | - Update (c) years and the manual page's date.
* Bring the behaviour of pmc_capabilities() and pmc_width() in line withjkoshy2008-03-121-3/+5
| | | | | | documentation: set 'errno' and return -1 in case of an error. Update (c) years.
* Describe return values from pmc_ncpu() and pmc_npmc() better.jkoshy2008-03-121-1/+4
|
* Correct a typo.jkoshy2008-02-031-1/+1
|
* Improve style(9) compliance and trim a long text line.jkoshy2007-12-071-128/+109
|
* Add callchain parsing to -lpmc.jkoshy2007-12-032-4/+36
| | | | Sponsored by: FreeBSD Foundation and Google Inc.
* Replace a spurious cross-reference to hwpmc(4) with correct text.jkoshy2007-12-031-4/+2
|
* - Add an overview of the pmc(3) API.jkoshy2007-11-251-532/+331
| | | | | - Defer detailed descriptions of individual functions in the API to function-specific manual pages.
* Move the following functions into their own manual pages:jkoshy2007-11-258-16/+772
| | | | | | | | | | | - pmc_attach(), pmc_detach(). - pmc_capabilities(), pmc_cpuinfo(), pmc_ncpu(), pmc_npmc(), pmc_pmcinfo(), pmc_width(). - pmc_get_driver_stats(). - pmc_get_msr(). - pmc_read(), pmc_rw(), pmc_write(). - pmc_set(). - pmc_start(), pmc_stop().
* - Describe function pmc_init() in its own manual page.jkoshy2007-11-253-5/+195
| | | | | - Describe functions pmc_configure_logfile(), pmc_flush_logfile() and pmc_writelog() in their own manual page.
* Describe convenience functions `pmc_name_of_{capability,class,cputype,jkoshy2007-11-242-7/+147
| | | | disposition,event,mode,state}' in their own manual page.
* Describe pmc_event_names_of_class() in its own manual page.jkoshy2007-11-232-2/+77
|
* Describe pmc_enable() and pmc_disable() in their own manual page.jkoshy2007-11-232-3/+101
|
* Describe pmc_allocate() and pmc_release() in their own manual page.jkoshy2007-11-232-3/+186
|
* Fix a bug in the description of the "p6-div" event. [1]jkoshy2007-04-121-2/+4
| | | | | | | | Update the description of the "p6-div" and "p6-mul" events according to the "Intel(r) 64 and IA-32 Architectures Software Developers Manual Volume 3B: System Programming Guide, Part 2, November 2006". Reported by: Harald Servat <redcrash at gmail dot com> [1]
* Correct a typo in an event name alias.jkoshy2007-04-111-1/+1
| | | | Reported by: Harald Servat <redcrash at gmail dot com>
* Clarify memory management rules for pmc_cpuinfo().jkoshy2007-03-261-1/+4
| | | | Suggested by: "Harald Servat" <redcrash at gmail dot com>
* Markup fixes.ru2006-09-171-1/+1
|
* MFP4: Support for profiling dynamically loaded objects.jkoshy2006-03-263-26/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kernel changes: Inform hwpmc of executable objects brought into the system by kldload() and mmap(), and of their removal by kldunload() and munmap(). A helper function linker_hwpmc_list_objects() has been added to "sys/kern/kern_linker.c" and is used by hwpmc to retrieve the list of currently loaded kernel modules. The unused `MAPPINGCHANGE' event has been deprecated in favour of separate `MAP_IN' and `MAP_OUT' events; this change reduces space wastage in the log. Bump the hwpmc's ABI version to "2.0.00". Teach hwpmc(4) to handle the map change callbacks. Change the default per-cpu sample buffer size to hold 32 samples (up from 16). Increment __FreeBSD_version. libpmc(3) changes: Update libpmc(3) to deal with the new events in the log file; bring the pmclog(3) manual page in sync with the code. pmcstat(8) changes: Introduce new options to pmcstat(8): "-r" (root fs path), "-M" (mapfile name), "-q"/"-v" (verbosity control). Option "-k" now takes a kernel directory as its argument but will also work with the older invocation syntax. Rework string handling in pmcstat(8) to use an opaque type for interned strings. Clean up ELF parsing code and add support for tracking dynamic object mappings reported by a v2.0.00 hwpmc(4). Report statistics at the end of a log conversion run depending on the requested verbosity level. Reviewed by: jhb, dds (kernel parts of an earlier patch) Tested by: gallatin (earlier patch)
* Update the pmc(3) manual page's date string and freshen the year in the (c) ↵jkoshy2006-03-202-3/+3
| | | | | | line for pmc.3 and libpmc.c.
* Add an alias 'unhalted-cycles' denoting cycles where the CPU isjkoshy2006-02-252-0/+6
| | | | not in a halt or sleep state.
* Fix prototypes.ru2005-11-241-5/+5
|
* -mdoc sweep.ru2005-11-172-11/+11
|
* Add COMPATIBILITY and HISTORY sections.jkoshy2005-07-211-0/+22
| | | | MFC after: 3 days
* Catch with the source code. Sort a list alphabetically. Add ajkoshy2005-07-211-6/+27
| | | | | | HISTORY section. MFC after: 3 days
* - Remove MLINKS to nonexistant manpagesbrueffer2005-07-141-1/+0
| | | | | | | - Change some section numbers to match reality - For MLINKS to manpages from ports, mention which port installs them MFC after: 3 days
* Fix a bug in pmclog_read() that causes it to return with a falsejkoshy2005-07-091-2/+15
| | | | | | error when a log record crosses an internal buffer boundary. Approved by: re (scottl)
* - Update the CPU version check to recognize P4/EMT64 CPUs. [1]jkoshy2005-07-031-7/+12
| | | | | | | | | - Allow libpmc(3) to support P4/EMT64 PMCs on the amd64 architecture and AMD K8 PMCs on the i386. [2] Submitted by: ps [1] Pointy hat: myself [2] Approved by: re (scottl)
* MFP4:jkoshy2005-06-302-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - pmcstat(8) gprof output mode fixes: lib/libpmc/pmclog.{c,h}, sys/sys/pmclog.h: + Add a 'is_usermode' field to the PMCLOG_PCSAMPLE event + Add an 'entryaddr' field to the PMCLOG_PROCEXEC event, so that pmcstat(8) can determine where the runtime loader /libexec/ld-elf.so.1 is getting loaded. sys/kern/kern_exec.c: + Use a local struct to group the entry address of the image being exec()'ed and the process credential changed flag to the exec handling hook inside hwpmc(4). usr.sbin/pmcstat/*: + Support "-k kernelpath", "-D sampledir". + Implement the ELF bits of 'gmon.out' profile generation in a new file "pmcstat_log.c". Move all log related functions to this file. + Move local definitions and prototypes to "pmcstat.h" - Other bug fixes: + lib/libpmc/pmclog.c: correctly handle EOF in pmclog_read(). + sys/dev/hwpmc_mod.c: unconditionally log a PROCEXIT event to all attached PMCs when a process exits. + sys/sys/pmc.h: correct a function prototype. + Improve usage checks in pmcstat(8). Approved by: re (blanket hwpmc)
* - Tidy up the markup.ru2005-06-241-190/+402
| | | | | | | | | | - Clarify the sections on "Cascading P4 PMCs" and "Precise Event Based Sampling" (1) - Bump document date. Reviewed by: jkoshy Submitted by: jkoshy (1) Approved by: re (blanket)
* Tidy up the markup.ru2005-06-241-12/+17
| | | | | Reviewed by: jkoshy Approved by: re (blanket)
* Fix tinderbox breakage.jkoshy2005-06-101-4/+13
|
* MFP4:jkoshy2005-06-097-753/+1833
| | | | | | | | | | | | | | | | - Implement sampling modes and logging support in hwpmc(4). - Separate MI and MD parts of hwpmc(4) and allow sharing of PMC implementations across different architectures. Add support for P4 (EMT64) style PMCs to the amd64 code. - New pmcstat(8) options: -E (exit time counts) -W (counts every context switch), -R (print log file). - pmc(3) API changes, improve our ability to keep ABI compatibility in the future. Add more 'alias' names for commonly used events. - bug fixes & documentation.
* Add convenience APIs pmc_width() and pmc_capabilities() to -lpmc.jkoshy2005-05-014-1/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Have pmcstat(8) and pmccontrol(8) use these APIs. Return PMC class-related constants (PMC widths and capabilities) with the OP GETCPUINFO call leaving OP PMCINFO to return only the dynamic information associated with a PMC (i.e., whether enabled, owner pid, reload count etc.). Allow pmc_read() (i.e., OPS PMCRW) on active self-attached PMCs to get upto-date values from hardware since we can guarantee that the hardware is running the correct PMC at the time of the call. Bug fixes: - (x86 class processors) Fix a bug that prevented an RDPMC instruction from being recognized as permitted till after the attached process had context switched out and back in again after a pmc_start() call. Tighten the rules for using RDPMC class instructions: a GETMSR OP is now allowed only after an OP ATTACH has been done by the PMC's owner to itself. OP GETMSR is not allowed for PMCs that track descendants, for PMCs attached to processes other than their owner processes. - (P4/HTT processors only) Fix a bug that caused the MI and MD layers to get out of sync. Add a new MD operation 'get_config()' as part of this fix. - Allow multiple system-mode PMCs at the same row-index but on different CPUs to be allocated. - Reject allocation of an administratively disabled PMC. Misc. code cleanups and refactoring. Improve a few comments.
* Note events affected by processor errata.jkoshy2005-04-231-0/+25
|
* Add event aliases for P6 and K8 PMCs.jkoshy2005-04-211-17/+31
|
* o Do not include <machine/pmc_mdep.h>. It's automaticly included formarcel2005-04-201-9/+9
| | | | | | | | | | | | us when <sys/pmc.h> is included. o Replace "#if __i386__" and "#if __amd64__" with the equivalent of "#ifdef __i386__" and "#ifdef __amd64__" (resp.) These tokens are not defined on all platforms. o Conditionally compile pmc_parse_mask() on i386 and amd64 only. It's only referenced there. This will change when support for other platforms is added, of course. Ok'd by: jkoshy@
* Remove extra Id keyword.jkoshy2005-04-201-2/+0
|
* Remove superfluous CFLAGS lines. Use the conditional '?=' constructjkoshy2005-04-191-2/+0
| | | | | | for WARNS lines. Submitted by: ru
* Bring a working snapshot of hwpmc(4), its associated libraries, userland ↵jkoshy2005-04-194-0/+5348
utilities and documentation into -CURRENT. Bump FreeBSD_version. Reviewed by: alc, jhb (kernel changes)
OpenPOWER on IntegriCloud