Lines Matching refs:ag

104 	struct acct_globals *ag;  in acct_init()  local
106 ag = kmem_alloc(sizeof (*ag), KM_SLEEP); in acct_init()
107 bzero(&ag->acctbuf, sizeof (ag->acctbuf)); in acct_init()
108 mutex_init(&ag->aclock, NULL, MUTEX_DEFAULT, NULL); in acct_init()
109 ag->acctvp = NULL; in acct_init()
112 list_insert_tail(&acct_list, ag); in acct_init()
114 return (ag); in acct_init()
121 struct acct_globals *ag = arg; in acct_shutdown() local
123 mutex_enter(&ag->aclock); in acct_shutdown()
124 if (ag->acctvp) { in acct_shutdown()
130 (void) VOP_CLOSE(ag->acctvp, FWRITE, 1, (offset_t)0, kcred, in acct_shutdown()
132 VN_RELE(ag->acctvp); in acct_shutdown()
134 ag->acctvp = NULL; in acct_shutdown()
135 mutex_exit(&ag->aclock); in acct_shutdown()
142 struct acct_globals *ag = arg; in acct_fini() local
145 list_remove(&acct_list, ag); in acct_fini()
148 mutex_destroy(&ag->aclock); in acct_fini()
149 kmem_free(ag, sizeof (*ag)); in acct_fini()
206 struct acct_globals *ag; in acct_find() local
214 for (ag = list_head(&acct_list); ag != NULL; in acct_find()
215 ag = list_next(&acct_list, ag)) { in acct_find()
219 mutex_enter(&ag->aclock); in acct_find()
220 if (ag->acctvp == NULL) { in acct_find()
221 mutex_exit(&ag->aclock); in acct_find()
224 if (VOP_REALVP(ag->acctvp, &racctvp, NULL)) in acct_find()
225 racctvp = ag->acctvp; in acct_find()
233 mutex_exit(&ag->aclock); in acct_find()
263 struct acct_globals *ag; in sysacct() local
270 ag = zone_getspecific(acct_zone_key, curproc->p_zone); in sysacct()
271 ASSERT(ag != NULL); in sysacct()
277 mutex_enter(&ag->aclock); in sysacct()
278 vp = ag->acctvp; in sysacct()
279 ag->acctvp = NULL; in sysacct()
280 mutex_exit(&ag->aclock); in sysacct()
311 mutex_enter(&ag->aclock); in sysacct()
312 if (ag->acctvp) { in sysacct()
319 oldvp = ag->acctvp; in sysacct()
320 ag->acctvp = vp; in sysacct()
326 ag->acctvp = vp; in sysacct()
329 mutex_exit(&ag->aclock); in sysacct()
385 struct acct_globals *ag; in acct() local
391 ag = zone_getspecific(acct_zone_key, curproc->p_zone); in acct()
392 if (ag == NULL) in acct()
395 mutex_enter(&ag->aclock); in acct()
396 if ((vp = ag->acctvp) == NULL) { in acct()
397 mutex_exit(&ag->aclock); in acct()
407 bcopy(ua->u_comm, ag->acctbuf.ac_comm, sizeof (ag->acctbuf.ac_comm)); in acct()
408 ag->acctbuf.ac_btime = ua->u_start.tv_sec; in acct()
409 ag->acctbuf.ac_utime = acct_compress(NSEC_TO_TICK(p->p_acct[LMS_USER])); in acct()
410 ag->acctbuf.ac_stime = acct_compress( in acct()
412 ag->acctbuf.ac_etime = acct_compress(ddi_get_lbolt() - ua->u_ticks); in acct()
413 ag->acctbuf.ac_mem = acct_compress((ulong_t)ua->u_mem); in acct()
414 ag->acctbuf.ac_io = acct_compress((ulong_t)p->p_ru.ioch); in acct()
415 ag->acctbuf.ac_rw = acct_compress((ulong_t)(p->p_ru.inblock + in acct()
418 ag->acctbuf.ac_uid = crgetruid(cr); in acct()
419 ag->acctbuf.ac_gid = crgetrgid(cr); in acct()
420 (void) cmpldev(&ag->acctbuf.ac_tty, cttydev(p)); in acct()
421 ag->acctbuf.ac_stat = st; in acct()
422 ag->acctbuf.ac_flag = (ua->u_acflag | AEXPND); in acct()
434 error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&ag->acctbuf, in acct()
435 sizeof (ag->acctbuf), 0LL, UIO_SYSSPACE, FAPPEND, in acct()
440 mutex_exit(&ag->aclock); in acct()