flâneur — a map of the web's best reading

Cache and TLB Flushing Under Linux — The Linux Kernel documentation

docs.kernel.org · 2,767 words · saved by 1 readers

This document describes the cache/tlb flushing interfaces called by the Linux VM subsystem. It enumerates over each interface, describes its intended purpose, and what side effect is expected after the interface is invoked. The side effects described below are stated for a uniprocessor implementation, and what is to happen on that single processor. The SMP cases are a simple extension, in that you just extend the definition such that the side effect for a particular interface occurs on all processors in the system. Don't let this scare you into thinking SMP cache/tlb flushing must be so inefficient, this is in fact an area where many optimizations are possible. For example, if it can be proven that a user address space has never executed on a cpu (see mm_cpumask()), one need not perform a flush for this address space on that cpu. First, the TLB flushing interfaces, since they are the simplest. The "TLB" is abstracted under Linux as something the cpu uses to cache virtual-->physical add

Cache and TLB Flushing Under Linux — The Linux Kernel documentation The Linux Kernel 7.1.0 Quick search Contents Development process Submitting patches Code of conduct Maintainer handbook All development-process docs Core API Core utilities Data structures and low-level utilities Low level entry and exit Concurrency primitives Low-level hardware management Cache and TLB Flushing Under Linux CPU hotplug in the Kernel Memory hotplug Linux generic IRQ handling Memory Protection Keys Memory management Interfaces for kernel debugging Everything else Driver APIs Subsystems Locking Licensing ru

Explore this link on the map →

saved by

related reading