Print this page
patch remove-as_swapout


 112         lwpdir_t        *th_list;
 113 } tidhash_t;
 114 
 115 /*
 116  * Retired tidhash hash tables.
 117  */
 118 typedef struct ret_tidhash {
 119         struct ret_tidhash      *rth_next;
 120         tidhash_t               *rth_tidhash;
 121         uint_t                  rth_tidhash_sz;
 122 } ret_tidhash_t;
 123 
 124 struct pool;
 125 struct task;
 126 struct zone;
 127 struct brand;
 128 struct corectl_path;
 129 struct corectl_content;
 130 
 131 /*
 132  * One structure allocated per active process.  It contains all
 133  * data needed about the process while the process may be swapped
 134  * out.  Other per-process data (user.h) is also inside the proc structure.
 135  * Lightweight-process data (lwp.h) and the kernel stack may be swapped out.
 136  */
 137 typedef struct  proc {
 138         /*
 139          * Fields requiring no explicit locking
 140          */
 141         struct  vnode *p_exec;          /* pointer to a.out vnode */
 142         struct  as *p_as;               /* process address space pointer */
 143         struct  plock *p_lockp;         /* ptr to proc struct's mutex lock */
 144         kmutex_t p_crlock;              /* lock for p_cred */
 145         struct  cred    *p_cred;        /* process credentials */
 146         /*
 147          * Fields protected by pidlock
 148          */
 149         int     p_swapcnt;              /* number of swapped out lwps */
 150         char    p_stat;                 /* status of process */
 151         char    p_wcode;                /* current wait code */
 152         ushort_t p_pidflag;             /* flags protected only by pidlock */
 153         int     p_wdata;                /* current wait return value */
 154         pid_t   p_ppid;                 /* process id of parent */
 155         struct  proc    *p_link;        /* forward link */
 156         struct  proc    *p_parent;      /* ptr to parent process */
 157         struct  proc    *p_child;       /* ptr to first child process */
 158         struct  proc    *p_sibling;     /* ptr to next sibling proc on chain */
 159         struct  proc    *p_psibling;    /* ptr to prev sibling proc on chain */
 160         struct  proc    *p_sibling_ns;  /* prt to siblings with new state */
 161         struct  proc    *p_child_ns;    /* prt to children with new state */
 162         struct  proc    *p_next;        /* active chain link next */
 163         struct  proc    *p_prev;        /* active chain link prev */
 164         struct  proc    *p_nextofkin;   /* gets accounting info at exit */
 165         struct  proc    *p_orphan;
 166         struct  proc    *p_nextorph;
 167         struct  proc    *p_pglink;      /* process group hash chain link next */
 168         struct  proc    *p_ppglink;     /* process group hash chain link prev */
 169         struct  sess    *p_sessp;       /* session information */




 112         lwpdir_t        *th_list;
 113 } tidhash_t;
 114 
 115 /*
 116  * Retired tidhash hash tables.
 117  */
 118 typedef struct ret_tidhash {
 119         struct ret_tidhash      *rth_next;
 120         tidhash_t               *rth_tidhash;
 121         uint_t                  rth_tidhash_sz;
 122 } ret_tidhash_t;
 123 
 124 struct pool;
 125 struct task;
 126 struct zone;
 127 struct brand;
 128 struct corectl_path;
 129 struct corectl_content;
 130 
 131 /*
 132  * One structure allocated per active process.  Per-process data (user.h) is
 133  * also inside the proc structure.


 134  */
 135 typedef struct  proc {
 136         /*
 137          * Fields requiring no explicit locking
 138          */
 139         struct  vnode *p_exec;          /* pointer to a.out vnode */
 140         struct  as *p_as;               /* process address space pointer */
 141         struct  plock *p_lockp;         /* ptr to proc struct's mutex lock */
 142         kmutex_t p_crlock;              /* lock for p_cred */
 143         struct  cred    *p_cred;        /* process credentials */
 144         /*
 145          * Fields protected by pidlock
 146          */

 147         char    p_stat;                 /* status of process */
 148         char    p_wcode;                /* current wait code */
 149         ushort_t p_pidflag;             /* flags protected only by pidlock */
 150         int     p_wdata;                /* current wait return value */
 151         pid_t   p_ppid;                 /* process id of parent */
 152         struct  proc    *p_link;        /* forward link */
 153         struct  proc    *p_parent;      /* ptr to parent process */
 154         struct  proc    *p_child;       /* ptr to first child process */
 155         struct  proc    *p_sibling;     /* ptr to next sibling proc on chain */
 156         struct  proc    *p_psibling;    /* ptr to prev sibling proc on chain */
 157         struct  proc    *p_sibling_ns;  /* prt to siblings with new state */
 158         struct  proc    *p_child_ns;    /* prt to children with new state */
 159         struct  proc    *p_next;        /* active chain link next */
 160         struct  proc    *p_prev;        /* active chain link prev */
 161         struct  proc    *p_nextofkin;   /* gets accounting info at exit */
 162         struct  proc    *p_orphan;
 163         struct  proc    *p_nextorph;
 164         struct  proc    *p_pglink;      /* process group hash chain link next */
 165         struct  proc    *p_ppglink;     /* process group hash chain link prev */
 166         struct  sess    *p_sessp;       /* session information */