Lines Matching full:swap
7 Frontswap provides a "transcendent memory" interface for swap pages.
9 swapped pages are saved in RAM (or a RAM-like device) instead of a swap disk.
14 a "backing" store for a swap device. The storage is assumed to be
25 with the specified swap device number (aka "type"). A "store" will
31 associated with the swap type (e.g., like swapoff) and notify the "device"
32 to refuse further stores with that swap type.
36 to swap out a page, it first attempts to use frontswap. If the store returns
40 page can be written to swap as usual.
49 frontswap can be measured (across all swap devices) with:
72 providing a clean, dynamic interface to read and write swap pages to
76 useful for write-balancing for some RAM-like devices). Swap pages (and
96 i.e. when system A is overcommitted, it can swap to system B, and
98 many servers in a cluster can swap, dynamically as needed, to a single
126 swap device. If CONFIG_FRONTSWAP is enabled but no frontswap "backend"
128 every swap page read or written. If CONFIG_FRONTSWAP is enabled
132 precedes a swap page write-to-disk, the system is highly likely
137 registers, one bit is allocated for every swap page for every swap
140 for every swap page for every swap device that is swapon'd. (Hugh
143 later.) For very large swap disks (which are rare) on a standard
144 4K pagesize, this is 1MB per 32GB swap.
146 When swap pages are stored in transcendent memory instead of written
161 Whenever a swap-device is swapon'd frontswap_init() is called,
162 passing the swap device number (aka "type") as a parameter.
163 This notifies frontswap to expect attempts to "store" swap pages
166 Whenever the swap subsystem is readying a page to write to a swap
170 to the swap device as normal. Note that the response from the frontswap
176 frontswap sets a bit in the "frontswap_map" for the swap device
177 corresponding to the page offset on the swap device to which it would
180 When the swap subsystem needs to swap-in a page (swap_readpage()),
184 the swap-in is complete. If not, the normal swap-in code is
185 executed to obtain the page of data from the real swap device.
187 So every time the frontswap backend accepts a page, a swap device read
188 and (potentially) a swap device write are replaced by a "frontswap backend
192 * Can't frontswap be configured as a "special" swap device that is
193 just higher priority than any real swap device (e.g. like zswap,
194 or maybe swap-over-nbd/NFS)?
196 No. First, the existing swap subsystem doesn't allow for any kind of
197 swap hierarchy. Perhaps it could be rewritten to accommodate a hierarchy,
199 rewritten, the existing swap subsystem uses the block I/O layer which
200 assumes a swap device is fixed size and any page in it is linearly
201 addressable. Frontswap barely touches the existing swap subsystem,
205 For example, the acceptance of any swap page by the frontswap backend is
212 Further, frontswap is entirely synchronous whereas a real swap
234 slot on a real swap device to swap the page. Thus frontswap must be
236 capability of holding every page that the swap device might have held
239 swap devices. For example, if NO swap device is configured on some
242 some kind of "ghost" swap device and ensure that it is never used.
255 swap subsystem then writes the new data to the read swap device,
260 The frontswap code depends on some swap-subsystem-internal data
264 included by the large number of source files that include swap.h.