summaryrefslogtreecommitdiffstats
path: root/sys/modules/dtrace
Commit message (Collapse)AuthorAgeFilesLines
* MFC r257037: Redefine the io provider using the SDT(9) macrosavg2014-01-173-17/+0
| | | | MFC slacker: markj
* MFC r256543,r259245,r259421,r259668,r259674jhibbits2014-01-152-1/+4
| | | | | | | | | | | | | | | | | | | r256543: Add fasttrap for PowerPC. This is the last piece of the DTrace/ppc puzzle. It's incomplete, it doesn't contain full instruction emulation, but it should be sufficient for most cases. r259245,r259421: (FBT) FBT now does work fully on PowerPC. Save r3 before using it for the trap check, else we end up saving the new r3, containing the trap instruction encoding (0x7c810808), and restoring it back with the frame on return. This caused it to panic on my ppc32 machine. r259668,r259674: Fix a typo in the FBT code.
* Fix some ppc64 dtrace bugs, and enable systrace_freebsd32 for ppc64.jhibbits2013-08-191-1/+1
|
* Fix make dependuqs2013-08-141-1/+1
|
* opensolaris code: translate INVARIANTS to DEBUG and ZFS_DEBUGavg2013-08-0616-2/+36
| | | | | | | | | | | | | | | | Do this by forcing inclusion of sys/cddl/compat/opensolaris/sys/debug_compat.h via -include option into all source files from OpenSolaris. Note that this -include option must always be after -include opt_global.h. Additionally, remove forced definition of DEBUG for some modules and fix their build without DEBUG. Also, meaning of DEBUG was overloaded to enable WITNESS support for some OpenSolaris (primarily ZFS) locks. Now this overloading is removed and that use of DEBUG is replaced with a new option OPENSOLARIS_WITNESS. MFC after: 17 days
* dtrace: fix compilation with gccavg2013-08-061-0/+1
| | | | | | | Cowardly taking the easiest way and using -Wno-* MFC after: 3 days X-MFC with: r253772
* [fixup] add Makefile changes that should have been committed in r253772avg2013-07-291-0/+3
| | | | | MFC after: 3 weeks X-MFC with: r253772
* Port the SDT test now that it's possible to create SDT probes that takemarkj2013-06-021-1/+2
| | | | | | | | | | | | seven arguments. The original test uses Solaris' uadmin system call to trigger the test probe; this change adds a sysctl to the dtrace_test module and gets the test program to trigger the test probe via the sysctl handler. The test is currently failing on amd64 because of some bugs in the way that probe arguments beyond the first five are obtained - these bugs will be fixed in a separate change.
* Dtrace: enablings on defunct providers prevent providers from unregisteringpfg2013-04-011-0/+4
| | | | | | | | | | | | | | | | | | | | | | Merge change from illumos: 1368 enablings on defunct providers prevent providers from unregistering We try to address some underlying differences between the Solaris and FreeBSD implementations: dtrace_attach() / dtrace_detach() are currently unimplemented in FreeBSD but the new code from illumos makes use of taskq so some adaptations were made to dtrace_open() and dtrace_close() to handle them appropriately. Illumos Revision: r13430:8e6add739e38 Reference: https://www.illumos.org/issues/1368 Reviewed by: gnn Tested by: Fabian Keil Obtained from: Illumos MFC after: 3 weeks
* Fix the powerpc64 build. MACHINE_CPUARCH is common for powerpc/powerpc64,jhibbits2013-03-191-1/+1
| | | | not MACHINE_ARCH.
* Add FBT for PowerPC DTrace. Also, clean up the DTrace assembly code,jhibbits2013-03-183-1/+10
| | | | | | | | | | | much of which is not necessary for PowerPC. The FBT module can likely be factored into 3 separate files: common, intel, and powerpc, rather than duplicating most of the code between the x86 and PowerPC flavors. All DTrace modules for PowerPC will be MFC'd together once Fasttrap is completed.
* Implement DTrace for PowerPC. This includes both 32-bit and 64-bit.jhibbits2012-11-071-1/+3
| | | | | | | | | | | There is one known issue: Some probes will display an error message along the lines of: "Invalid address (0)" I tested this with both a simple dtrace probe and dtruss on a few different binaries on 32-bit. I only compiled 64-bit, did not run it, but I don't expect problems without the modules loaded. Volunteers are welcome. MFC after: 1 month
* The dtnfsclient module dependency should only be added if the old NFSrpaulo2012-09-012-1/+4
| | | | client support was compiled in.
* Initial commit of an I/O provider for DTrace on FreeBSD.gnn2012-07-113-0/+15
| | | | | | | | | | | | These probes are most useful when looking into the structures they provide, which are listed in io.d. For example: dtrace -n 'io:genunix::start { printf("%d\n", args[0]->bio_bcount); }' Note that the I/O systems in FreeBSD and Solaris/Illumos are sufficiently different that there is not a 1:1 mapping from scripts that work with one to the other. MFC after: 1 month
* Make lockstat and profile modules x86-onlygonzo2012-03-241-3/+1
|
* Explicitly list dependencyeadler2012-03-041-0/+2
| | | | | | | | PR: misc/160463 Submitted by: Garrett Cooper <yanegomi@gmail.com> Helped by: kan Approved by: cperciva MFC after: 3 days
* Add DTrace support to the new NFS client. This is essentiallyrmacklem2011-06-183-0/+15
| | | | | | | cloned from the old NFS client, plus additions for NFSv4. A review of this code is in progress, however it was felt by the reviewer that it could go in now, before code slush. Any changes required by the review can be committed as bug fixes later.
* Fix make buildworld -DMODULES_WITH_WORLD on i386uqs2011-04-091-1/+1
|
* Stripped '32' suffix from linux systrace module name on i386.art2011-04-081-0/+5
| | | | Approved by: avg
* add DTrace systrace support for linux32 and freebsd32 on amd64 syscallsavg2011-03-125-2/+42
| | | | | | | | | | | | | | | | | | | Add systrace_linux32 and systrace_freebsd32 modules which provide support for tracing compat system calls in addition to native system call tracing provided by systrace module. Provided that all the systrace modules are loaded now you can select what syscalls to trace in the following manner: syscall::xxx:yyy - work on all system calls that match the specification syscall:freebsd:xxx:yyy - only native system calls syscall:linux32:xxx:yyy - linux32 compat system calls syscall:freebsd32:xxx:yyy - freebsd32 compat system calls on amd64 PR: kern/152822 Submitted by: Artem Belevich <fbsdlist@src.cx> Reviewed by: jhb (earlier version) MFC after: 3 weeks
* Add the path necessary to find fasttrap_isa.h to CFLAGS.rpaulo2010-08-281-0/+1
| | | | Sponsored by: The FreeBSD Foundation
* Enable fasttrap and make dtraceall depend on fasttrap when building i386rpaulo2010-08-242-1/+2
| | | | | | | | | | | | | | | | | | or amd64. Sponsored by: The FreeBSD Foundation > Description of fields to fill in above: 76 columns --| > PR: If a GNATS PR is affected by the change. > Submitted by: If someone else sent in the change. > Reviewed by: If someone else reviewed your modification. > Approved by: If you needed approval for this commit. > Obtained from: If the change is from a third party. > MFC after: N [day[s]|week[s]|month[s]]. Request a reminder email. > Security: Vulnerability reference (one per line) or description. > Empty fields above will be automatically removed. M dtrace/dtraceall/dtraceall.c M dtrace/Makefile
* Update for the recent location of the fasttrap code.rpaulo2010-08-241-2/+3
| | | | Sponsored by: The FreeBSD Foundation
* MFtbemd:imp2010-08-234-7/+7
| | | | | | | | | Use MACHINE_CPUARCH in preference to MACHINE_ARCH. The former is the source code location of the machine, the latter the binary output. In general, we want to use MACHINE_CPUARCH instead of MACHINE_ARCH unless we're tesitng for a specific target. The isn't even moot for i386/amd64 where there's momemntum towards a MACHINE_CPUARCH == x86, although a specific cleanup for that likely would be needed...
* Remove an elif and add an or-clause.rpaulo2010-08-221-3/+1
| | | | Sponsored by: The FreeBSD Foundation
* Missing opt_*.h file reference for make depend in sys/modulesn_hibma2009-09-101-1/+1
| | | | MFC after: 1 week
* Add the OpenSolaris dtrace lockstat provider. The lockstat providersson2009-05-262-0/+2
| | | | | | | | | | adds probes for mutexes, reader/writer and shared/exclusive locks to gather contention statistics and other locking information for dtrace scripts, the lockstat(1M) command and other potential consumers. Reviewed by: attilio jhb jb Approved by: gnn (mentor)
* Move dtnfsclient.c in the cddl tree to nfs_kdtrace.c in the nfsclientrwatson2009-03-251-2/+2
| | | | | | | | directory, since it's under a BSD license, and this keeps NFS internals- aware tracing parts close to NFS. MFC after: 1 month Suggested by: jhb
* Add dtnfsclient, a first cut at an NFSv2/v3 client reuest DTracerwatson2009-03-223-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | provider. The NFS client exposes 'start' and 'done' probes for NFSv2 and NFSv3 RPCs when using the new RPC implementation, passing in the vnode, mbuf chain, credential, and NFSv2 or NFSv3 procedure number. For 'done' probes, the error number is also available. Probes are named in the following way: ... nfsclient:nfs2:write:start nfsclient:nfs2:write:done ... nfsclient:nfs3:access:start nfsclient:nfs3:access:done ... Access to the unmarshalled arguments is not easily available at this point in the stack, but the passed probe arguments are sufficient to to a lot of interesting things in practice. Technically, these probes may cover multiple RPC retransmits, and even transactions if the transaction ID change as a result of authentication failure or a jukebox error from the server, but usefully capture the intent of a single NFS request, such as access, getattr, write, etc. Typical use might involve profiling RPC latency by system call, number of RPCs, how often a getattr leads to a call to access, when failed access control checks occur, etc. More detailed RPC information might best be provided by adding a krpc provider. It would also be useful to add NFS client probes for events such as the access cache or attribute cache satisfying requests without an RPC. Sponsored by: Google, Inc. MFC after: 1 month
* Fix a few problems related to building modules in /sys/modules (notn_hibma2009-02-121-1/+1
| | | | | | | | | | checked whether this applies to builds in /sys/*/compile/* as well): - Create empty opt_*.h files were missing - Hook up svr4 to the build. It compiles fine here, so no reason to disconnect it in the Makefile. were missing - Hook up svr4 to the build. It compiles fine here, so no reason to disconnect it in the Makefile.
* Add the DTrace test kernel module so that people can run the tests.jb2008-05-311-0/+1
|
* Remove the dependency on lockstat. That its still work in progress.jb2008-05-251-1/+0
|
* Remove 'fasttrap' module for amd64 for now as the code is not therebz2008-05-241-2/+1
| | | | in sys/cddl/dev/fasttrap.
* Leave out a couple of DTrace modules for now.jb2008-05-241-2/+0
|
* Add the DTrace kernel module makefiles.jb2008-05-1714-0/+303
OpenPOWER on IntegriCloud