---
name: "trace_puts"
section: "9"
platform: "linux"
package: "linux-manual-3.16"
version: "3.16.56-1+deb8u1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/trace_puts"
---

# trace\_puts(9)

write a string into the ftrace buffer

## NAME

trace\_puts - write a string into the ftrace buffer

## SYNOPSIS

**trace\_puts(***str***);**

## ARGUMENTS

*str*

the string to record

## NOTE

\_\_trace\_bputs is an internal function for trace\_puts and the *ip* is passed in via the trace\_puts macro.

This is similar to **trace\_printk** but is made for those really fast paths that a developer wants the least amount of “Heisenbug” affects, where the processing of the print format is still too much.

This function allows a kernel developer to debug fast path sections that printk is not appropriate for. By scattering in various printk like tracing in the code, a developer can quickly see where problems are occurring.

This is intended as a debugging tool for the developer only. Please refrain from leaving trace\_puts scattered around in your code. (Extra memory is used for special buffers that are allocated when **trace\_puts** is used)

## RETURNS

0 if nothing was written, positive # if string was. (1 when \_\_trace\_bputs is used, strlen(str) when \_\_trace\_puts is used)

## COPYRIGHT
