include/linux/hmm.h
Source file repositories/reference/linux-study-clean/include/linux/hmm.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/hmm.h- Extension
.h- Size
- 4701 bytes
- Lines
- 137
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/mm.h
Detected Declarations
struct mmu_interval_notifierstruct hmm_rangeenum hmm_pfn_flagsfunction hmm_pfn_to_pagefunction hmm_pfn_to_physfunction hmm_pfn_to_map_order
Annotated Snippet
struct hmm_range {
struct mmu_interval_notifier *notifier;
unsigned long notifier_seq;
unsigned long start;
unsigned long end;
unsigned long *hmm_pfns;
unsigned long default_flags;
unsigned long pfn_flags_mask;
void *dev_private_owner;
};
/*
* Please see Documentation/mm/hmm.rst for how to use the range API.
*/
int hmm_range_fault(struct hmm_range *range);
/*
* HMM_RANGE_DEFAULT_TIMEOUT - default timeout (ms) when waiting for a range
*
* When waiting for mmu notifiers we need some kind of time out otherwise we
* could potentially wait for ever, 1000ms ie 1s sounds like a long time to
* wait already.
*/
#define HMM_RANGE_DEFAULT_TIMEOUT 1000
#endif /* LINUX_HMM_H */
Annotation
- Immediate include surface: `linux/mm.h`.
- Detected declarations: `struct mmu_interval_notifier`, `struct hmm_range`, `enum hmm_pfn_flags`, `function hmm_pfn_to_page`, `function hmm_pfn_to_phys`, `function hmm_pfn_to_map_order`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
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.