Cache and TLB Flushing Under Linux — The Linux Kernel documentation
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
- Pages | CS 162 HW 4cs162.org
- How to Optimize a CUDA Matmul Kernel for cuBLAS-like Performance: a Worklogsiboehm.com
- Introduction to Paging | Writing an OS in Rustos.phil-opp.com
- Reading privileged memory with a side-channel - Project Zerogoogleprojectzero.blogspot.com
- Page (computer memory) - Wikipediaen.wikipedia.org
- The "Basics" | Putting the "You" in CPUcpu.land
- Virtual memory layout | Pintos Documentationcs162.org
- Infographics: Operation Costs in CPU Clock Cycles - 6IT6it.dev
- Inside NVIDIA GPUs: Anatomy of high performance matmul kernels - Aleksa Gordićaleksagordic.com
- CS111 Assignment 6: Virtual Memoryweb.stanford.edu
- CS111 Section 7: Demand Pagingweb.stanford.edu
- Unreliable Guide To Locking — The Linux Kernel documentationdocs.kernel.org