<div dir="auto"><div>Small grammar nit below ..<br><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Tue, Oct 21, 2025, 23:23 <<a href="mailto:eugene.loh@oracle.com">eugene.loh@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">From: Eugene Loh <<a href="mailto:eugene.loh@oracle.com" target="_blank" rel="noreferrer">eugene.loh@oracle.com</a>><br>
<br>
Signed-off-by: Eugene Loh <<a href="mailto:eugene.loh@oracle.com" target="_blank" rel="noreferrer">eugene.loh@oracle.com</a>><br>
---<br>
doc/userguide/index.md | 4 ++<br>
doc/userguide/reference/dtrace_providers.md | 2 +<br>
.../reference/dtrace_providers_rawfbt.md | 50 +++++++++++++++++++<br>
3 files changed, 56 insertions(+)<br>
create mode 100644 doc/userguide/reference/dtrace_providers_rawfbt.md<br>
<br>
diff --git a/doc/userguide/index.md b/doc/userguide/index.md<br>
index f86c8b9e5..da9a08687 100644<br>
--- a/doc/userguide/index.md<br>
+++ b/doc/userguide/index.md<br>
@@ -241,6 +241,10 @@<br>
- [profile Probe Arguments](reference/dtrace_providers_profile.md#dt_ref_profargs_prov)<br>
- [profile Probe Creation](reference/dtrace_providers_profile.md#dt_ref_profprobecreate_prov)<br>
- [profile Stability](reference/dtrace_providers_profile.md#dt_ref_profstab_prov)<br>
+ - [Raw FBT Provider](reference/dtrace_providers_rawfbt.md)<br>
+ - [rawfbt Probes](reference/dtrace_providers_rawfbt.md#dt_ref_rawfbtprobes_prov)<br>
+ - [rawfbt Probe Arguments](reference/dtrace_providers_rawfbt.md#dt_ref_rawfbtargs_prov)<br>
+ - [rawfbt Stability](reference/dtrace_providers_rawfbt.md#dt_ref_rawfbtstab_prov)<br>
- [Rawtp Provider](reference/dtrace_providers_rawtp.md#dt_ref_rawtp_prov)<br>
- [rawtp Stability](reference/dtrace_providers_rawtp.md#dt_ref_rawtpstab_prov)<br>
- [Sched Provider](reference/dtrace_providers_sched.md#dt_ref_sched_prov)<br>
diff --git a/doc/userguide/reference/dtrace_providers.md b/doc/userguide/reference/dtrace_providers.md<br>
index f11bacb2f..741a34fc8 100644<br>
--- a/doc/userguide/reference/dtrace_providers.md<br>
+++ b/doc/userguide/reference/dtrace_providers.md<br>
@@ -21,6 +21,8 @@ The `pid` provider traces a user process, both function `entry` and `return`, an<br>
The `proc` provider makes available the probes that pertain to the following activities: process creation and termination, LWP creation and termination, execution of new program images, and signal sending and handling.<br>
- **[Profile Provider](../reference/dtrace_providers_profile.md)**<br>
The `profile` provider includes probes that are associated with an interrupt that fires at some regular, specified time interval.<br>
+- **[Raw FBT Provider](../reference/dtrace_providers_rawfbt.md)** <br>
+The `rawfbt` provider is a version of the `fbt` provider based on kprobes and allowing probing of synthetic function variants generated by the compiler.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Either "and allows" or "allowing".</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
- **[Rawtp Provider](../reference/dtrace_providers_rawtp.md)** <br>
The `rawtp` provider gives DTrace users access to the raw tracepoints exposed by the kernel tracing system, including access to the untranslated arguments of the associated tracepoint events.<br>
- **[Sched Provider](../reference/dtrace_providers_sched.md)**<br>
diff --git a/doc/userguide/reference/dtrace_providers_rawfbt.md b/doc/userguide/reference/dtrace_providers_rawfbt.md<br>
new file mode 100644<br>
index 000000000..7b1fc7723<br>
--- /dev/null<br>
+++ b/doc/userguide/reference/dtrace_providers_rawfbt.md<br>
@@ -0,0 +1,50 @@<br>
+# Raw FBT Provider<br>
+<br>
+The [fbt provider](../reference/dtrace_providers_fbt.md) consists of<br>
+probes that are associated with the entry to and return from most functions<br>
+in the Linux kernel. It does not support tracing synthetic functions,<br>
+that is, compiler-generated functions with a . in their name.<br>
+<br>
+In contrast, the `rawfbt` provider implements a variant of the FBT provider<br>
+and always uses kprobes. It does allow tracing of synthetic functions, such<br>
+as compiler-generated optimized variants of functions with . suffixes.<br>
+<br>
+You can see the raw FBT probes on your system with:<br>
+<br>
+```<br>
+sudo dtrace -lP rawfbt<br>
+```<br>
+<br>
+As with the `fbt` provider, there could be tens of thousands of probes,<br>
+and effective use requires knowledge of the kernel implementation.<br>
+<br>
+**Parent topic:**[DTrace Provider Reference](../reference/dtrace_providers.md)<br>
+<br>
+## rawfbt Probes <a id="dt_ref_rawfbtprobes_prov"><br>
+<br>
+The module name of a `rawfbt` probe is `vmlinux` for built-in modules.<br>
+The function name is the probed function.<br>
+The probe name is either `entry` or `return`.<br>
+<br>
+## rawfbt Probe Arguments <a id="dt_ref_rawfbtargs_prov"><br>
+<br>
+The arguments to `entry` probes are the same as the arguments to the corresponding operating system kernel function.<br>
+These arguments can be accessed as `int64_t` values by using the `arg0`, `arg1`, `arg2`, ... variables.<br>
+<br>
+If the function has a return value, the return value is stored in `arg1` of the `return` probe.<br>
+If a function doesn't have a return value, `arg1` isn't defined.<br>
+<br>
+There are no typed `args[]` arguments for any `rawfbt` probes.<br>
+<br>
+## rawfbt Stability <a id="dt_ref_rawfbtstab_prov"><br>
+<br>
+The `rawfbt` provider uses DTrace's stability mechanism to describe its stabilities.<br>
+These stability values are listed in the following table.<br>
+<br>
+| Element | Name Stability | Data Stability | Dependency Class |<br>
+| :--- | :--- | :--- | :--- |<br>
+| Provider | Evolving | Evolving | Common |<br>
+| Module | Private | Private | Unknown |<br>
+| Function | Private | Private | ISA |<br>
+| Name | Evolving | Evolving | Common |<br>
+| Arguments | Private | Private | ISA |<br>
-- <br>
2.47.3<br>
<br>
<br>
</blockquote></div></div></div>