Solaris Dynamic Tracing Guide

Chapter 29 fpuinfo Provider

The fpuinfo provider makes available 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 through either kstat(1M) and the fpu_info kernel statistic or trapstat(1M) and the fp-xcp-other trap.

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 Table 29–1.

Table 29–1 fpuinfo Probes

fpu_sim_fitoq

Probe that fires whenever an fitoq instruction is simulated by the kernel.

fpu_sim_fitod

Probe that fires whenever an fitod instruction is simulated by the kernel.

fpu_sim_fitos

Probe that fires whenever an fitos instruction is simulated by the kernel.

fpu_sim_fxtoq

Probe that fires whenever an fxtoq instruction is simulated by the kernel.

fpu_sim_fxtod

Probe that fires whenever an fxtod instruction is simulated by the kernel.

fpu_sim_fxtos

Probe that fires whenever an fxtos instruction is simulated by the kernel.

fpu_sim_fqtox

Probe that fires whenever an fqtox instruction is simulated by the kernel.

fpu_sim_fdtox

Probe that fires whenever an fdtox instruction is simulated by the kernel.

fpu_sim_fstox

Probe that fires whenever an fstox instruction is simulated by the kernel.

fpu_sim_fqtoi

Probe that fires whenever an fqtoi instruction is simulated by the kernel.

fpu_sim_fdtoi

Probe that fires whenever an fdtoi instruction is simulated by the kernel.

fpu_sim_fstoi

Probe that fires whenever an fstoi instruction is simulated by the kernel.

fpu_sim_fsqrtq

Probe that fires whenever an fsqrtq instruction is simulated by the kernel.

fpu_sim_fsqrtd

Probe that fires whenever an fsqrtd instruction is simulated by the kernel.

fpu_sim_fsqrts

Probe that fires whenever an fsqrts instruction is simulated by the kernel.

fpu_sim_fcmpeq

Probe that fires whenever an fcmpeq instruction is simulated by the kernel.

fpu_sim_fcmped

Probe that fires whenever an fcmped instruction is simulated by the kernel.

fpu_sim_fcmpes

Probe that fires whenever an fcmpes instruction is simulated by the kernel.

fpu_sim_fcmpq

Probe that fires whenever an fcmpq instruction is simulated by the kernel.

fpu_sim_fcmpd

Probe that fires whenever an fcmpd instruction is simulated by the kernel.

fpu_sim_fcmps

Probe that fires whenever an fcmps instruction is simulated by the kernel.

fpu_sim_fdivq

Probe that fires whenever an fdivq instruction is simulated by the kernel.

fpu_sim_fdivd

Probe that fires whenever an fdivd instruction is simulated by the kernel.

fpu_sim_fdivs

Probe that fires whenever an fdivs instruction is simulated by the kernel.

fpu_sim_fdmulx

Probe that fires whenever an fdmulx instruction is simulated by the kernel.

fpu_sim_fsmuld

Probe that fires whenever an fsmuld instruction is simulated by the kernel.

fpu_sim_fmulq

Probe that fires whenever an fmulq instruction is simulated by the kernel.

fpu_sim_fmuld

Probe that fires whenever an fmuld instruction is simulated by the kernel.

fpu_sim_fmuls

Probe that fires whenever an fmuls instruction is simulated by the kernel.

fpu_sim_fsubq

Probe that fires whenever an fsubq instruction is simulated by the kernel.

fpu_sim_fsubd

Probe that fires whenever an fsubd instruction is simulated by the kernel.

fpu_sim_fsubs

Probe that fires whenever an fsubs instruction is simulated by the kernel.

fpu_sim_faddq

Probe that fires whenever an faddq instruction is simulated by the kernel.

fpu_sim_faddd

Probe that fires whenever an faddd instruction is simulated by the kernel.

fpu_sim_fadds

Probe that fires whenever an fadds instruction is simulated by the kernel.

fpu_sim_fnegd

Probe that fires whenever an fnegd instruction is simulated by the kernel.

fpu_sim_fnegq

Probe that fires whenever an fneqq instruction is simulated by the kernel.

fpu_sim_fnegs

Probe that fires whenever an fnegs instruction is simulated by the kernel.

fpu_sim_fabsd

Probe that fires whenever an fabsd instruction is simulated by the kernel.

fpu_sim_fabsq

Probe that fires whenever an fabsq instruction is simulated by the kernel.

fpu_sim_fabss

Probe that fires whenever an fabss instruction is simulated by the kernel.

fpu_sim_fmovd

Probe that fires whenever an fmovd instruction is simulated by the kernel.

fpu_sim_fmovq

Probe that fires whenever an fmovq instruction is simulated by the kernel.

fpu_sim_fmovs

Probe that fires whenever an fmovs instruction is simulated by the kernel.

fpu_sim_fmovr

Probe that fires whenever an fmovr instruction is simulated by the kernel.

fpu_sim_fmovcc

Probe that fires whenever an fmovcc instruction is simulated by the kernel.

Arguments

There are no arguments to fpuinfo probes.

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 Chapter 39, Stability.

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