📄 swap.h
字号:
#ifndef _LINUX_SWAP_H#define _LINUX_SWAP_H#include <linux/linkage.h>#include <linux/mmzone.h>#include <linux/sched.h>#include <asm/atomic.h>#include <asm/page.h>#define SWAP_FLAG_PREFER 0x8000 /* set if swap priority specified */#define SWAP_FLAG_PRIO_MASK 0x7fff#define SWAP_FLAG_PRIO_SHIFT 0static inline int current_is_kswapd(void){ return current->flags & PF_KSWAPD;}/* * MAX_SWAPFILES defines the maximum number of swaptypes: things which can * be swapped to. The swap type and the offset into that swap type are * encoded into pte's and into pgoff_t's in the swapcache. Using five bits * for the type means that the maximum number of swapcache pages is 27 bits * on 32-bit-pgoff_t architectures. And that assumes that the architecture packs * the type/offset into the pte as 5/27 as well. */#define MAX_SWAPFILES_SHIFT 5#define MAX_SWAPFILES (1 << MAX_SWAPFILES_SHIFT)/* * Magic header for a swap area. The first part of the union is * what the swap magic looks like for the old (limited to 128MB) * swap area format, the second part of the union adds - in the * old reserved area - some extra information. Note that the first * kilobyte is reserved for boot loader or disk label stuff... * * Having the magic at the end of the PAGE_SIZE makes detecting swap * areas somewhat tricky on machines that support multiple page sizes. * For 2.5 we'll probably want to move the magic to just beyond the * bootbits... */union swap_header { struct { char reserved[PAGE_SIZE - 10]; char magic[10]; /* SWAP-SPACE or SWAPSPACE2 */ } magic; struct { char bootbits[1024]; /* Space for disklabel etc. */ unsigned int version; unsigned int last_page; unsigned int nr_badpages; unsigned int padding[125]; unsigned int badpages[1]; } info;}; /* A swap entry has to fit into a "unsigned long", as * the entry is hidden in the "index" field of the * swapper address space. */typedef struct { unsigned long val;} swp_entry_t;/* * current->reclaim_state points to one of these when a task is running * memory reclaim */struct reclaim_state { unsigned long reclaimed_slab;};#endif /* _LINUX_SWAP_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -