include/linux/cacheflush.h

Source file repositories/reference/linux-study-clean/include/linux/cacheflush.h

File Facts

System
Linux kernel
Corpus path
include/linux/cacheflush.h
Extension
.h
Size
675 bytes
Lines
30
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.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef _LINUX_CACHEFLUSH_H
#define _LINUX_CACHEFLUSH_H

#include <asm/cacheflush.h>

struct folio;

#if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
#ifndef flush_dcache_folio
void flush_dcache_folio(struct folio *folio);
#endif
#else
static inline void flush_dcache_folio(struct folio *folio)
{
}
#define flush_dcache_folio flush_dcache_folio
#endif /* ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE */

#ifndef flush_icache_pages
static inline void flush_icache_pages(struct vm_area_struct *vma,
				     struct page *page, unsigned int nr)
{
}
#endif

#define flush_icache_page(vma, page)	flush_icache_pages(vma, page, 1)

#endif /* _LINUX_CACHEFLUSH_H */

Annotation

Implementation Notes