include/linux/cache_coherency.h
Source file repositories/reference/linux-study-clean/include/linux/cache_coherency.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/cache_coherency.h- Extension
.h- Size
- 1947 bytes
- Lines
- 62
- 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/list.hlinux/kref.hlinux/types.h
Detected Declarations
struct cc_inval_paramsstruct cache_coherency_ops_inststruct cache_coherency_opsstruct cache_coherency_ops_inst
Annotated Snippet
struct cc_inval_params {
phys_addr_t addr;
size_t size;
};
struct cache_coherency_ops_inst;
struct cache_coherency_ops {
int (*wbinv)(struct cache_coherency_ops_inst *cci,
struct cc_inval_params *invp);
int (*done)(struct cache_coherency_ops_inst *cci);
};
struct cache_coherency_ops_inst {
struct kref kref;
struct list_head node;
const struct cache_coherency_ops *ops;
};
int cache_coherency_ops_instance_register(struct cache_coherency_ops_inst *cci);
void cache_coherency_ops_instance_unregister(struct cache_coherency_ops_inst *cci);
struct cache_coherency_ops_inst *
_cache_coherency_ops_instance_alloc(const struct cache_coherency_ops *ops,
size_t size);
/**
* cache_coherency_ops_instance_alloc - Allocate cache coherency ops instance
* @ops: Cache maintenance operations
* @drv_struct: structure that contains the struct cache_coherency_ops_inst
* @member: Name of the struct cache_coherency_ops_inst member in @drv_struct.
*
* This allocates a driver specific structure and initializes the
* cache_coherency_ops_inst embedded in the drv_struct. Upon success the
* pointer must be freed via cache_coherency_ops_instance_put().
*
* Returns a &drv_struct * on success, %NULL on error.
*/
#define cache_coherency_ops_instance_alloc(ops, drv_struct, member) \
({ \
static_assert(__same_type(struct cache_coherency_ops_inst, \
((drv_struct *)NULL)->member)); \
static_assert(offsetof(drv_struct, member) == 0); \
(drv_struct *)_cache_coherency_ops_instance_alloc(ops, \
sizeof(drv_struct)); \
})
void cache_coherency_ops_instance_put(struct cache_coherency_ops_inst *cci);
#endif
Annotation
- Immediate include surface: `linux/list.h`, `linux/kref.h`, `linux/types.h`.
- Detected declarations: `struct cc_inval_params`, `struct cache_coherency_ops_inst`, `struct cache_coherency_ops`, `struct cache_coherency_ops_inst`.
- 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.