kernel/trace/remote_test.c

Source file repositories/reference/linux-study-clean/kernel/trace/remote_test.c

File Facts

System
Linux kernel
Corpus path
kernel/trace/remote_test.c
Extension
.c
Size
6058 bytes
Lines
262
Domain
Core OS
Bucket
Scheduler, Processes, Timers, Sync, And Syscalls
Inferred role
Core OS: operation-table or driver-model contract
Status
pattern implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

static const struct file_operations write_event_fops = {
	.write	= write_event_write,
};

static int remote_test_init_tracefs(struct dentry *d, void *unused)
{
	return tracefs_create_file("write_event", 0200, d, NULL, &write_event_fops) ?
		0 : -ENOMEM;
}

static struct trace_remote_callbacks trace_remote_callbacks = {
	.init			= remote_test_init_tracefs,
	.load_trace_buffer	= remote_test_load,
	.unload_trace_buffer	= remote_test_unload,
	.enable_tracing		= remote_test_enable_tracing,
	.swap_reader_page	= remote_test_swap_reader_page,
	.reset			= remote_test_reset,
	.enable_event		= remote_test_enable_event,
};

static int __init remote_test_init(void)
{
	return trace_remote_register("test", &trace_remote_callbacks, NULL,
				     &remote_event_selftest, 1);
}

module_init(remote_test_init);

MODULE_DESCRIPTION("Test module for the trace remote interface");
MODULE_AUTHOR("Vincent Donnefort");
MODULE_LICENSE("GPL");

Annotation

Implementation Notes