Skip to content

Latest commit

 

History

History
73 lines (57 loc) · 3.86 KB

bpf_per_cpu_ptr.md

File metadata and controls

73 lines (57 loc) · 3.86 KB
title description
Helper Function 'bpf_per_cpu_ptr'
This page documents the 'bpf_per_cpu_ptr' eBPF helper function, including its defintion, usage, program types that can use it, and examples.

Helper function bpf_per_cpu_ptr

:octicons-tag-24: v5.10

Definition

Copyright (c) 2015 The Libbpf Authors. All rights reserved.

Take a pointer to a percpu ksym, percpu_ptr, and return a pointer to the percpu kernel variable on cpu. A ksym is an extern variable decorated with '__ksym'. For ksym, there is a global var (either static or global) defined of the same name in the kernel. The ksym is percpu if the global var is percpu. The returned pointer points to the global percpu var on cpu.

bpf_per_cpu_ptr() has the same semantic as per_cpu_ptr() in the kernel, except that bpf_per_cpu_ptr() may return NULL. This happens if cpu is larger than nr_cpu_ids. The caller of bpf_per_cpu_ptr() must check the returned value.

Returns

A pointer pointing to the kernel percpu variable on cpu, or NULL, if cpu is invalid.

#!c static void *(* const bpf_per_cpu_ptr)(const void *percpu_ptr, __u32 cpu) = (void *) 153;

Usage

!!! example "Docs could be improved" This part of the docs is incomplete, contributions are very welcome

Program types

This helper call can be used in the following program types:

Example

!!! example "Docs could be improved" This part of the docs is incomplete, contributions are very welcome