Move most of the contents of opt_compat.h to opt_global.h.opt_compat.h is mentioned in nearly 180 files. In-progress networkdriver compabibility improvements may add over 100 more so this isclose
Move most of the contents of opt_compat.h to opt_global.h.opt_compat.h is mentioned in nearly 180 files. In-progress networkdriver compabibility improvements may add over 100 more so this iscloser to "just about everywhere" than "only some files" per theguidance in sys/conf/options.Keep COMPAT_LINUX32 in opt_compat.h as it is confined to a subset ofsys/compat/linux/*.c. A fake _COMPAT_LINUX option ensure opt_compat.his created on all architectures.Move COMPAT_LINUXKPI to opt_dontuse.h as it is only used to control theset of compiled files.Reviewed by: kib, cem, jhb, jtlSponsored by: DARPA, AFRLDifferential Revision: https://reviews.freebsd.org/D14941
show more ...
sys: general adoption of SPDX licensing ID tags.Mainly focus on files that use BSD 2-Clause license, however the tool Iwas using misidentified many licenses so this was mostly a manual - errorpro
sys: general adoption of SPDX licensing ID tags.Mainly focus on files that use BSD 2-Clause license, however the tool Iwas using misidentified many licenses so this was mostly a manual - errorprone - task.The Software Package Data Exchange (SPDX) group provides a specificationto make it easier for automated tools to detect and summarize well knownopensource licenses. We are gradually adopting the specification, notingthat the tags are considered only advisory and do not, in any way,superceed or replace the license texts.No functional change intended.
Enable dtrace support for mips64 and the ERL kernel configTurn on the required options in the ERL config file, and ensurethat the fbt module is listed as a dependency for mips inthe modules/dtrac
Enable dtrace support for mips64 and the ERL kernel configTurn on the required options in the ERL config file, and ensurethat the fbt module is listed as a dependency for mips inthe modules/dtrace/dtraceall/dtraceall.c file.PR: 220346Reviewed by: gnn, markjMFC after: 2 weeksDifferential Revision: https://reviews.freebsd.org/D12227
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
sys/modules: normalize .CURDIR-relative paths to SRCTOPThis simplifies make output/logicTested with: `cd sys/modules; make ALL_MODULES=` on amd64MFC after: 1 monthSponsored by: Dell EMC Isilon
Include FBT to modules build on RISC-V.
Implement the lockstat provider using SDT(9) instead of the custom providerin lockstat.ko. This means that lockstat probes now have typed arguments andwill utilize SDT probe hot-patching support wh
Implement the lockstat provider using SDT(9) instead of the custom providerin lockstat.ko. This means that lockstat probes now have typed arguments andwill utilize SDT probe hot-patching support when it arrives.Reviewed by: gnnDifferential Revision: https://reviews.freebsd.org/D2993
First cut of DTrace for AArch64.Reviewed by: andrew, emasteSponsored by: ARM LimitedDifferential Revision: https://reviews.freebsd.org/D2738
Set a dependancy on fbt module for ARM.
Submitted by: rick MaclemMFC after: 1 week
Remove the old NFS client and server from head,which means that the NFSCLIENT and NFSSERVERkernel options will no longer work. This commitonly removes the kernel components. Removal ofunused code
Remove the old NFS client and server from head,which means that the NFSCLIENT and NFSSERVERkernel options will no longer work. This commitonly removes the kernel components. Removal ofunused code in the user utilities will be donelater. This commit does not include an additionto UPDATING, but that will be committed in afew minutes.Discussed on: freebsd-fs
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
Allow loading of dtraceall without nfscl if what you really wnat is nfsclientObtained from: Panzura treeMFC after: 1 week
Use SYSDIR to reference to the top of the sys hierarchy. Define SYSDIRrelative to .CURDIR if not already defined. This makes the makefilesmore readable but also more re-usable and adaptable.Obtai
Use SYSDIR to reference to the top of the sys hierarchy. Define SYSDIRrelative to .CURDIR if not already defined. This makes the makefilesmore readable but also more re-usable and adaptable.Obtained from: Juniper Networks, Inc.
Redefine the io provider using the SDT(9) macros instead of doing everythingmanually. This change has no functional impact.Discussed with: gnn
opensolaris code: translate INVARIANTS to DEBUG and ZFS_DEBUGDo this by forcing inclusion ofsys/cddl/compat/opensolaris/sys/debug_compat.hvia -include option into all source files from OpenSolari
opensolaris code: translate INVARIANTS to DEBUG and ZFS_DEBUGDo this by forcing inclusion ofsys/cddl/compat/opensolaris/sys/debug_compat.hvia -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 fixtheir build without DEBUG.Also, meaning of DEBUG was overloaded to enable WITNESS support for someOpenSolaris (primarily ZFS) locks. Now this overloading is removed andthat use of DEBUG is replaced with a new option OPENSOLARIS_WITNESS.MFC after: 17 days
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 powe
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 betweenthe x86 and PowerPC flavors.All DTrace modules for PowerPC will be MFC'd together once Fasttrap iscompleted.
The dtnfsclient module dependency should only be added if the old NFSclient support was compiled in.
Initial commit of an I/O provider for DTrace on FreeBSD.These probes are most useful when looking into the structuresthey provide, which are listed in io.d. For example:dtrace -n 'io:genunix::s
Initial commit of an I/O provider for DTrace on FreeBSD.These probes are most useful when looking into the structuresthey 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 sufficientlydifferent that there is not a 1:1 mapping from scripts that workwith one to the other.MFC after: 1 month
Add DTrace support to the new NFS client. This is essentiallycloned from the old NFS client, plus additions for NFSv4. Areview of this code is in progress, however it was felt by thereviewer that
Add DTrace support to the new NFS client. This is essentiallycloned from the old NFS client, plus additions for NFSv4. Areview of this code is in progress, however it was felt by thereviewer that it could go in now, before code slush. Any changesrequired by the review can be committed as bug fixes later.
Fix make buildworld -DMODULES_WITH_WORLD on i386
add DTrace systrace support for linux32 and freebsd32 on amd64 syscallsAdd systrace_linux32 and systrace_freebsd32 modules which providesupport for tracing compat system calls in addition to nativ
add DTrace systrace support for linux32 and freebsd32 on amd64 syscallsAdd systrace_linux32 and systrace_freebsd32 modules which providesupport for tracing compat system calls in addition to native systemcall tracing provided by systrace module.Provided that all the systrace modules are loaded now you can selectwhat syscalls to trace in the following manner:syscall::xxx:yyy - work on all system calls that match the specificationsyscall:freebsd:xxx:yyy - only native system callssyscall:linux32:xxx:yyy - linux32 compat system callssyscall:freebsd32:xxx:yyy - freebsd32 compat system calls on amd64PR: kern/152822Submitted by: Artem Belevich <[email protected]>Reviewed by: jhb (earlier version)MFC after: 3 weeks
Enable fasttrap and make dtraceall depend on fasttrap when building i386or amd64.Sponsored by: The FreeBSD Foundation
Add the OpenSolaris dtrace lockstat provider. The lockstat provideradds probes for mutexes, reader/writer and shared/exclusive locks togather contention statistics and other locking information fo
Add the OpenSolaris dtrace lockstat provider. The lockstat provideradds probes for mutexes, reader/writer and shared/exclusive locks togather contention statistics and other locking information fordtrace scripts, the lockstat(1M) command and other potentialconsumers.Reviewed by: attilio jhb jbApproved by: gnn (mentor)
Add dtnfsclient, a first cut at an NFSv2/v3 client reuest DTraceprovider. The NFS client exposes 'start' and 'done' probes for NFSv2and NFSv3 RPCs when using the new RPC implementation, passing in
Add dtnfsclient, a first cut at an NFSv2/v3 client reuest DTraceprovider. The NFS client exposes 'start' and 'done' probes for NFSv2and NFSv3 RPCs when using the new RPC implementation, passing in thevnode, 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 thispoint in the stack, but the passed probe arguments are sufficient toto a lot of interesting things in practice. Technically, these probesmay cover multiple RPC retransmits, and even transactions if thetransaction ID change as a result of authentication failure or ajukebox error from the server, but usefully capture the intent of asingle NFS request, such as access, getattr, write, etc.Typical use might involve profiling RPC latency by system call, numberof RPCs, how often a getattr leads to a call to access, when failedaccess control checks occur, etc. More detailed RPC information mightbest be provided by adding a krpc provider. It would also be usefulto add NFS client probes for events such as the access cache orattribute cache satisfying requests without an RPC.Sponsored by: Google, Inc.MFC after: 1 month
12