kernel/rcu/refscale.c
Source file repositories/reference/linux-study-clean/kernel/rcu/refscale.c
File Facts
- System
- Linux kernel
- Corpus path
kernel/rcu/refscale.c- Extension
.c- Size
- 38556 bytes
- Lines
- 1593
- 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/atomic.hlinux/bitops.hlinux/completion.hlinux/cpu.hlinux/delay.hlinux/err.hlinux/init.hlinux/interrupt.hlinux/kthread.hlinux/kernel.hlinux/mm.hlinux/module.hlinux/moduleparam.hlinux/notifier.hlinux/percpu.hlinux/rcupdate.hlinux/rcupdate_trace.hlinux/reboot.hlinux/sched.hlinux/seq_buf.hlinux/spinlock.hlinux/smp.hlinux/stat.hlinux/srcu.hlinux/slab.hlinux/torture.hlinux/types.hlinux/sched/clock.hrcu.h
Detected Declarations
struct reader_taskstruct ref_scale_opsstruct refscale_typesafefunction un_delayfunction ref_rcu_read_sectionfunction ref_rcu_delay_sectionfunction rcu_sync_scale_initfunction srcu_ref_scale_read_sectionfunction srcu_ref_scale_delay_sectionfunction srcu_fast_sync_scale_initfunction srcu_fast_ref_scale_read_sectionfunction srcu_fast_ref_scale_delay_sectionfunction srcu_fast_updown_sync_scale_initfunction srcu_fast_updown_ref_scale_read_sectionfunction srcu_fast_updown_ref_scale_delay_sectionfunction rcu_tasks_ref_scale_read_sectionfunction rcu_tasks_ref_scale_delay_sectionfunction rcu_trace_ref_scale_read_sectionfunction rcu_trace_ref_scale_delay_sectionfunction ref_refcnt_sectionfunction ref_refcnt_delay_sectionfunction ref_percpuinc_sectionfunction ref_percpuinc_delay_sectionfunction ref_incpercpu_sectionfunction ref_incpercpu_delay_sectionfunction ref_incpercpupreempt_sectionfunction ref_incpercpupreempt_delay_sectionfunction ref_incpercpubh_sectionfunction ref_incpercpubh_delay_sectionfunction ref_incpercpuirqsave_sectionfunction ref_incpercpuirqsave_delay_sectionfunction ref_rwlock_initfunction ref_rwlock_sectionfunction ref_rwlock_delay_sectionfunction ref_rwsem_initfunction ref_rwsem_sectionfunction ref_rwsem_delay_sectionfunction ref_lock_sectionfunction ref_lock_delay_sectionfunction ref_lock_irq_sectionfunction ref_lock_irq_delay_sectionfunction ref_acqrel_sectionfunction ref_acqrel_delay_sectionfunction ref_sched_clock_sectionfunction ref_sched_clock_delay_sectionfunction ref_clock_sectionfunction ref_clock_delay_sectionfunction ref_jiffies_section
Annotated Snippet
module_init(ref_scale_init);
module_exit(ref_scale_cleanup);
Annotation
- Immediate include surface: `linux/atomic.h`, `linux/bitops.h`, `linux/completion.h`, `linux/cpu.h`, `linux/delay.h`, `linux/err.h`, `linux/init.h`, `linux/interrupt.h`.
- Detected declarations: `struct reader_task`, `struct ref_scale_ops`, `struct refscale_typesafe`, `function un_delay`, `function ref_rcu_read_section`, `function ref_rcu_delay_section`, `function rcu_sync_scale_init`, `function srcu_ref_scale_read_section`, `function srcu_ref_scale_delay_section`, `function srcu_fast_sync_scale_init`.
- 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.