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