tools/testing/selftests/bpf/progs/profiler.h

Source file repositories/reference/linux-study-clean/tools/testing/selftests/bpf/progs/profiler.h

File Facts

System
Linux kernel
Corpus path
tools/testing/selftests/bpf/progs/profiler.h
Extension
.h
Size
4232 bytes
Lines
178
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: implementation source
Status
source implementation candidate

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

struct ancestors_data_t {
	pid_t ancestor_pids[MAX_ANCESTORS];
	uint32_t ancestor_exec_ids[MAX_ANCESTORS];
	uint64_t ancestor_start_times[MAX_ANCESTORS];
	uint32_t num_ancestors;
};

struct var_metadata_t {
	enum data_type type;
	pid_t pid;
	uint32_t exec_id;
	uid_t uid;
	gid_t gid;
	uint64_t start_time;
	uint32_t cpu_id;
	uint64_t bpf_stats_num_perf_events;
	uint64_t bpf_stats_start_ktime_ns;
	uint8_t comm_length;
};

struct cgroup_data_t {
	ino_t cgroup_root_inode;
	ino_t cgroup_proc_inode;
	uint64_t cgroup_root_mtime;
	uint64_t cgroup_proc_mtime;
	uint16_t cgroup_root_length;
	uint16_t cgroup_proc_length;
	uint16_t cgroup_full_length;
	int cgroup_full_path_root_pos;
};

struct var_sysctl_data_t {
	struct var_metadata_t meta;
	struct cgroup_data_t cgroup_data;
	struct ancestors_data_t ancestors_info;
	uint8_t sysctl_val_length;
	uint16_t sysctl_path_length;
	char payload[MAX_SYSCTL_PAYLOAD_LEN];
};

struct var_kill_data_t {
	struct var_metadata_t meta;
	struct cgroup_data_t cgroup_data;
	struct ancestors_data_t ancestors_info;
	pid_t kill_target_pid;
	int kill_sig;
	uint32_t kill_count;
	uint64_t last_kill_time;
	uint8_t kill_target_name_length;
	uint8_t kill_target_cgroup_proc_length;
	char payload[MAX_KILL_PAYLOAD_LEN];
	size_t payload_length;
};

struct var_exec_data_t {
	struct var_metadata_t meta;
	struct cgroup_data_t cgroup_data;
	pid_t parent_pid;
	uint32_t parent_exec_id;
	uid_t parent_uid;
	uint64_t parent_start_time;
	uint16_t bin_path_length;
	uint16_t cmdline_length;
	uint16_t environment_length;
	char payload[MAX_EXEC_PAYLOAD_LEN];
};

struct var_fork_data_t {
	struct var_metadata_t meta;
	pid_t parent_pid;
	uint32_t parent_exec_id;
	uint64_t parent_start_time;
	char payload[MAX_METADATA_PAYLOAD_LEN];
};

struct var_filemod_data_t {
	struct var_metadata_t meta;
	struct cgroup_data_t cgroup_data;
	enum filemod_type fmod_type;
	unsigned int dst_flags;
	uint32_t src_device_id;
	uint32_t dst_device_id;
	ino_t src_inode;
	ino_t dst_inode;
	uint16_t src_filepath_length;
	uint16_t dst_filepath_length;
	char payload[MAX_FILEMOD_PAYLOAD_LEN];
};

struct profiler_config_struct {

Annotation

Implementation Notes