xref: /386bsd/usr/src/kernel/include/swap.h (revision a2142627)
1 
2 #define NSWSIZES	16	/* size of swtab */
3 #define NPENDINGIO	64	/* max # of pending cleans */
4 #define MAXDADDRS	64	/* max # of disk addrs for fixed allocations */
5 
6 struct swpagerclean {
7 	queue_head_t		spc_list;
8 	int			spc_flags;
9 	struct buf		*spc_bp;
10 	sw_pager_t		spc_swp;
11 	vm_offset_t		spc_kva;
12 	vm_page_t		spc_m;
13 } swcleanlist[NPENDINGIO];
14 typedef	struct swpagerclean	*swp_clean_t;
15 
16 /* spc_flags values */
17 #define SPC_FREE	0x00
18 #define SPC_BUSY	0x01
19 #define SPC_DONE	0x02
20 #define SPC_ERROR	0x04
21 #define SPC_DIRTY	0x08
22 
23 struct swtab {
24 	vm_size_t st_osize;	/* size of object (bytes) */
25 	int	  st_bsize;	/* vs. size of swap block (DEV_BSIZE units) */
26 #ifdef DEBUG
27 	u_long	  st_inuse;	/* number in this range in use */
28 	u_long	  st_usecnt;	/* total used of this size */
29 #endif
30 } swtab[NSWSIZES+1];
31 
32 #ifdef DEBUG
33 int		swap_pager_pendingio;	/* max pending async "clean" ops */
34 int		swap_pager_poip;	/* pageouts in progress */
35 int		swap_pager_piip;	/* pageins in progress */
36 #endif
37