History log of /freebsd-10-stable/sys/modules/dtrace/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
294368 20-Jan-2016 jhb

MFC 289769,289822,290143,290144:
Rename remaining linux32 symbols from linux_* to linux32_*.

289769:
Rename remaining linux32 symbols such as linux_sysent[] and
linux_syscallnames[] from linux_* to linux32_* to avoid conflicts with
linux64.ko. While here, add support for linux64 binaries to systrace.
- Update NOPROTO entries in amd64/linux/syscalls.master to match the
main table to fix systrace build.
- Add a special case for union l_semun arguments to the systrace
generation.
- The systrace_linux32 module now only builds the systrace_linux32.ko.
module on amd64.
- Add a new systrace_linux module that builds on both i386 and amd64.
For i386 it builds the existing systrace_linux.ko. For amd64 it
builds a systrace_linux.ko for 64-bit binaries.

289822:
Fix build for the KTR-enabled kernels.

290143:
Fix build with DEBUG defined.

290144:
Update for LINUX32 rename. The assembler didn't complain about undefined
symbols but just used 0 after the rename.

287090 24-Aug-2015 julian

MFH: r273762
MFH: r276304

Allow loading of dtraceall without nfscl if what you really want is nfsclient

Obtained from: Panzura tree and Rick Maclem

282748 11-May-2015 avg

MFC r275576: remove opensolaris cyclic code, replace with high-precision callouts

268734 16-Jul-2014 pfg

MFC r268097:

MFV r260708
4427 pid provider rejects probes with valid UTF-8 names

This make use of Solaris' u8_validate() which we happen to
use since r185029 for ZFS.
Use of u8_textprep.c required -Wno-cast-qual for powerpc.

Illumos Revision: 1444d846b126463eb1059a572ff114d51f7562e5

Reference:
https://www.illumos.org/issues/4427

Obtained from: Illumos

268578 12-Jul-2014 rpaulo

MFC 267929, 267937, 267939, 267940, 267941, 267942, 267987, 268006:

2915 DTrace in a zone should see "cpu", "curpsinfo", et al
2916 DTrace in a zone should be able to access fds[]
2917 DTrace in a zone should have limited provider access
4477 DTrace should speak JSON
Add stubs for CTF functions which are not yet implemented.
4474 DTrace Userland CTF Support
4475 DTrace userland Keyword
4476 DTrace tests should be better citizens
4479 pid provider types
4480 dof emulation is missing checks
4471 DTrace count() with histogram
4472 DTrace full width distribution histograms
4473 DTrace frequency trails


/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.aggencoding.d
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.aggencoding.d.out
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.agghist.d
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.agghist.d.out
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.aggpack.d
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.aggpack.d.out
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.aggpackbanner.ksh
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.aggpackbanner.ksh.out
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.aggpackzoom.d
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.aggpackzoom.d.out
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.aggzoom.d
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.aggzoom.d.out
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.subr.d
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/privs/tst.fds.ksh
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/privs/tst.func_access.ksh
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/privs/tst.getf.ksh
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/privs/tst.procpriv.ksh
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/privs/tst.providers.ksh
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/strtoll
/freebsd-10-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/uctf
/freebsd-10-stable/cddl/contrib/opensolaris/common/ctf/ctf_open.c
/freebsd-10-stable/cddl/contrib/opensolaris/common/ctf/ctf_types.c
/freebsd-10-stable/cddl/contrib/opensolaris/common/util
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_as.c
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cc.c
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_decl.c
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_decl.h
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dis.c
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_error.c
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_grammar.y
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_ident.c
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.c
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.h
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_options.c
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_parser.c
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_parser.h
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pid.c
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pid.h
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_print.c
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_provider.c
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dt_xlator.c
/freebsd-10-stable/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h
/freebsd-10-stable/cddl/lib/libdtrace/libproc_compat.h
/freebsd-10-stable/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
/freebsd-10-stable/sys/cddl/contrib/opensolaris/uts/common/dtrace/sdt_subr.c
/freebsd-10-stable/sys/cddl/contrib/opensolaris/uts/common/sys/ctf_api.h
/freebsd-10-stable/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h
/freebsd-10-stable/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h
/freebsd-10-stable/sys/cddl/dev/dtrace/dtrace_cddl.h
dtrace/Makefile
265273 03-May-2014 markj

MFC r262542:
Move some files that are identical on i386 and amd64 to an x86 subdirectory
rather than keeping duplicate copies.

260813 17-Jan-2014 avg

MFC r257037: Redefine the io provider using the SDT(9) macros

MFC slacker: markj

260670 15-Jan-2014 jhibbits

MFC r256543,r259245,r259421,r259668,r259674

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.

256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


254509 19-Aug-2013 jhibbits

Fix some ppc64 dtrace bugs, and enable systrace_freebsd32 for ppc64.


254319 14-Aug-2013 uqs

Fix make depend


253996 06-Aug-2013 avg

opensolaris code: translate INVARIANTS to DEBUG and ZFS_DEBUG

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


253989 06-Aug-2013 avg

dtrace: fix compilation with gcc

Cowardly taking the easiest way and using -Wno-*

MFC after: 3 days
X-MFC with: r253772


253773 29-Jul-2013 avg

[fixup] add Makefile changes that should have been committed in r253772

MFC after: 3 weeks
X-MFC with: r253772


251237 02-Jun-2013 markj

Port the SDT test now that it's possible to create SDT probes that take
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.


248983 01-Apr-2013 pfg

Dtrace: enablings on defunct providers prevent providers from unregistering

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


248486 19-Mar-2013 jhibbits

Fix the powerpc64 build. MACHINE_CPUARCH is common for powerpc/powerpc64,
not MACHINE_ARCH.


248457 18-Mar-2013 jhibbits

Add FBT for PowerPC DTrace. Also, clean up the DTrace assembly code,
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.


242723 07-Nov-2012 jhibbits

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 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


239971 01-Sep-2012 rpaulo

The dtnfsclient module dependency should only be added if the old NFS
client support was compiled in.


238366 11-Jul-2012 gnn

Initial commit of an I/O provider for DTrace on FreeBSD.

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


233410 24-Mar-2012 gonzo

Make lockstat and profile modules x86-only


232506 04-Mar-2012 eadler

Explicitly list dependency

PR: misc/160463
Submitted by: Garrett Cooper <yanegomi@gmail.com>
Helped by: kan
Approved by: cperciva
MFC after: 3 days


223280 18-Jun-2011 rmacklem

Add DTrace support to the new NFS client. This is essentially
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.


220470 09-Apr-2011 uqs

Fix make buildworld -DMODULES_WITH_WORLD on i386


220437 08-Apr-2011 art

Stripped '32' suffix from linux systrace module name on i386.

Approved by: avg


219561 12-Mar-2011 avg

add DTrace systrace support for linux32 and freebsd32 on amd64 syscalls

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


211926 28-Aug-2010 rpaulo

Add the path necessary to find fasttrap_isa.h to CFLAGS.

Sponsored by: The FreeBSD Foundation


211753 24-Aug-2010 rpaulo

Enable fasttrap and make dtraceall depend on fasttrap when building i386
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


211746 24-Aug-2010 rpaulo

Update for the recent location of the fasttrap code.

Sponsored by: The FreeBSD Foundation


211690 23-Aug-2010 imp

MFtbemd:

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...


211615 22-Aug-2010 rpaulo

Remove an elif and add an or-clause.

Sponsored by: The FreeBSD Foundation


197075 10-Sep-2009 n_hibma

Missing opt_*.h file reference for make depend in sys/modules

MFC after: 1 week


196322 17-Aug-2009 jhb

Purge mergeinfo in sys/ that is either empty or a subset of the parent
mergeinfo on sys/ itself.

Approved by: re (mergeinfo blanket)


192853 26-May-2009 sson

Add the OpenSolaris dtrace lockstat provider. The lockstat provider
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)


190581 30-Mar-2009 mav

Integrate user/mav/ata branch:

Add ch_suspend/ch_resume methods for PCI controllers and implement them
for AHCI. Refactor AHCI channel initialization according to it.

Fix Port Multipliers operation. It is far from perfect yet, but works now.
Tested with JMicron JMB363 AHCI + SiI 3726 PMP pair.
Previous version was also tested with SiI 4726 PMP.

Hardware sponsored by: Vitsch Electronics / VEHosting.nl


190419 25-Mar-2009 rwatson

Move dtnfsclient.c in the cddl tree to nfs_kdtrace.c in the nfsclient
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


190293 22-Mar-2009 rwatson

Add dtnfsclient, a first cut at an NFSv2/v3 client reuest DTrace
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


188516 12-Feb-2009 n_hibma

Fix a few problems related to building modules in /sys/modules (not
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.


179452 31-May-2008 jb

Add the DTrace test kernel module so that people can run the tests.


179298 25-May-2008 jb

Remove the dependency on lockstat. That its still work in progress.


179294 24-May-2008 bz

Remove 'fasttrap' module for amd64 for now as the code is not there
in sys/cddl/dev/fasttrap.


179274 24-May-2008 jb

Leave out a couple of DTrace modules for now.


179065 17-May-2008 jb

Add the DTrace kernel module makefiles.