Chapter 18 : Page Reclaim and Swapping
18.1 Overview
Swappable Pages
Page Thrashing
Page-Swapping Algorithms
18.2 Page Reclaim and Swapping in the Linux Kernel
Organization of the Swap Area
Checking Memory Utilization
Selecting Pages to Be Swapped Out
Handling Page Faults
Shrinking Kernel Caches
18.3 Managing Swap Areas
Data Structures
Creating a Swap Area
Activating a Swap Area
18.4 The Swap Cache
Identifying Swapped-Out Pages
Structure of the Cache
Adding New Pages
Searching for a Page
18.5 Writing Data Back
18.6 Page Reclaim
Overview
Data Structures
Determining Page Activity
Shrinking Zones
Isolating LRU Pages and Lumpy Reclaim
Shrinking the List of Active Pages
Reclaiming Inactive Pages
18.7 The Swap Token
18.8 Handling Swap-Page Faults
Swapping Pages in
Reading the Data
Swap Readahead
18.9 Initiating Memory Reclaim
Periodic Reclaim with kswapd
Swap-out in the Event of Acute Memory Shortage
18.10 Shrinking Other Caches
Data Structures
Registering and Removing Shrinkers
Shrinking Caches
Summary