Home | History | Annotate | Download | only in kern

Lines Matching defs:pid_table

129  * pid to lwp/proc lookup is done by indexing the pid_table array.
145 struct pid_table {
176 static struct pid_table *pid_table __read_mostly;
392 pid_table = kmem_alloc(INITIAL_PID_TABLE_SIZE
393 * sizeof(struct pid_table), KM_SLEEP);
400 pid_table[i].pt_slot = PT_SET_FREE(LINK_EMPTY + i + 1);
401 pid_table[i].pt_pgrp = 0;
402 pid_table[i].pt_pid = 0;
408 pid_table[last_free_pt].pt_slot = PT_SET_FREE(LINK_EMPTY);
506 pid_table[lwp0.l_lid].pt_slot = PT_SET_LWP(&lwp0);
509 pid_table[lwp0.l_lid].pt_pgrp = pg;
686 struct pid_table *pt;
695 * Look in the pid_table. This is done unlocked inside a
696 * pserialize read section covering pid_table's memory
710 pt = &atomic_load_consume(&pid_table)[pid & pt_mask];
719 * see entries in pid_table from a prior process that also used "p",
756 struct pid_table *pt;
764 * Look in the pid_table. This is done unlocked inside a
765 * pserialize read section covering pid_table's memory
778 pt = &atomic_load_consume(&pid_table)[pid & pt_mask];
822 struct pid_table *pt;
829 pt = &pid_table[pid & pid_tbl_mask];
857 struct pid_table *pt;
862 pt = &pid_table[pid & pid_tbl_mask];
936 pg = pid_table[pgid & pid_tbl_mask].pt_pgrp;
952 struct pid_table *n_pt, *new_pt;
961 /* Unlock the pid_table briefly to allocate memory. */
965 tsz = pt_size * 2 * sizeof(struct pid_table);
994 slot = pid_table[i].pt_slot;
995 pgrp = pid_table[i].pt_pgrp;
1004 pid = pid_table[i].pt_pid;
1026 tsz = pt_size * sizeof(struct pid_table);
1027 n_pt = pid_table;
1028 atomic_store_release(&pid_table, new_pt);
1045 * Make sure that unlocked access to the old pid_table is complete
1066 * Allocate a placeholder in the pid_table. When we create the
1086 struct pid_table *pt;
1105 if (__predict_false(PT_RESERVED(pid_table[1].pt_slot) &&
1108 pt = &pid_table[1];
1112 pt = &pid_table[next_free_pt];
1162 struct pid_table *pt;
1172 * pid_table.
1187 pt = &pid_table[pid & pid_tbl_mask];
1207 struct pid_table *pt;
1211 pt = &pid_table[pid & pid_tbl_mask];
1223 pt = &pid_table[last_free_pt];
1258 struct pid_table *pt;
1260 pt = &pid_table[pid & pid_tbl_mask];
1307 pgrp = pid_table[pgid & pid_tbl_mask].pt_pgrp;
1397 if (__predict_false(pid_table[pgid & pid_tbl_mask].pt_pgrp))
1402 pid_table[pgid & pid_tbl_mask].pt_pgrp = pgrp;
1485 struct pid_table *pt;
1489 pt = &pid_table[pg_id & pid_tbl_mask];
1502 pt = &pid_table[last_free_pt];
1524 pg = pid_table[pg_id & pid_tbl_mask].pt_pgrp;
1641 struct pid_table *pt;
1648 pid_table, pid_tbl_mask+1,
1650 for (pt = pid_table, id = 0; id <= pid_tbl_mask; id++, pt++) {