#
339771 |
|
26-Oct-2018 |
mmacy |
fix up more issues introduced by failing to have run TB before r339767
|
#
339769 |
|
26-Oct-2018 |
mmacy |
fix i386 breakage caused by r339767
|
#
339767 |
|
26-Oct-2018 |
mmacy |
hwpmc: Enable hwpmc support for AMD Family 17H devices
Adds new counters and events for family 17H devices. Adds libpmc support for family 17H devices.
Direct commit to 11 as this is supported by way of JSON counter descriptions on 12 & HEAD.
Submitted by: Girish Nandibasappa Differential Revision: https://reviews.freebsd.org/D17464
|
#
331722 |
|
29-Mar-2018 |
eadler |
Revert r330897:
This was intended to be a non-functional change. It wasn't. The commit message was thus wrong. In addition it broke arm, and merged crypto related code.
Revert with prejudice.
This revert skips files touched in r316370 since that commit was since MFCed. This revert also skips files that require $FreeBSD$ property changes.
Thank you to those who helped me get out of this mess including but not limited to gonzo, kevans, rgrimes.
Requested by: gjb (re)
|
#
330897 |
|
14-Mar-2018 |
eadler |
Partial merge of the SPDX changes
These changes are incomplete but are making it difficult to determine what other changes can/should be merged.
No objections from: pfg
|
#
308758 |
|
17-Nov-2016 |
avg |
MFC r308101: hwpmc: fix a race between amd_stop_pmc and amd_intr
|
#
302408 |
|
07-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
298431 |
|
21-Apr-2016 |
pfg |
sys: use our nitems() macro when param.h is available.
This should cover all the remaining cases in the kernel.
Discussed in: freebsd-current
|
#
282658 |
|
08-May-2015 |
jhb |
Convert hwpmc(4) debug printfs over to KTR.
Differential Revision: https://reviews.freebsd.org/D2487 Reviewed by: davide, emaste MFC after: 2 weeks Sponsored by: Norse Corp, Inc.
|
#
282641 |
|
08-May-2015 |
jhb |
Move hwpmc(4) debugging code under a new HWPMC_DEBUG option instead of the broader DEBUG option.
Reviewed by: emaste MFC after: 2 weeks Sponsored by: Norse Corp, Inc.
|
#
240650 |
|
18-Sep-2012 |
avg |
hwpmc amd_pcpu_fini: fix a bug in code locked under DEBUG
MFC after: 16 days
|
#
233628 |
|
28-Mar-2012 |
fabient |
Add software PMC support.
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
|
#
229076 |
|
31-Dec-2011 |
dim |
In sys/dev/hwpmc/hwpmc_amd.c, fix a clang warning about invalid enum conversions.
Reviewed by: jkoshy MFC after: 1 week
|
#
185555 |
|
02-Dec-2008 |
jkoshy |
- Efficiency tweak: when checking for PMC overflows, only go to hardware for PMCs that have been configured for sampling.
- Bug fix: acknowledge PMC hardware overflows irrespective of the the (software) PMC's state.
|
#
184992 |
|
15-Nov-2008 |
jkoshy |
Correct an indexing error (a change missed out in #184802).
|
#
184802 |
|
09-Nov-2008 |
jkoshy |
- Separate PMC class dependent code from other kinds of machine dependencies. A 'struct pmc_classdep' structure describes operations on PMCs; 'struct pmc_mdep' contains one or more 'struct pmc_classdep' structures depending on the CPU in question.
Inside PMC class dependent code, row indices are relative to the PMCs supported by the PMC class; MI code in "hwpmc_mod.c" translates global row indices before invoking class dependent operations.
- Augment the OP_GETCPUINFO request with the number of PMCs present in a PMC class.
- Move code common to Intel CPUs to file "hwpmc_intel.c".
- Move TSC handling to file "hwpmc_tsc.c".
|
#
184205 |
|
23-Oct-2008 |
des |
Retire the MALLOC and FREE macros. They are an abomination unto style(9).
MFC after: 3 months
|
#
183266 |
|
22-Sep-2008 |
jkoshy |
Support sparsely numbered CPUs.
Requested by: obrien, alfred (long ago)
|
#
177344 |
|
18-Mar-2008 |
adrian |
Sign-extend the 48-bit AMD PMC counter before treating it to a 64-bit 2's compliment.
The 2's compliment transform is done so a "count down" sampling interval can be converted into a "count up" PMC value. a 2's complimented 'count down' value is written to the PMC counter; then the read-back counter is reverted via another 2's compliment.
PR: kern/121660 Reviewed by: jkoshy Approved by: jkoshy MFC after: 1 week
|
#
177343 |
|
18-Mar-2008 |
adrian |
Fix the debugging output - the '0x' was duplicated from the %p option.
|
#
174395 |
|
07-Dec-2007 |
jkoshy |
Kernel and hwpmc(4) support for callchain capture.
Sponsored by: FreeBSD Foundation and Google Inc.
|
#
153110 |
|
05-Dec-2005 |
ru |
Fix -Wundef warnings found when compiling i386 LINT, GENERIC and custom kernels.
|
#
150050 |
|
12-Sep-2005 |
jkoshy |
Process one NMI interrupt per handler invocation as the processor 'buffers' pending NMIs from multiple interrupting PMCs and delivers them serially.
Reported by: Olivier Crameri <olivier.crameri@epfl.ch> MFC after: 3 days
|
#
149527 |
|
27-Aug-2005 |
jkoshy |
Re-enable sampling on the AMD64.
|
#
149360 |
|
22-Aug-2005 |
jkoshy |
Turn off sampling modes on the AMD64 till the time I can track down the reason for the double fault seen when sampling under load.
MFC after: 3 days
|
#
147867 |
|
09-Jul-2005 |
jkoshy |
sys/dev/hwpmc/hwpmc_{amd,piv,ppro}.c: - Update driver interrupt statistics correctly.
sys/sys/pmc.h, sys/dev/hwpmc/hwpmc_mod.c: - Fix a bug affecting debug printfs. - Move the 'stalled' flag from being in a bit in the 'pm_flags' field of a 'struct pmc' to a field of its own in the same structure. This flag is updated from the NMI handler and keeping it separate makes it easier to avoid races with other parts of the code.
sys/dev/hwpmc/hwpmc_logging.c: - Do arithmetic with 'uintptr_t' types rather that casting to and from 'char *'.
Approved by: re (scottl)
|
#
147510 |
|
21-Jun-2005 |
jkoshy |
Fix a -Wuninitialized warning reported by rwatson.
Approved by: re (blanket hwpmc)
|
#
147191 |
|
09-Jun-2005 |
jkoshy |
MFP4:
- 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.
|
#
146799 |
|
30-May-2005 |
jkoshy |
Kernel hooks to support PMC sampling modes.
Reviewed by: alc
|
#
145774 |
|
01-May-2005 |
jkoshy |
Add convenience APIs pmc_width() and pmc_capabilities() to -lpmc. 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.
|
#
145615 |
|
28-Apr-2005 |
jkoshy |
Return the correct register number in the 'get_msr()' MD function.
Only allow a process to use the x86 RDPMC instruction if it has allocated and attached a PMC to itself.
Inform the MD layer of the "pseudo context switch out" that needs to be done when the last thread of a process is exiting.
|
#
145581 |
|
27-Apr-2005 |
jkoshy |
Forced commit to note the move from "src/sys/hwpmc" to "src/sys/dev/hwpmc".
|
#
145338 |
|
20-Apr-2005 |
marcel |
Include <sys/pmc.h> instead of <machine/pmc_mdep.h>. The MI header includes the MD header for us. Do not include <machine/specialreg.h> as it is not a header file that can be included from MI files. It is included from <machine/pmc_mdep.h> if so needed and possible.
Ok'd: jkoshy@
|
#
145256 |
|
19-Apr-2005 |
jkoshy |
Bring a working snapshot of hwpmc(4), its associated libraries, userland utilities and documentation into -CURRENT.
Bump FreeBSD_version.
Reviewed by: alc, jhb (kernel changes)
|