|  | 
|  | 1 | +# Raw FBT Provider | 
|  | 2 | + | 
|  | 3 | +The [fbt provider](../reference/dtrace_providers_fbt.md) consists of | 
|  | 4 | +probes that are associated with the entry to and return from most functions | 
|  | 5 | +in the Linux kernel. It does not support tracing synthetic functions, | 
|  | 6 | +that is, compiler-generated functions with a . in their name. | 
|  | 7 | + | 
|  | 8 | +In contrast, the `rawfbt` provider implements a variant of the FBT provider | 
|  | 9 | +and always uses kprobes. It does allow tracing of synthetic functions, such | 
|  | 10 | +as compiler-generated optimized variants of functions with . suffixes. | 
|  | 11 | + | 
|  | 12 | +You can see the raw FBT probes on your system with: | 
|  | 13 | + | 
|  | 14 | +``` | 
|  | 15 | +sudo dtrace -lP rawfbt | 
|  | 16 | +``` | 
|  | 17 | + | 
|  | 18 | +As with the `fbt` provider, there could be tens of thousands of probes, | 
|  | 19 | +and effective use requires knowledge of the kernel implementation. | 
|  | 20 | + | 
|  | 21 | +**Parent topic:**[DTrace Provider Reference](../reference/dtrace_providers.md) | 
|  | 22 | + | 
|  | 23 | +## rawfbt Probes <a id="dt_ref_rawfbtprobes_prov"> | 
|  | 24 | + | 
|  | 25 | +The module name of a `rawfbt` probe is `vmlinux` for built-in modules. | 
|  | 26 | +The function name is the probed function. | 
|  | 27 | +The probe name is either `entry` or `return`. | 
|  | 28 | + | 
|  | 29 | +## rawfbt Probe Arguments <a id="dt_ref_rawfbtargs_prov"> | 
|  | 30 | + | 
|  | 31 | +The arguments to `entry` probes are the same as the arguments to the corresponding operating system kernel function. | 
|  | 32 | +These arguments can be accessed as `int64_t` values by using the `arg0`, `arg1`, `arg2`, ... variables. | 
|  | 33 | + | 
|  | 34 | +If the function has a return value, the return value is stored in `arg1` of the `return` probe. | 
|  | 35 | +If a function doesn't have a return value, `arg1` isn't defined. | 
|  | 36 | + | 
|  | 37 | +There are no typed `args[]` arguments for any `rawfbt` probes. | 
|  | 38 | + | 
|  | 39 | +## rawfbt Stability <a id="dt_ref_rawfbtstab_prov"> | 
|  | 40 | + | 
|  | 41 | +The `rawfbt` provider uses DTrace's stability mechanism to describe its stabilities. | 
|  | 42 | +These stability values are listed in the following table. | 
|  | 43 | + | 
|  | 44 | +| Element | Name Stability | Data Stability | Dependency Class | | 
|  | 45 | +| :--- | :--- | :--- | :--- | | 
|  | 46 | +| Provider | Evolving | Evolving | Common | | 
|  | 47 | +| Module | Private | Private | Unknown | | 
|  | 48 | +| Function | Private | Private | ISA | | 
|  | 49 | +| Name | Evolving | Evolving | Common | | 
|  | 50 | +| Arguments | Private | Private | ISA | | 
0 commit comments