Lines Matching refs:frontswap
11 (Note, frontswap -- and :ref:`cleancache` (merged at 3.0) -- are the "frontends"
15 for a detailed overview of frontswap and related kernel parts)
26 links itself to frontswap by calling frontswap_register_ops to set the
30 An "init" prepares the device to receive frontswap pages associated
42 to swap out a page, it first attempts to use frontswap. If the store returns
48 If a backend chooses, frontswap can be configured as a "writethrough
52 store frontswap pages to more completely manage its memory usage.
57 never be obtained from frontswap.
59 If properly configured, monitoring of frontswap is done via debugfs in
60 the `/sys/kernel/debug/frontswap` directory. The effectiveness of
61 frontswap can be measured (across all swap devices) with:
90 but-much-faster-than-disk "pseudo-RAM device" and the frontswap (and
126 memory pressure may result in swapping; frontswap allows those pages
132 using frontswap, investigation is also underway on the use of NVM as
136 what's the space/time overhead of frontswap?
138 If CONFIG_FRONTSWAP is disabled, every frontswap hook compiles into
140 swap device. If CONFIG_FRONTSWAP is enabled but no frontswap "backend"
143 AND a frontswap backend registers AND the backend fails every "store"
145 CPU overhead is still negligible -- and since every frontswap fail
150 As for space, if CONFIG_FRONTSWAP is enabled AND a frontswap backend
155 Dickins has observed that frontswap could probably steal one of
166 * OK, how about a quick overview of what this frontswap patch does
169 Let's assume that a frontswap "backend" has registered during
171 frontswap backend has access to some "memory" that is not directly
177 This notifies frontswap to expect attempts to "store" swap pages
182 consults with the frontswap backend and if the backend says it does NOT
184 to the swap device as normal. Note that the response from the frontswap
190 frontswap sets a bit in the "frontswap_map" for the swap device
196 see if the page was earlier accepted by the frontswap backend. If
197 it was, the page of data is filled from the frontswap backend and
201 So every time the frontswap backend accepts a page, a swap device read
202 and (potentially) a swap device write are replaced by a "frontswap backend
203 store" and (possibly) a "frontswap backend loads", which are presumably much
206 * Can't frontswap be configured as a "special" swap device that is
219 For example, the acceptance of any swap page by the frontswap backend is
220 entirely unpredictable. This is critical to the definition of frontswap
226 Further, frontswap is entirely synchronous whereas a real swap
232 conditions that would unnecessarily and greatly complicate frontswap
235 is free to manipulate the pages stored by frontswap. For example,
237 kernel sockets to move compressed frontswap pages to a remote machine.
247 frontswap: Since any "store" might fail, there must always be a real
248 slot on a real swap device to swap the page. Thus frontswap must be
252 that frontswap cannot contain more pages than the total of swapon'd
254 installation, frontswap is useless. Swapless portable devices
255 can still use frontswap but a backend for such devices must configure
267 frontswap rejects a store that would overwrite, it also must invalidate
274 When the (non-frontswap) swap subsystem swaps out a page to a real
276 space. But if frontswap has placed a page in transcendent memory, that
279 of the memory managed by frontswap and back into kernel-addressable memory.
285 * Why does the frontswap patch create the new include file swapfile.h?
287 The frontswap code depends on some swap-subsystem-internal data