Blame view

include/linux/swap_slots.h 841 Bytes
b24413180   Greg Kroah-Hartman   License cleanup: ...
1
  /* SPDX-License-Identifier: GPL-2.0 */
67afa38e0   Tim Chen   mm/swap: add cach...
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
  #ifndef _LINUX_SWAP_SLOTS_H
  #define _LINUX_SWAP_SLOTS_H
  
  #include <linux/swap.h>
  #include <linux/spinlock.h>
  #include <linux/mutex.h>
  
  #define SWAP_SLOTS_CACHE_SIZE			SWAP_BATCH
  #define THRESHOLD_ACTIVATE_SWAP_SLOTS_CACHE	(5*SWAP_SLOTS_CACHE_SIZE)
  #define THRESHOLD_DEACTIVATE_SWAP_SLOTS_CACHE	(2*SWAP_SLOTS_CACHE_SIZE)
  
  struct swap_slots_cache {
  	bool		lock_initialized;
  	struct mutex	alloc_lock; /* protects slots, nr, cur */
  	swp_entry_t	*slots;
  	int		nr;
  	int		cur;
  	spinlock_t	free_lock;  /* protects slots_ret, n_ret */
  	swp_entry_t	*slots_ret;
  	int		n_ret;
  };
  
  void disable_swap_slots_cache_lock(void);
  void reenable_swap_slots_cache_unlock(void);
f3bc52cb0   Miaohe Lin   mm/swap_slots.c: ...
26
  void enable_swap_slots_cache(void);
67afa38e0   Tim Chen   mm/swap: add cach...
27
  int free_swap_slot(swp_entry_t entry);
ba81f8384   Huang Ying   mm/swap: skip rea...
28
  extern bool swap_slot_cache_enabled;
67afa38e0   Tim Chen   mm/swap: add cach...
29
  #endif /* _LINUX_SWAP_SLOTS_H */