Revert r326083, it doesn't behave as expected.Even though there do appear to be more artificial frames, with 12, stacktraces no longer list at all. Revert until a better, more stable value canbe
Revert r326083, it doesn't behave as expected.Even though there do appear to be more artificial frames, with 12, stacktraces no longer list at all. Revert until a better, more stable value canbe determined.
show more ...
PowerPC has 12 artificial frames for the profilerIt may need to be different between AIM and Book-E, this was tested only onBook-E (64- and 32-bit)MFC after: 3 weeks
Use C99 initializers for DTrace provider methods.This makes the definitions easier to read and more cscope-friendly.MFC after: 1 week
o Replace __riscv__ with __riscvo Replace __riscv64 with (__riscv && __riscv_xlen == 64)This is required to support new GCC 7.1 compiler.This is compatible with current GCC 6.1 compiler.RISC-V
o Replace __riscv__ with __riscvo Replace __riscv64 with (__riscv && __riscv_xlen == 64)This is required to support new GCC 7.1 compiler.This is compatible with current GCC 6.1 compiler.RISC-V is extensible ISA and the idea here is to have built-in defineper each extension, so together with __riscv we will have some subsetof these as well (depending on -march string passed to compiler):__riscv_compressed__riscv_atomic__riscv_mul__riscv_div__riscv_muldiv__riscv_fdiv__riscv_fsqrt__riscv_float_abi_soft__riscv_float_abi_single__riscv_float_abi_double__riscv_cmodel_medlow__riscv_cmodel_medany__riscv_cmodel_pic__riscv_xlenReviewed by: ngieSponsored by: DARPA, AFRLDifferential Revision: https://reviews.freebsd.org/D11901
Ensure that profile and tick probes provide a non-zero PC value.The idle thread may process callouts while reloading the timer incpu_activeclock(). In this case, provide a representative value, &c
Ensure that profile and tick probes provide a non-zero PC value.The idle thread may process callouts while reloading the timer incpu_activeclock(). In this case, provide a representative value, &cpu_idle,instead of 0 for args[0] so that the active thread can be more easilyidentified from the probe.This addresses intermittent failures of the profile-n/tst.argtest.d test.MFC after: 2 weeksSponsored by: Dell EMC IsilonDifferential Revision: https://reviews.freebsd.org/D10651
Add initial DTrace support for RISC-V.Sponsored by: DARPA, AFRLSponsored by: HEIF5
Allow the artificial profile frames to be adjusted as needed by the user.While here update for armv6 to a tested value.Submitted by: Howard Su <[email protected]>Reviewed by: statDifferential
Allow the artificial profile frames to be adjusted as needed by the user.While here update for armv6 to a tested value.Submitted by: Howard Su <[email protected]>Reviewed by: statDifferential Revision: https://reviews.freebsd.org/D4315
First cut of DTrace for AArch64.Reviewed by: andrew, emasteSponsored by: ARM LimitedDifferential Revision: https://reviews.freebsd.org/D2738
CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than tenyears for head. However, it is continuously misused as the mpsafe argumentfor callout_init(9). Deprecate the flag and cle
CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than tenyears for head. However, it is continuously misused as the mpsafe argumentfor callout_init(9). Deprecate the flag and clean up callout_init() callsto make them more consistent.Differential Revision: https://reviews.freebsd.org/D2613Reviewed by: jhbMFC after: 2 weeks
Adjust PROF_ARTIFICIAL_FRAMES in the DTrace profile provider on ARM toskip 10, rather than 9, frames. This appears to work quite well inpractice on the BeagleBone Black, so remove a comment about
Adjust PROF_ARTIFICIAL_FRAMES in the DTrace profile provider on ARM toskip 10, rather than 9, frames. This appears to work quite well inpractice on the BeagleBone Black, so remove a comment about the valuebeing bogus and replace it with a slightly less negative one. However,the number of frames to skip is quite sensitive to details of the timerand interrupt handling paths, so this is necessarily fragile -- but nomore so than on x86.Sponsored by: DARPA, AFRL
Replace the completely arbitrary '3' with '9' for the number of frames toskip using the DTrace 'profile' provider on ARM. This causes stack tracesto skip various driver-and callout-related things
Replace the completely arbitrary '3' with '9' for the number of frames toskip using the DTrace 'profile' provider on ARM. This causes stack tracesto skip various driver-and callout-related things as they do on x86, wherethe likewise arbitrary values are '6' (32-bit) and '10' (64-bit) forsimilar sorts of reasons.MFC after: 3 daysSponsored by: DARPA, AFRL
Initial version of DTrace on ARM32.Submitted by: Howard Su based on work by Oleksandr TymoshenkoReviewed by: ian, andrew, rpaulo, markj
remove opensolaris cyclic code, replace with high-precision calloutsIn the old days callout(9) had 1 tick precision and that was inadequatefor some uses, e.g. DTrace profile module, so we had to e
remove opensolaris cyclic code, replace with high-precision calloutsIn the old days callout(9) had 1 tick precision and that was inadequatefor some uses, e.g. DTrace profile module, so we had to emulate cyclicAPI and behavior. Now we can directly use callout(9) in the very fewplaces where cyclic was used.Differential Revision: https://reviews.freebsd.org/D1161Reviewed by: gnn, jhb, markjMFC after: 2 weeks
Implement DTrace for PowerPC. This includes both 32-bit and 64-bit.There is one known issue: Some probes will display an error message along thelines of: "Invalid address (0)"I tested this wi
Implement DTrace for PowerPC. This includes both 32-bit and 64-bit.There is one known issue: Some probes will display an error message along thelines of: "Invalid address (0)"I tested this with both a simple dtrace probe and dtruss on a few differentbinaries on 32-bit. I only compiled 64-bit, did not run it, but I don't expectproblems without the modules loaded. Volunteers are welcome.MFC after: 1 month
Add device part of DTrace/MIPS code
Custom DTrace kernel module files plus FreeBSD-specific DTrace providers.