---
name: "tep_set_page_size"
section: "3"
platform: "linux"
package: "libtraceevent-doc"
version: "1:1.8.4-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/tep_get_page_size"
---

# tep\_set\_page\_size(3)

Get / set the size of a memory page on the machine, where the trace is generated

Part of [tep\_get\_page\_size(3)](/tep_get_page_size/3.md).

## NAME

tep\_get\_page\_size, tep\_set\_page\_size, tep\_get\_sub\_buffer\_data\_size, tep\_get\_sub\_buffer\_size - Get / set the size of a memory page on the machine, where the trace is generated

## SYNOPSIS

```
#include <event-parse.h>
int tep_get_page_size(struct tep_handle *tep);
void tep_set_page_size(struct tep_handle *tep, int page_size);
int tep_get_sub_buffer_size(struct tep_handle *tep);
int tep_get_sub_buffer_data_size(struct tep_handle *tep);
int tep_get_sub_buffer_commit_offset(struct tep_handle *tep);
```

## DESCRIPTION

The **tep\_get\_page\_size()** function returns the size of a memory page on the machine, where the trace is generated. The *tep* argument is trace event parser context.

The **tep\_set\_page\_size()** function stores in the *tep* context the size of a memory page on the machine, where the trace is generated. The *tep* argument is trace event parser context. The *page\_size* argument is the size of a memory page, in bytes.

The **tep\_get\_sub\_buffer\_size()** returns the size of each "sub buffer" of the ring buffer. The Linux kernel ring buffer is broken up into sections called sub buffers. This returns the size of those buffers.

The **tep\_get\_sub\_buffer\_data\_size()** returns the size of just the data portion of the sub buffers.

The **tep\_get\_sub\_buffer\_commit\_offset()** returns the offset on the sub buffer that holds the committed portion of data. This number contains the index from the data portion of the sub buffer that is the end of the last element on the sub buffer.

## RETURN VALUE

The **tep\_get\_page\_size()** function returns size of the memory page, in bytes.

The **tep\_get\_sub\_buffer\_size()** function returns the number of bytes each sub buffer is made up of.

The **tep\_get\_sub\_buffer\_commit\_offset()** function returns the location on the sub buffer that contains the index of the last element.

## EXAMPLE

```
#include <unistd.h>
#include <event-parse.h>
...
struct tep_handle *tep = tep_alloc();
...
        int page_size = getpagesize();
        tep_set_page_size(tep, page_size);
        printf("The page size for this machine is %d\n", tep_get_page_size(tep));
```

## FILES

```
event-parse.h
        Header file to include in order to have access to the library APIs.
-ltraceevent
        Linker switch to add when building a program that uses the library.
```

## SEE ALSO

[**libtraceevent**(3)](/libtraceevent/3.md), [**trace-cmd**(1)](/trace-cmd/1.md)

## AUTHOR

```
Steven Rostedt <rostedt@goodmis.org[1]>, author of libtraceevent.
Tzvetomir Stoyanov <tz.stoyanov@gmail.com[2]>, author of this man page.
```

## REPORTING BUGS

Report bugs to \<**linux-trace-devel@vger.kernel.org**\[3\]\>

## LICENSE

libtraceevent is Free Software licensed under the GNU LGPL 2.1

## RESOURCES

**https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/**

## NOTES

- 1\.

  rostedt@goodmis.org

  mailto:rostedt@goodmis.org

- 2\.

  tz.stoyanov@gmail.com

  mailto:tz.stoyanov@gmail.com

- 3\.

  linux-trace-devel@vger.kernel.org

  mailto:linux-trace-devel@vger.kernel.org
