#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
266101 |
|
14-May-2014 |
markj |
MFC r262665: Expose a few DTrace parameters as sysctls under kern.dtrace and add descriptions for several existing sysctls.
PR: 187027
|
#
265235 |
|
02-May-2014 |
pfg |
MFC r264040:
4248 dtrace(1M) should never create DOF with empty probes section 4249 Only probes from the first DTrace object file will be included
Illumos Revision: 4a20ab41aadcb81c53e72fc65886e964e9add59
Reference: https://www.illumos.org/issues/4248 https://www.illumos.org/issues/4249
Obtained from: Illumos
|
#
264797 |
|
23-Apr-2014 |
markj |
MFC r262596: 4478 dtrace_dof_maxsize is far too small
illumos/illumos-gate@d339a29bb4765c4b6883a935cf69b669cd05bca0
|
#
262053 |
|
17-Feb-2014 |
avg |
MFC r256148: Initialize and free the DTrace taskqueue in the dtrace module load/unload handlers
|
#
262052 |
|
17-Feb-2014 |
avg |
MFC r252850: Hide references to mod_lock
|
#
262038 |
|
17-Feb-2014 |
avg |
MFC r254813,259587: Rename the kld_unload event handler to kld_unload_try
|
#
256002 |
|
02-Oct-2013 |
pfg |
MFC r250574, r250812, r253725;
DTrace: option for time-ordered output
Merge changes from illumos:
3021 option for time-ordered output from dtrace(1M) 3022 DTrace: keys should not affect the sort order when sorting by value 3023 it should be possible to dereference dynamic variables 3024 D integer narrowing needs some work 3025 register leak in D code generation
This brings yet another feature implemented in upstream DTrace. A complete description is available here: http://dtrace.org/blogs/ahl/2012/07/28/my-new-dtrace-favorite/
This change bumps the DT_VERS_* number to 1.9.1 in accordance to what is done in illumos.
Special thanks to Mark Johnston for fixes and testing.
Illumos Revisions: 13758:23432da34147
Reference: https://www.illumos.org/issues/3021 https://www.illumos.org/issues/3022 https://www.illumos.org/issues/3023 https://www.illumos.org/issues/3024 https://www.illumos.org/issues/3025 https://www.illumos.org/issues/1694
Obtained from: Illumos
|
#
255763 |
|
21-Sep-2013 |
markj |
MFC r252894: Add SDT_PROBE_DEFINE0 for consistency with SDT_PROBE0.
MFC r253022: Also define SDT_PROBE_DEFINE0 for the !KDTRACE_HOOKS case.
MFC r254266: Add event handlers for module load and unload events. The load handlers are called after the module has been loaded, and the unload handlers are called before the module is unloaded. Moreover, the module unload handlers may return an error to prevent the unload from proceeding.
MFC r254267: Remove some unused fields from struct linker_file. They were added in r172862 for use by the DTrace SDT framework but don't seem to have ever been used.
MFC r254268: FreeBSD's DTrace implementation has a few problems with respect to handling probes declared in a kernel module when that module is unloaded. In particular,
* Unloading a module with active SDT probes will cause a panic. [1] * A module's (FBT/SDT) probes aren't destroyed when the module is unloaded; trying to use them after the fact will generally cause a panic.
This change fixes both problems by porting the DTrace module load/unload handlers from illumos and registering them with the corresponding EVENTHANDLER(9) handlers. This allows the DTrace framework to destroy all probes defined in a module when that module is unloaded, and to prevent a module unload from proceeding if some of its probes are active. The latter problem has already been fixed for FBT probes by checking lf->nenabled in kern_kldunload(), but moving the check into the DTrace framework generalizes it to all kernel providers and also fixes a race in the current implementation (since a probe may be activated between the check and the call to linker_file_unload()).
Additionally, the SDT implementation has been reworked to define SDT providers/probes/argtypes in linker sets rather than using SYSINIT/SYSUNINIT to create and destroy SDT probes when a module is loaded or unloaded. This simplifies things quite a bit since it means that pretty much all of the SDT code can live in sdt.ko, and since it becomes easier to integrate SDT with the DTrace framework. Furthermore, this allows FreeBSD to be quite flexible in that SDT providers spanning multiple modules can be created on the fly when a module is loaded; at the moment it looks like illumos' SDT implementation requires all SDT probes to be statically defined in a single kernel table.
MFC r254309: Use kld_{load,unload} instead of mod_{load,unload} for the linker file load and unload event handlers added in r254266.
MFC r254350: Specify SDT probe argument types in the probe definition itself rather than using SDT_PROBE_ARGTYPE(). This will make it easy to extend the SDT(9) API to allow probes with dynamically-translated types.
|
#
250484 |
|
10-May-2013 |
pfg |
MFC r248983: Dtrace: enablings on defunct providers prevent providers from unregistering
Merge change from illumos:
1368 enablings on defunct providers prevent providers from unregistering
Illumos Revision: 13430:8e6add739e38
Reference: https://www.illumos.org/issues/1368
Reviewed by: gnn Tested by: Fabian Keil Obtained from: Illumos
|
#
249856 |
|
24-Apr-2013 |
pfg |
MFC r248690, r248706, 248708, r248752: Dtrace: merge new functions from Illumos.
This covers illumos issues:
1455 DTrace tracemem() should take an optional size argument 1451 DTrace needs toupper()/tolower() subroutines 1457 lltostr() D subroutine should take an optional base 1694 Add type-aware print() action 3511 dtrace.c erroneously checks for memory alignment on amd64
This includes an enhanced print() described here:
http://dtrace.org/blogs/eschrock/2011/10/26/your-mdb-fell-into-my-dtrace/
This change bumps the DT_VERS_* number to 1.9.0 in accordance to what is done in illumos.
Illumos Revisions: 13457:571b0355c2e3 13458:5e394d8db762 13459:c3454574dd1a 13501:c3a7090dbc16 13483:f413e6c5d297
Reference: https://www.illumos.org/issues/1455 https://www.illumos.org/issues/1451 https://www.illumos.org/issues/1457 https://www.illumos.org/issues/1560 https://www.illumos.org/issues/1694 https://www.illumos.org/issues/3511
Tested by: Fabian Keil Obtained from: Illumos
|
#
241088 |
|
01-Oct-2012 |
hselasky |
MFC r239303: Streamline use of cdevpriv and correct some corner cases.
|
#
239540 |
|
21-Aug-2012 |
pfg |
MFC 237817:
Bump dtrace_helper_actions_max from 32 to 128
Dave Pacheco from Joyent (and Dtrace.org) bumped the cap to 1024 but, according to his blog, 128 is the recommended minimum.
For now bump it safely to 128 although we may have to bump it further if there is demand in the future.
|
#
237870 |
|
01-Jul-2012 |
pfg |
MFC r237624, r237714, r237716, r237860:
Bring llquantize support into Dtrace.
Bryan Cantrill implemented the equivalent of semi-log graph paper for Dtrace so llquantize will use one logarithmic and one linear scale.
|
#
236160 |
|
27-May-2012 |
rstone |
MFC r234691
Implement the D "cpu" variable, which returns curcpu. I have chosen not to follow the example of OpenSolaris and its descendants, which implemented cpu as an inline that took a value out of curthread. At certain points in the FreeBSD scheduler curthread->td_oncpu will no longer be valid (in particular, just before the thread gets descheduled) so instead I have implemented this as its own built-in variable.
Sponsored by: Sandvine Inc.
|
#
235404 |
|
13-May-2012 |
avg |
MFC r228424,228448: panic: add a switch and infrastructure for stopping other CPUs in SMP case
|
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
225617 |
|
16-Sep-2011 |
kmacy |
In order to maximize the re-usability of kernel code in user space this patch modifies makesyscalls.sh to prefix all of the non-compatibility calls (e.g. not linux_, freebsd32_) with sys_ and updates the kernel entry points and all places in the code that use them. It also fixes an additional name space collision between the kernel function psignal and the libc function of the same name by renaming the kernel psignal kern_psignal(). By introducing this change now we will ease future MFCs that change syscalls.
Reviewed by: rwatson Approved by: re (bz)
|
#
212357 |
|
09-Sep-2010 |
rpaulo |
Fix two bugs in DTrace: * when the process exits, remove the associated USDT probes * when the process forks, duplicate the USDT probes.
Sponsored by: The FreeBSD Foundation
|
#
211608 |
|
22-Aug-2010 |
rpaulo |
Kernel DTrace support for: o uregs (sson@) o ustack (sson@) o /dev/dtrace/helper device (needed for USDT probes)
The work done by me was: Sponsored by: The FreeBSD Foundation
|
#
209059 |
|
11-Jun-2010 |
jhb |
Update several places that iterate over CPUs to use CPU_FOREACH().
|
#
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)
|
#
184698 |
|
05-Nov-2008 |
rodrigc |
Merge latest DTrace changes from Perforce.
|
#
183417 |
|
27-Sep-2008 |
jb |
Disable use of the user credentials until there is code to set the levels that DTrace uses.
This fixes a bug that would have affected kernels built with MAC and all kernels built after the mpsafetty integration.
The bug will be apparent in RELENG7 on MAC kernels.
Reported by: kan
|
#
183397 |
|
27-Sep-2008 |
ed |
Replace all calls to minor() with dev2unit().
After I removed all the unit2minor()/minor2unit() calls from the kernel yesterday, I realised calling minor() everywhere is quite confusing. Character devices now only have the ability to store a unit number, not a minor number. Remove the confusion by using dev2unit() everywhere.
This commit could also be considered as a bug fix. A lot of drivers call minor(), while they should actually be calling dev2unit(). In -CURRENT this isn't a problem, but it turns out we never had any problem reports related to that issue in the past. I suspect not many people connect more than 256 pieces of the same hardware.
Reviewed by: kib
|
#
181879 |
|
19-Aug-2008 |
jb |
Add calls to callout_drain() to ensure the callouts are flushed before we free memory from underneath them.
This fixes an occasional panic I've been seeing in softclock() where a bad pointer would be encountered when pushing DTrace hard.
|
#
179726 |
|
11-Jun-2008 |
ed |
Don't enforce unique device minor number policy anymore.
Except for the case where we use the cloner library (clone_create() and friends), there is no reason to enforce a unique device minor number policy. There are various drivers in the source tree that allocate unr pools and such to provide minor numbers, without using them themselves.
Because we still need to support unique device minor numbers for the cloner library, introduce a new flag called D_NEEDMINOR. All cdevsw's that are used in combination with the cloner library should be marked with this flag to make the cloning work.
This means drivers can now freely use si_drv0 to store their own flags and state, making it effectively the same as si_drv1 and si_drv2. We still keep the minor() and dev2unit() routines around to make drivers happy.
The NTFS code also used the minor number in its hash table. We should not do this anymore. If the si_drv0 field would be changed, it would no longer end up in the same list.
Approved by: philip (mentor)
|
#
179469 |
|
31-May-2008 |
jb |
Merge a recent change from the OpenSolaris source tree. (Don't ask for a vendor import of this yet, we're in the early days of svn)
Instead of using cyclic timers to call the state clean and deadman callbacks, use a callout on FreeBSD to avoid the deadlock on FreeBSD due to trying to send interprocessor interrupts with interrupts disabled.
Reported by: ps, jhb, peter, thompsa
|
#
179307 |
|
25-May-2008 |
jb |
Comment out the code that breaks with invariants. This is stuff that is still WIP along with the lockstat provider, so there is no harm leaving it out for now.
|
#
179198 |
|
22-May-2008 |
jb |
FreeBSD changes to vendor source.
|
#
179194 |
|
22-May-2008 |
jb |
This commit was generated by cvs2svn to compensate for changes in r179193, which included commits to RCS files with non-trunk default branches.
|
#
179193 |
|
22-May-2008 |
jb |
Vendor import of the src/sys OpenSolaris bits for DTrace.
|