Go to main content

Oracle® Solaris 11.3 DTrace (Dynamic Tracing) Guide

Exit Print View

Updated: July 2018
 
 

fpuinfo Provider

The fpuinfo provider includes probes that correspond to the simulation of floating-point instructions on SPARC microprocessors. While most floating-point instructions are executed in hardware, some floating-point operations trap into the operating system for simulation. The conditions under which floating-point operations require operating system simulation are specific to a microprocessor implementation. The operations that require simulation are rare. However, if an application uses one of these operations frequently, the effect on performance could be severe. The fpuinfo provider enables rapid investigation of floating-point simulation seen by using the kstat and the fpu_info kernel statistic or trapstat and the fp-xcp-other trap. For more information, see trapstat(1M).

fpuinfo Probes

The fpuinfo provider makes available a probe for each type of floating-point instruction that can be simulated. The fpuinfo provider has a Name Stability of CPU; the names of the probes are specific to a microprocessor implementation, and might not be available on different microprocessors within the same family. For example, some of the probes listed might only be available on UltraSPARC-III and not UltraSPARC-III+ or vice versa.

The fpuinfo probes are described in Figure 25, Table 25, List of fpuinfo Probes.

Table 25  List of fpuinfo Probes
Name of Probe
Description
fpu_sim_fitoq
Fires whenever an fitoq instruction is simulated by the kernel.
fpu_sim_fitod
Fires whenever an fitod instruction is simulated by the kernel.
fpu_sim_fitos
Fires whenever an fitos instruction is simulated by the kernel.
fpu_sim_fxtoq
Fires whenever an fxtoq instruction is simulated by the kernel.
fpu_sim_fxtod
Fires whenever an fxtod instruction is simulated by the kernel.
fpu_sim_fxtos
Fires whenever an fxtos instruction is simulated by the kernel.
fpu_sim_fqtox
Fires whenever an fqtox instruction is simulated by the kernel.
fpu_sim_fdtox
Fires whenever an fdtox instruction is simulated by the kernel.
fpu_sim_fstox
Fires whenever an fstox instruction is simulated by the kernel.
fpu_sim_fqtoi
Fires whenever an fqtoi instruction is simulated by the kernel.
fpu_sim_fdtoi
Fires whenever an fdtoi instruction is simulated by the kernel.
fpu_sim_fstoi
Fires whenever an fstoi instruction is simulated by the kernel.
fpu_sim_fsqrtq
Fires whenever an fsqrtq instruction is simulated by the kernel.
fpu_sim_fsqrtd
Fires whenever an fsqrtd instruction is simulated by the kernel.
fpu_sim_fsqrts
Fires whenever an fsqrts instruction is simulated by the kernel.
fpu_sim_fcmpeq
Fires whenever an fcmpeq instruction is simulated by the kernel.
fpu_sim_fcmped
Fires whenever an fcmped instruction is simulated by the kernel.
fpu_sim_fcmpes
Fires whenever an fcmpes instruction is simulated by the kernel.
fpu_sim_fcmpq
Fires whenever an fcmpq instruction is simulated by the kernel.
fpu_sim_fcmpd
Fires whenever an fcmpd instruction is simulated by the kernel.
fpu_sim_fcmps
Fires whenever an fcmps instruction is simulated by the kernel.
fpu_sim_fdivq
Fires whenever an fdivq instruction is simulated by the kernel.
fpu_sim_fdivd
Fires whenever an fdivd instruction is simulated by the kernel.
fpu_sim_fdivs
Fires whenever an fdivs instruction is simulated by the kernel.
fpu_sim_fdmulx
Fires whenever an fdmulx instruction is simulated by the kernel.
fpu_sim_fsmuld
Fires whenever an fsmuld instruction is simulated by the kernel.
fpu_sim_fmulq
Fires whenever an fmulq instruction is simulated by the kernel.
fpu_sim_fmuld
Fires whenever an fmuld instruction is simulated by the kernel.
fpu_sim_fmuls
Fires whenever an fmuls instruction is simulated by the kernel.
fpu_sim_fsubq
Fires whenever an fsubq instruction is simulated by the kernel.
fpu_sim_fsubd
Fires whenever an fsubd instruction is simulated by the kernel.
fpu_sim_fsubs
Fires whenever an fsubs instruction is simulated by the kernel.
fpu_sim_faddq
Fires whenever an faddq instruction is simulated by the kernel.
fpu_sim_faddd
Fires whenever an faddd instruction is simulated by the kernel.
fpu_sim_fadds
Fires whenever an fadds instruction is simulated by the kernel.
fpu_sim_fnegd
Fires whenever an fnegd instruction is simulated by the kernel.
fpu_sim_fnegq
Fires whenever an fneqq instruction is simulated by the kernel.
fpu_sim_fnegs
Fires whenever an fnegs instruction is simulated by the kernel.
fpu_sim_fabsd
Fires whenever an fabsd instruction is simulated by the kernel.
fpu_sim_fabsq
Fires whenever an fabsq instruction is simulated by the kernel.
fpu_sim_fabss
Fires whenever an fabss instruction is simulated by the kernel.
fpu_sim_fmovd
Fires whenever an fmovd instruction is simulated by the kernel.
fpu_sim_fmovq
Fires whenever an fmovq instruction is simulated by the kernel.
fpu_sim_fmovs
Fires whenever an fmovs instruction is simulated by the kernel.
fpu_sim_fmovr
Fires whenever an fmovr instruction is simulated by the kernel.
fpu_sim_fmovcc
Fires whenever an fmovcc instruction is simulated by the kernel.

fpuinfo Arguments

There are no arguments to fpuinfo probes.

fpuinfo Stability

The fpuinfo provider uses DTrace's stability mechanism to describe its stabilities, as shown in the following table. For more information about the stability mechanism, see DTrace Stability Mechanisms.

Table 26  Stability Mechanism for the fpuinfo Provider
Element
Name stability
Data stability
Dependency class
Provider
Evolving
Evolving
CPU
Module
Private
Private
Unknown
Function
Private
Private
Unknown
Name
Evolving
Evolving
CPU
Arguments
Evolving
Evolving
CPU