kernel/rcu/rcuscale.c
Source file repositories/reference/linux-study-clean/kernel/rcu/rcuscale.c
File Facts
- System
- Linux kernel
- Corpus path
kernel/rcu/rcuscale.c- Extension
.c- Size
- 32106 bytes
- Lines
- 1177
- Domain
- Core OS
- Bucket
- Scheduler, Processes, Timers, Sync, And Syscalls
- Inferred role
- Core OS: exported/initcall integration point
- Status
- integration implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Exports symbols or registers init work; inspect boot/module ordering and who consumes the exported contract.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Allocates kernel memory; connect allocation flags and lifetime to context constraints.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hlinux/kernel.hlinux/init.hlinux/mm.hlinux/module.hlinux/kthread.hlinux/err.hlinux/spinlock.hlinux/smp.hlinux/rcupdate.hlinux/interrupt.hlinux/sched.huapi/linux/sched/types.hlinux/atomic.hlinux/bitops.hlinux/completion.hlinux/moduleparam.hlinux/percpu.hlinux/notifier.hlinux/reboot.hlinux/freezer.hlinux/cpu.hlinux/delay.hlinux/stat.hlinux/srcu.hlinux/slab.hasm/byteorder.hlinux/torture.hlinux/vmalloc.hlinux/rcupdate_trace.hlinux/sched/debug.hrcu.h
Detected Declarations
struct writer_mblockstruct writer_freeliststruct rcu_scale_opsstruct kfree_objfunction rcu_scale_read_lockfunction rcu_scale_read_unlockfunction rcu_no_completedfunction rcu_sync_scale_initfunction srcu_scale_read_lockfunction srcu_scale_read_unlockfunction srcu_scale_completedfunction srcu_call_rcufunction srcu_rcu_barrierfunction srcu_scale_synchronizefunction srcu_scale_statsfunction srcu_scale_synchronize_expeditedfunction srcu_sync_scale_initfunction srcu_sync_scale_cleanupfunction tasks_scale_read_lockfunction tasks_scale_read_unlockfunction tasks_rude_scale_read_lockfunction tasks_rude_scale_read_unlockfunction tasks_trace_scale_read_lockfunction tasks_trace_scale_read_unlockfunction rcuscale_seq_difffunction rcu_scale_wait_shutdownfunction rcu_scale_readerfunction rcu_scale_freefunction rcu_scale_writerfunction rcu_scale_writerfunction rcu_scale_print_module_parmsfunction compute_realfunction kfree_call_rcufunction kfree_scale_threadfunction kfree_scale_cleanupfunction call_rcu_lazy_test1function kfree_scale_initfunction rcu_scale_cleanupfunction rcu_scale_initmodule init rcu_scale_init
Annotated Snippet
module_init(rcu_scale_init);
module_exit(rcu_scale_cleanup);
Annotation
- Immediate include surface: `linux/types.h`, `linux/kernel.h`, `linux/init.h`, `linux/mm.h`, `linux/module.h`, `linux/kthread.h`, `linux/err.h`, `linux/spinlock.h`.
- Detected declarations: `struct writer_mblock`, `struct writer_freelist`, `struct rcu_scale_ops`, `struct kfree_obj`, `function rcu_scale_read_lock`, `function rcu_scale_read_unlock`, `function rcu_no_completed`, `function rcu_sync_scale_init`, `function srcu_scale_read_lock`, `function srcu_scale_read_unlock`.
- Atlas domain: Core OS / Scheduler, Processes, Timers, Sync, And Syscalls.
- Implementation status: integration implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.