|
FreeBSD kernel kern code
|
#include <sys/cdefs.h>#include <sys/param.h>#include <sys/systm.h>#include <sys/acct.h>#include <sys/fcntl.h>#include <sys/kernel.h>#include <sys/kthread.h>#include <sys/limits.h>#include <sys/lock.h>#include <sys/mount.h>#include <sys/mutex.h>#include <sys/namei.h>#include <sys/priv.h>#include <sys/proc.h>#include <sys/resourcevar.h>#include <sys/sched.h>#include <sys/sx.h>#include <sys/sysctl.h>#include <sys/sysent.h>#include <sys/syslog.h>#include <sys/sysproto.h>#include <sys/tty.h>#include <sys/vnode.h>#include <security/mac/mac_framework.h>
Go to the source code of this file.
Macros | |
| #define | FLT_MANT_DIG 24 /* p */ |
| #define | FLT_MAX_EXP 128 /* emax */ |
| #define | ACCT_RUNNING 1 /* Accounting kthread is running. */ |
| #define | ACCT_EXITREQ 2 /* Accounting kthread should exit. */ |
| #define | MANT_MASK ((1 << (FLT_MANT_DIG - 1)) - 1) |
| #define | CALC_BITS 28 |
| #define | LOG2_1M 20 |
Functions | |
| __FBSDID ("$BSDSUniX$") | |
| static uint32_t | encode_timeval (struct timeval) |
| static uint32_t | encode_long (long) |
| static void | acctwatch (void) |
| static void | acct_thread (void *) |
| static int | acct_disable (struct thread *, int) |
| SX_SYSINIT (acct,&acct_sx,"acct_sx") | |
| SYSCTL_INT (_kern, OID_AUTO, acct_suspend, CTLFLAG_RW,&acctsuspend, 0,"percentage of free disk space below which accounting stops") | |
| SYSCTL_INT (_kern, OID_AUTO, acct_resume, CTLFLAG_RW,&acctresume, 0,"percentage of free disk space above which accounting resumes") | |
| static int | sysctl_acct_chkfreq (SYSCTL_HANDLER_ARGS) |
| SYSCTL_PROC (_kern, OID_AUTO, acct_chkfreq, CTLTYPE_INT|CTLFLAG_RW,&acctchkfreq, 0, sysctl_acct_chkfreq,"I","frequency for checking the free space") | |
| SYSCTL_INT (_kern, OID_AUTO, acct_configured, CTLFLAG_RD,&acct_configured, 0,"Accounting configured or not") | |
| SYSCTL_INT (_kern, OID_AUTO, acct_suspended, CTLFLAG_RD,&acct_suspended, 0,"Accounting suspended or not") | |
| int | sys_acct (struct thread *td, struct acct_args *uap) |
| int | acct_process (struct thread *td) |
Variables | |
| static int | acct_configured |
| static int | acct_suspended |
| static struct vnode * | acct_vp |
| static struct ucred * | acct_cred |
| static struct plimit * | acct_limit |
| static int | acct_flags |
| static struct sx | acct_sx |
| static int | acct_state |
| static int | acctsuspend = 2 |
| static int | acctresume = 4 |
| static int | acctchkfreq = 15 |
| #define ACCT_EXITREQ 2 /* Accounting kthread should exit. */ |
Definition at line 148 of file kern_acct.c.
Referenced by acct_thread(), acctwatch(), and sys_acct().
| #define ACCT_RUNNING 1 /* Accounting kthread is running. */ |
Definition at line 147 of file kern_acct.c.
Referenced by acct_thread(), and sys_acct().
| #define CALC_BITS 28 |
Definition at line 468 of file kern_acct.c.
Referenced by encode_timeval().
| #define FLT_MANT_DIG 24 /* p */ |
Definition at line 113 of file kern_acct.c.
Referenced by encode_long(), and encode_timeval().
| #define FLT_MAX_EXP 128 /* emax */ |
Definition at line 114 of file kern_acct.c.
Referenced by encode_long(), and encode_timeval().
| #define LOG2_1M 20 |
Definition at line 471 of file kern_acct.c.
Referenced by encode_timeval().
| #define MANT_MASK ((1 << (FLT_MANT_DIG - 1)) - 1) |
Definition at line 460 of file kern_acct.c.
Referenced by encode_long(), and encode_timeval().
| __FBSDID | ( | "$BSDSUniX$" | ) |
|
static |
Definition at line 324 of file kern_acct.c.
References acct_configured, acct_cred, acct_flags, acct_limit, acct_sx, acct_vp, crfree(), lim_free(), log(), and vn_close().
Referenced by acctwatch(), and sys_acct().


| int acct_process | ( | struct thread * | td | ) |
Definition at line 348 of file kern_acct.c.
References acct_cred, acct_limit, acct_suspended, acct_sx, acct_vp, boottime, encode_long(), encode_timeval(), hz, lim_free(), lim_hold(), microuptime(), proctree_lock, rufetchcalc(), tick, timevaladd(), timevalsub(), tty_udev(), and vn_rdwr().
Referenced by exit1().


|
static |
Definition at line 622 of file kern_acct.c.
References ACCT_EXITREQ, ACCT_RUNNING, acct_state, acct_sx, acctchkfreq, acctwatch(), hz, kproc_exit(), and sched_prio().
Referenced by sys_acct().


|
static |
Definition at line 564 of file kern_acct.c.
References acct_disable(), ACCT_EXITREQ, acct_state, acct_suspended, acct_sx, acct_vp, acctresume, acctsuspend, and log().
Referenced by acct_thread().


|
static |
Definition at line 529 of file kern_acct.c.
References FLT_MANT_DIG, FLT_MAX_EXP, log(), MANT_MASK, and printf().
Referenced by acct_process().


|
static |
Definition at line 479 of file kern_acct.c.
References CALC_BITS, FLT_MANT_DIG, FLT_MAX_EXP, LOG2_1M, MANT_MASK, and printf().
Referenced by acct_process().


| SX_SYSINIT | ( | acct | , |
| & | acct_sx, | ||
| "acct_sx" | |||
| ) |
| int sys_acct | ( | struct thread * | td, |
| struct acct_args * | uap | ||
| ) |
Definition at line 197 of file kern_acct.c.
References acct_configured, acct_cred, acct_disable(), ACCT_EXITREQ, acct_flags, acct_limit, ACCT_RUNNING, acct_state, acct_suspended, acct_sx, acct_thread(), acct_vp, crhold(), kproc_create(), lim_alloc(), log(), NDFREE(), priv_check(), vn_close(), vn_open(), and wakeup().

|
static |
Definition at line 164 of file kern_acct.c.
References acctchkfreq, and value.
| SYSCTL_INT | ( | _kern | , |
| OID_AUTO | , | ||
| acct_suspend | , | ||
| CTLFLAG_RW | , | ||
| & | acctsuspend, | ||
| 0 | , | ||
| "percentage of free disk space below which accounting stops" | |||
| ) |
| SYSCTL_INT | ( | _kern | , |
| OID_AUTO | , | ||
| acct_resume | , | ||
| CTLFLAG_RW | , | ||
| & | acctresume, | ||
| 0 | , | ||
| "percentage of free disk space above which accounting resumes" | |||
| ) |
| SYSCTL_INT | ( | _kern | , |
| OID_AUTO | , | ||
| acct_configured | , | ||
| CTLFLAG_RD | , | ||
| & | acct_configured, | ||
| 0 | , | ||
| "Accounting configured or not" | |||
| ) |
| SYSCTL_INT | ( | _kern | , |
| OID_AUTO | , | ||
| acct_suspended | , | ||
| CTLFLAG_RD | , | ||
| & | acct_suspended, | ||
| 0 | , | ||
| "Accounting suspended or not" | |||
| ) |
| SYSCTL_PROC | ( | _kern | , |
| OID_AUTO | , | ||
| acct_chkfreq | , | ||
| CTLTYPE_INT| | CTLFLAG_RW, | ||
| & | acctchkfreq, | ||
| 0 | , | ||
| sysctl_acct_chkfreq | , | ||
| "I" | , | ||
| "frequency for checking the free space" | |||
| ) |
|
static |
Definition at line 132 of file kern_acct.c.
Referenced by acct_disable(), and sys_acct().
|
static |
Definition at line 135 of file kern_acct.c.
Referenced by acct_disable(), acct_process(), and sys_acct().
|
static |
Definition at line 137 of file kern_acct.c.
Referenced by acct_disable(), and sys_acct().
|
static |
Definition at line 136 of file kern_acct.c.
Referenced by acct_disable(), acct_process(), and sys_acct().
|
static |
Definition at line 145 of file kern_acct.c.
Referenced by acct_thread(), acctwatch(), and sys_acct().
|
static |
Definition at line 133 of file kern_acct.c.
Referenced by acct_process(), acctwatch(), and sys_acct().
|
static |
Definition at line 138 of file kern_acct.c.
Referenced by acct_disable(), acct_process(), acct_thread(), acctwatch(), and sys_acct().
|
static |
Definition at line 134 of file kern_acct.c.
Referenced by acct_disable(), acct_process(), acctwatch(), and sys_acct().
|
static |
Definition at line 161 of file kern_acct.c.
Referenced by acct_thread(), and sysctl_acct_chkfreq().
|
static |
Definition at line 157 of file kern_acct.c.
Referenced by acctwatch().
|
static |
Definition at line 153 of file kern_acct.c.
Referenced by acctwatch().