PERFORCE change 190618 for review

Edward Tomasz Napierala trasz at FreeBSD.org
Sun Mar 27 08:57:41 UTC 2011


http://p4web.freebsd.org/@@190618?ac=10

Change 190618 by trasz at trasz_victim on 2011/03/27 08:57:39

	Replace "container" and "rusage" with "racct".

Affected files ...

.. //depot/projects/soc2009/trasz_limits/sys/compat/linux/linux_misc.c#22 edit
.. //depot/projects/soc2009/trasz_limits/sys/conf/NOTES#35 edit
.. //depot/projects/soc2009/trasz_limits/sys/conf/files#51 edit
.. //depot/projects/soc2009/trasz_limits/sys/conf/options#32 edit
.. //depot/projects/soc2009/trasz_limits/sys/fs/fdescfs/fdesc_vfsops.c#7 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/imgact_aout.c#15 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/imgact_elf.c#26 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/imgact_gzip.c#11 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/init_main.c#40 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_container.c#77 move/delete
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_descrip.c#24 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_exit.c#32 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_fork.c#36 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_jail.c#39 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_loginclass.c#35 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#35 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_racct.c#1 move/add
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_rctl.c#40 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#62 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_sig.c#23 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_thr.c#15 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/sysv_msg.c#13 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/sysv_sem.c#14 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/sysv_shm.c#15 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/tty_pts.c#26 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_sockbuf.c#9 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_socket.c#21 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_usrreq.c#14 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_vnops.c#24 edit
.. //depot/projects/soc2009/trasz_limits/sys/sys/container.h#28 move/delete
.. //depot/projects/soc2009/trasz_limits/sys/sys/jail.h#22 edit
.. //depot/projects/soc2009/trasz_limits/sys/sys/kernel.h#9 edit
.. //depot/projects/soc2009/trasz_limits/sys/sys/loginclass.h#16 edit
.. //depot/projects/soc2009/trasz_limits/sys/sys/proc.h#35 edit
.. //depot/projects/soc2009/trasz_limits/sys/sys/racct.h#1 move/add
.. //depot/projects/soc2009/trasz_limits/sys/sys/rctl.h#14 edit
.. //depot/projects/soc2009/trasz_limits/sys/sys/resourcevar.h#26 edit
.. //depot/projects/soc2009/trasz_limits/sys/vm/swap_pager.c#22 edit
.. //depot/projects/soc2009/trasz_limits/sys/vm/vm_glue.c#14 edit
.. //depot/projects/soc2009/trasz_limits/sys/vm/vm_map.c#35 edit
.. //depot/projects/soc2009/trasz_limits/sys/vm/vm_mmap.c#25 edit
.. //depot/projects/soc2009/trasz_limits/sys/vm/vm_pageout.c#33 edit
.. //depot/projects/soc2009/trasz_limits/sys/vm/vm_unix.c#15 edit

Moved files ...

.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_racct.c#1 moved from //depot/projects/soc2009/trasz_limits/sys/kern/kern_container.c#76
.. //depot/projects/soc2009/trasz_limits/sys/sys/racct.h#1 moved from //depot/projects/soc2009/trasz_limits/sys/sys/container.h#27

Differences ...

==== //depot/projects/soc2009/trasz_limits/sys/compat/linux/linux_misc.c#22 (text+ko) ====

@@ -35,7 +35,6 @@
 #include <sys/param.h>
 #include <sys/blist.h>
 #include <sys/fcntl.h>
-#include <sys/container.h>
 #if defined(__i386__)
 #include <sys/imgact_aout.h>
 #endif
@@ -51,6 +50,7 @@
 #include <sys/priv.h>
 #include <sys/proc.h>
 #include <sys/reboot.h>
+#include <sys/racct.h>
 #include <sys/resourcevar.h>
 #include <sys/sched.h>
 #include <sys/signalvar.h>
@@ -359,7 +359,7 @@
 	PROC_LOCK(td->td_proc);
 	if (a_out->a_text > maxtsiz ||
 	    a_out->a_data + bss_size > lim_cur(td->td_proc, RLIMIT_DATA) ||
-	    rusage_set(td->td_proc, RUSAGE_DATA, a_out->a_data +
+	    racct_set(td->td_proc, RACCT_DATA, a_out->a_data +
 	    bss_size) != 0) {
 		PROC_UNLOCK(td->td_proc);
 		error = ENOMEM;

==== //depot/projects/soc2009/trasz_limits/sys/conf/NOTES#35 (text+ko) ====

@@ -1161,8 +1161,8 @@
 # Support for Capsicum
 options 	CAPABILITIES
 
-# Resource Containers
-options 	CONTAINERS
+# Resource Accounting
+options 	RACCT
 
 # Resource Limits
 options 	RCTL

==== //depot/projects/soc2009/trasz_limits/sys/conf/files#51 (text+ko) ====

@@ -2185,7 +2185,6 @@
 kern/kern_condvar.c		standard
 kern/kern_conf.c		standard
 kern/kern_cons.c		standard
-kern/kern_container.c		standard
 kern/kern_cpu.c			standard
 kern/kern_cpuset.c		standard
 kern/kern_context.c		standard
@@ -2226,6 +2225,7 @@
 kern/kern_priv.c		standard
 kern/kern_proc.c		standard
 kern/kern_prot.c		standard
+kern/kern_racct.c		standard
 kern/kern_rctl.c		standard
 kern/kern_resource.c		standard
 kern/kern_rmlock.c		standard

==== //depot/projects/soc2009/trasz_limits/sys/conf/options#32 (text+ko) ====

@@ -873,8 +873,8 @@
 IPOIB_DEBUG	opt_ofed.h
 IPOIB_CM	opt_ofed.h
 
-# Resource Containers
-CONTAINERS		opt_global.h
+# Resource Accounting
+RACCT			opt_global.h
 
 # Resource Limits
 RCTL			opt_global.h

==== //depot/projects/soc2009/trasz_limits/sys/fs/fdescfs/fdesc_vfsops.c#7 (text+ko) ====

@@ -38,7 +38,6 @@
  * /dev/fd Filesystem
  */
 
-#include <sys/container.h>
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/filedesc.h>
@@ -48,6 +47,7 @@
 #include <sys/malloc.h>
 #include <sys/mount.h>
 #include <sys/proc.h>
+#include <sys/racct.h>
 #include <sys/resourcevar.h>
 #include <sys/vnode.h>
 
@@ -202,7 +202,7 @@
 	PROC_UNLOCK(td->td_proc);
 	fdp = td->td_proc->p_fd;
 	FILEDESC_SLOCK(fdp);
-	limit = rusage_get_limit(td->td_proc, RUSAGE_NOFILE);
+	limit = racct_get_limit(td->td_proc, RACCT_NOFILE);
 	if (lim > limit)
 		lim = limit;
 	last = min(fdp->fd_nfiles, lim);

==== //depot/projects/soc2009/trasz_limits/sys/kern/imgact_aout.c#15 (text+ko) ====

@@ -29,7 +29,6 @@
 
 #include <sys/param.h>
 #include <sys/exec.h>
-#include <sys/container.h>
 #include <sys/imgact.h>
 #include <sys/imgact_aout.h>
 #include <sys/kernel.h>
@@ -37,6 +36,7 @@
 #include <sys/malloc.h>
 #include <sys/mutex.h>
 #include <sys/proc.h>
+#include <sys/racct.h>
 #include <sys/resourcevar.h>
 #include <sys/signalvar.h>
 #include <sys/syscall.h>
@@ -192,7 +192,7 @@
 
 	    /* data + bss can't exceed rlimit */
 	    a_out->a_data + bss_size > lim_cur(imgp->proc, RLIMIT_DATA) ||
-	    rusage_set(imgp->proc, RUSAGE_DATA,
+	    racct_set(imgp->proc, RACCT_DATA,
 	    a_out->a_data + bss_size) != 0) {
 			PROC_UNLOCK(imgp->proc);
 			return (ENOMEM);

==== //depot/projects/soc2009/trasz_limits/sys/kern/imgact_elf.c#26 (text+ko) ====

@@ -35,7 +35,6 @@
 #include "opt_core.h"
 
 #include <sys/param.h>
-#include <sys/container.h>
 #include <sys/exec.h>
 #include <sys/fcntl.h>
 #include <sys/imgact.h>
@@ -50,6 +49,7 @@
 #include <sys/pioctl.h>
 #include <sys/proc.h>
 #include <sys/procfs.h>
+#include <sys/racct.h>
 #include <sys/resourcevar.h>
 #include <sys/sf_buf.h>
 #include <sys/smp.h>
@@ -876,8 +876,8 @@
 	if (data_size > lim_cur(imgp->proc, RLIMIT_DATA) ||
 	    text_size > maxtsiz ||
 	    total_size > lim_cur(imgp->proc, RLIMIT_VMEM) ||
-	    rusage_set(imgp->proc, RUSAGE_DATA, data_size) != 0 ||
-	    rusage_set(imgp->proc, RUSAGE_VMEM, total_size) != 0) {
+	    racct_set(imgp->proc, RACCT_DATA, data_size) != 0 ||
+	    racct_set(imgp->proc, RACCT_VMEM, total_size) != 0) {
 		PROC_UNLOCK(imgp->proc);
 		return (ENOMEM);
 	}
@@ -1105,7 +1105,7 @@
 	__elfN(puthdr)(td, (void *)NULL, &hdrsize, seginfo.count);
 
 	PROC_LOCK(td->td_proc);
-	error = rusage_add(td->td_proc, RUSAGE_CORE, hdrsize + seginfo.size);
+	error = racct_add(td->td_proc, RACCT_CORE, hdrsize + seginfo.size);
 	PROC_UNLOCK(td->td_proc);
 	if (error != 0) {
 		error = EFAULT;

==== //depot/projects/soc2009/trasz_limits/sys/kern/imgact_gzip.c#11 (text+ko) ====

@@ -33,6 +33,7 @@
 #include <sys/mman.h>
 #include <sys/mutex.h>
 #include <sys/proc.h>
+#include <sys/racct.h>
 #include <sys/resourcevar.h>
 #include <sys/sysent.h>
 #include <sys/systm.h>
@@ -217,7 +218,7 @@
 	/* data + bss can't exceed rlimit */
 	    gz->a_out.a_data + gz->bss_size >
 	    lim_cur(gz->ip->proc, RLIMIT_DATA) ||
-	    rusage_set(gz->ip->proc, RUSAGE_DATA,
+	    racct_set(gz->ip->proc, RACCT_DATA,
 	    gz->a_out.a_data + gz->bss_size) != 0) {
 		PROC_UNLOCK(gz->ip->proc);
 		gz->where = __LINE__;

==== //depot/projects/soc2009/trasz_limits/sys/kern/init_main.c#40 (text+ko) ====

@@ -49,7 +49,6 @@
 
 #include <sys/param.h>
 #include <sys/kernel.h>
-#include <sys/container.h>
 #include <sys/exec.h>
 #include <sys/file.h>
 #include <sys/filedesc.h>
@@ -62,6 +61,7 @@
 #include <sys/syscallsubr.h>
 #include <sys/sysctl.h>
 #include <sys/proc.h>
+#include <sys/racct.h>
 #include <sys/resourcevar.h>
 #include <sys/systm.h>
 #include <sys/signalvar.h>
@@ -528,7 +528,7 @@
 	p->p_cpulimit = RLIM_INFINITY;
 
 	/* Initialize resource accounting structures. */
-	container_create(&p->p_container);
+	racct_create(&p->p_racct);
 
 	p->p_stats = pstats_alloc();
 
@@ -558,7 +558,7 @@
 	 */
 	(void)chgproccnt(p->p_ucred->cr_ruidinfo, 1, 0);
 	PROC_LOCK(p);
-	rusage_add_force(p, RUSAGE_NPROC, 1);
+	racct_add_force(p, RACCT_NPROC, 1);
 	PROC_UNLOCK(p);
 }
 SYSINIT(p0init, SI_SUB_INTRINSIC, SI_ORDER_FIRST, proc0_init, NULL);

==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_descrip.c#24 (text+ko) ====

@@ -45,7 +45,6 @@
 #include <sys/systm.h>
 
 #include <sys/conf.h>
-#include <sys/container.h>
 #include <sys/domain.h>
 #include <sys/fcntl.h>
 #include <sys/file.h>
@@ -63,6 +62,7 @@
 #include <sys/priv.h>
 #include <sys/proc.h>
 #include <sys/protosw.h>
+#include <sys/racct.h>
 #include <sys/resourcevar.h>
 #include <sys/signalvar.h>
 #include <sys/socketvar.h>
@@ -282,7 +282,7 @@
 	PROC_LOCK(p);
 	td->td_retval[0] =
 	    min((int)lim_cur(p, RLIMIT_NOFILE), maxfilesperproc);
-	lim = rusage_get_limit(td->td_proc, RUSAGE_NOFILE);
+	lim = racct_get_limit(td->td_proc, RACCT_NOFILE);
 	PROC_UNLOCK(p);
 	if (lim < td->td_retval[0])
 		td->td_retval[0] = lim;
@@ -802,13 +802,13 @@
 			/*
 			 * The resource limits are here instead of e.g. fdalloc(),
 			 * because the file descriptor table may be shared between
-			 * processes, so we can't really use rusage_add()/rusage_sub().
+			 * processes, so we can't really use racct_add()/racct_sub().
 			 * Instead of counting the number of actually allocated
 			 * descriptors, just put the limit on the size of the file
 			 * descriptor table.
 			 */
 			PROC_LOCK(p);
-			error = rusage_set(p, RUSAGE_NOFILE, new + 1);
+			error = racct_set(p, RACCT_NOFILE, new + 1);
 			PROC_UNLOCK(p);
 			if (error != 0) {
 				FILEDESC_XUNLOCK(fdp);
@@ -1486,7 +1486,7 @@
 		if (fd < fdp->fd_nfiles)
 			break;
 		PROC_LOCK(p);
-		error = rusage_set(p, RUSAGE_NOFILE, min(fdp->fd_nfiles * 2, maxfd));
+		error = racct_set(p, RACCT_NOFILE, min(fdp->fd_nfiles * 2, maxfd));
 		PROC_UNLOCK(p);
 		if (error != 0)
 			return (EMFILE);
@@ -1523,7 +1523,7 @@
 
 	/*
 	 * XXX: This is only called from uipc_usrreq.c:unp_externalize();
-	 *      call rusage_add() from there instead of dealing with containers
+	 *      call racct_add() from there instead of dealing with containers
 	 *      here.
 	 */
 	PROC_LOCK(p);
@@ -1782,7 +1782,7 @@
 		return;
 
 	PROC_LOCK(td->td_proc);
-	rusage_set(td->td_proc, RUSAGE_NOFILE, 0);
+	racct_set(td->td_proc, RACCT_NOFILE, 0);
 	PROC_UNLOCK(td->td_proc);
 
 	/* Check for special need to clear POSIX style locks */

==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_exit.c#32 (text+ko) ====

@@ -56,6 +56,7 @@
 #include <sys/wait.h>
 #include <sys/vmmeter.h>
 #include <sys/vnode.h>
+#include <sys/racct.h>
 #include <sys/resourcevar.h>
 #include <sys/sbuf.h>
 #include <sys/signalvar.h>
@@ -66,7 +67,6 @@
 #include <sys/ptrace.h>
 #include <sys/acct.h>		/* for acct_process() function prototype */
 #include <sys/filedesc.h>
-#include <sys/container.h>
 #include <sys/sdt.h>
 #include <sys/shm.h>
 #include <sys/sem.h>
@@ -177,7 +177,7 @@
 	}
 	KASSERT(p->p_numthreads == 1,
 	    ("exit1: proc %p exiting with %d threads", p, p->p_numthreads));
-	rusage_sub(p, RUSAGE_NTHR, 1);
+	racct_sub(p, RACCT_NTHR, 1);
 	/*
 	 * Wakeup anyone in procfs' PIOCWAIT.  They should have a hold
 	 * on our vmspace, so we should block below until they have
@@ -743,11 +743,11 @@
 	(void)chgproccnt(p->p_ucred->cr_ruidinfo, -1, 0);
 
 	/*
-	 * Destroy resource container associated with the process.
+	 * Destroy resource accounting information associated with the process.
 	 */
-	container_proc_exit(p);
+	racct_proc_exit(p);
 	PROC_LOCK(p->p_pptr);
-	rusage_sub(p->p_pptr, RUSAGE_NPROC, 1);
+	racct_sub(p->p_pptr, RACCT_NPROC, 1);
 	PROC_UNLOCK(p->p_pptr);
 
 	/*
@@ -910,10 +910,10 @@
 		return;
 
 	PROC_LOCK(parent);
-	rusage_add_force(parent, RUSAGE_NPROC, 1);
+	racct_add_force(parent, RACCT_NPROC, 1);
 	PROC_UNLOCK(parent);
 	PROC_LOCK(child->p_pptr);
-	rusage_sub(child->p_pptr, RUSAGE_NPROC, 1);
+	racct_sub(child->p_pptr, RACCT_NPROC, 1);
 	sigqueue_take(child->p_ksi);
 	PROC_UNLOCK(child->p_pptr);
 	LIST_REMOVE(child, p_sibling);

==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_fork.c#36 (text+ko) ====

@@ -46,7 +46,6 @@
 #include <sys/sysproto.h>
 #include <sys/eventhandler.h>
 #include <sys/filedesc.h>
-#include <sys/container.h>
 #include <sys/jail.h>
 #include <sys/kernel.h>
 #include <sys/kthread.h>
@@ -57,6 +56,7 @@
 #include <sys/priv.h>
 #include <sys/proc.h>
 #include <sys/pioctl.h>
+#include <sys/racct.h>
 #include <sys/resourcevar.h>
 #include <sys/sched.h>
 #include <sys/syscall.h>
@@ -735,7 +735,7 @@
 	}
 
 	PROC_LOCK(p1);
-	error = rusage_add(p1, RUSAGE_NPROC, 1);
+	error = racct_add(p1, RACCT_NPROC, 1);
 	PROC_UNLOCK(p1);
 	if (error != 0)
 		return (EAGAIN);
@@ -797,9 +797,9 @@
 	newproc->p_ucred = p1->p_ucred;
 
 	/*
-	 * Initialize resource container for the child process.
+	 * Initialize resource accounting for the child process.
 	 */
-	error = container_proc_fork(p1, newproc);
+	error = racct_proc_fork(p1, newproc);
 	if (error != 0) {
 		error = EAGAIN;
 		goto fail1;
@@ -826,7 +826,7 @@
 	 * After fork, there is exactly one thread running.
 	 */
 	PROC_LOCK(newproc);
-	error = rusage_set(newproc, RUSAGE_NTHR, 1);
+	error = racct_set(newproc, RACCT_NTHR, 1);
 	PROC_UNLOCK(newproc);
 	if (error != 0) {
 		error = EAGAIN;
@@ -860,7 +860,7 @@
 
 	error = EAGAIN;
 fail:
-	container_proc_exit(newproc);
+	racct_proc_exit(newproc);
 	sx_sunlock(&proctree_lock);
 	if (ppsratecheck(&lastfail, &curfail, 1))
 		printf("maxproc limit exceeded by uid %i, please see tuning(7) and login.conf(5).\n",
@@ -875,7 +875,7 @@
 	uma_zfree(proc_zone, newproc);
 	pause("fork", hz / 2);
 	PROC_LOCK(p1);
-	rusage_sub(p1, RUSAGE_NPROC, 1);
+	racct_sub(p1, RACCT_NPROC, 1);
 	PROC_UNLOCK(p1);
 	return (error);
 }

==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_jail.c#39 (text+ko) ====

@@ -38,7 +38,6 @@
 #include <sys/types.h>
 #include <sys/kernel.h>
 #include <sys/systm.h>
-#include <sys/container.h>
 #include <sys/errno.h>
 #include <sys/sysproto.h>
 #include <sys/malloc.h>
@@ -50,6 +49,7 @@
 #include <sys/jail.h>
 #include <sys/lock.h>
 #include <sys/mutex.h>
+#include <sys/racct.h>
 #include <sys/rctl.h>
 #include <sys/sx.h>
 #include <sys/sysent.h>
@@ -1197,7 +1197,7 @@
 			root = mypr->pr_root;
 			vref(root);
 		}
-		container_create(&pr->pr_container);
+		racct_create(&pr->pr_racct);
 		strlcpy(pr->pr_hostuuid, DEFAULT_HOSTUUID, HOSTUUIDLEN);
 		pr->pr_flags |= PR_HOST;
 #if defined(INET) || defined(INET6)
@@ -2298,8 +2298,8 @@
 	newcred->cr_prison = pr;
 	p->p_ucred = newcred;
 	PROC_UNLOCK(p);
-#ifdef CONTAINERS
-	container_proc_ucred_changed(p, oldcred, newcred);
+#ifdef RACCT
+	racct_proc_ucred_changed(p, oldcred, newcred);
 #endif
 	crfree(oldcred);
 	prison_deref(ppr, PD_DEREF | PD_DEUREF);
@@ -2534,9 +2534,9 @@
 			cpuset_rel(pr->pr_cpuset);
 		osd_jail_exit(pr);
 #ifdef RCTL
-		rctl_container_release(pr->pr_container);
+		rctl_racct_release(pr->pr_racct);
 #endif
-		container_destroy(&pr->pr_container);
+		racct_destroy(&pr->pr_racct);
 		free(pr, M_PRISON);
 
 		/* Removing a prison frees a reference on its parent. */
@@ -4274,14 +4274,14 @@
     "B", "Jail may create sockets other than just UNIX/IPv4/IPv6/route");
 
 void
-prison_container_foreach(void (*callback)(struct container *container,
+prison_racct_foreach(void (*callback)(struct racct *racct,
     void *arg2, void *arg3), void *arg2, void *arg3)
 {
 	struct prison *pr;
 
 	sx_slock(&allprison_lock);
 	TAILQ_FOREACH(pr, &allprison, pr_list)
-		(callback)(pr->pr_container, arg2, arg3);
+		(callback)(pr->pr_racct, arg2, arg3);
 	sx_sunlock(&allprison_lock);
 }
 

==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_loginclass.c#35 (text+ko) ====

@@ -46,7 +46,6 @@
 __FBSDID("$FreeBSD: src/sys/kern/kern_loginclass.c,v 1.1 2011/03/05 12:40:35 trasz Exp $");
 
 #include <sys/param.h>
-#include <sys/container.h>
 #include <sys/eventhandler.h>
 #include <sys/kernel.h>
 #include <sys/lock.h>
@@ -57,6 +56,7 @@
 #include <sys/priv.h>
 #include <sys/proc.h>
 #include <sys/queue.h>
+#include <sys/racct.h>
 #include <sys/refcount.h>
 #include <sys/sysproto.h>
 #include <sys/systm.h>
@@ -91,7 +91,7 @@
 
 	mtx_lock(&loginclasses_lock);
 	if (refcount_release(&lc->lc_refcount)) {
-		container_destroy(&lc->lc_container);
+		racct_destroy(&lc->lc_racct);
 		LIST_REMOVE(lc, lc_next);
 		mtx_unlock(&loginclasses_lock);
 		free(lc, M_LOGINCLASS);
@@ -117,7 +117,7 @@
 		return (NULL);
 
 	newlc = malloc(sizeof(*newlc), M_LOGINCLASS, M_ZERO | M_WAITOK);
-	container_create(&newlc->lc_container);
+	racct_create(&newlc->lc_racct);
 
 	mtx_lock(&loginclasses_lock);
 	LIST_FOREACH(lc, &loginclasses, lc_next) {
@@ -127,7 +127,7 @@
 		/* Found loginclass with a matching name? */
 		loginclass_hold(lc);
 		mtx_unlock(&loginclasses_lock);
-		container_destroy(&newlc->lc_container);
+		racct_destroy(&newlc->lc_racct);
 		free(newlc, M_LOGINCLASS);
 		return (lc);
 	}
@@ -209,8 +209,8 @@
 	newcred->cr_loginclass = newlc;
 	p->p_ucred = newcred;
 	PROC_UNLOCK(p);
-#ifdef CONTAINERS
-	container_proc_ucred_changed(p, oldcred, newcred);
+#ifdef RACCT
+	racct_proc_ucred_changed(p, oldcred, newcred);
 #endif
 	loginclass_free(oldcred->cr_loginclass);
 	crfree(oldcred);
@@ -219,14 +219,14 @@
 }
 
 void
-loginclass_container_foreach(void (*callback)(struct container *container,
+loginclass_racct_foreach(void (*callback)(struct racct *racct,
     void *arg2, void *arg3), void *arg2, void *arg3)
 {
 	struct loginclass *lc;
 
 	mtx_lock(&loginclasses_lock);
 	LIST_FOREACH(lc, &loginclasses, lc_next)
-		(callback)(lc->lc_container, arg2, arg3);
+		(callback)(lc->lc_racct, arg2, arg3);
 	mtx_unlock(&loginclasses_lock);
 }
 

==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#35 (text+ko) ====

@@ -51,7 +51,6 @@
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/acct.h>
-#include <sys/container.h>
 #include <sys/kdb.h>
 #include <sys/kernel.h>
 #include <sys/lock.h>
@@ -65,6 +64,7 @@
 #include <sys/sysproto.h>
 #include <sys/jail.h>
 #include <sys/pioctl.h>
+#include <sys/racct.h>
 #include <sys/resourcevar.h>
 #include <sys/socket.h>
 #include <sys/socketvar.h>
@@ -585,8 +585,8 @@
 	}
 	p->p_ucred = newcred;
 	PROC_UNLOCK(p);
-#ifdef CONTAINERS
-	container_proc_ucred_changed(p, oldcred, newcred);
+#ifdef RACCT
+	racct_proc_ucred_changed(p, oldcred, newcred);
 #endif
 	uifree(uip);
 	crfree(oldcred);
@@ -926,8 +926,8 @@
 	}
 	p->p_ucred = newcred;
 	PROC_UNLOCK(p);
-#ifdef CONTAINERS
-	container_proc_ucred_changed(p, oldcred, newcred);
+#ifdef RACCT
+	racct_proc_ucred_changed(p, oldcred, newcred);
 #endif
 	uifree(ruip);
 	uifree(euip);
@@ -1067,8 +1067,8 @@
 	}
 	p->p_ucred = newcred;
 	PROC_UNLOCK(p);
-#ifdef CONTAINERS
-	container_proc_ucred_changed(p, oldcred, newcred);
+#ifdef RACCT
+	racct_proc_ucred_changed(p, oldcred, newcred);
 #endif
 	uifree(ruip);
 	uifree(euip);

==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_racct.c#1 (text+ko) ====

@@ -35,7 +35,6 @@
 #include "opt_kdtrace.h"
 
 #include <sys/param.h>
-#include <sys/container.h>
 #include <sys/eventhandler.h>
 #include <sys/param.h>
 #include <sys/jail.h>
@@ -46,6 +45,7 @@
 #include <sys/malloc.h>
 #include <sys/mutex.h>
 #include <sys/proc.h>
+#include <sys/racct.h>
 #include <sys/resourcevar.h>
 #include <sys/sbuf.h>
 #include <sys/sched.h>
@@ -60,178 +60,178 @@
 #include <sys/rctl.h>
 #endif
 
-#ifdef CONTAINERS
+#ifdef RACCT
 
-FEATURE(containers, "Resource Containers");
+FEATURE(racct, "Resource Accounting");
 
-static struct mtx container_lock;
-MTX_SYSINIT(container_lock, &container_lock, "container lock", MTX_DEF);
+static struct mtx racct_lock;
+MTX_SYSINIT(racct_lock, &racct_lock, "racct lock", MTX_DEF);
 
-static uma_zone_t container_zone;
+static uma_zone_t racct_zone;
 
-static void container_sub(struct container *dest, const struct container *src);
-static void rusage_sub_cred_locked(struct ucred *cred, int resource, uint64_t amount);
-static void rusage_add_cred_locked(struct ucred *cred, int resource, uint64_t amount);
+static void racct_sub_racct(struct racct *dest, const struct racct *src);
+static void racct_sub_cred_locked(struct ucred *cred, int resource, uint64_t amount);
+static void racct_add_cred_locked(struct ucred *cred, int resource, uint64_t amount);
 
-SDT_PROVIDER_DEFINE(container);
-SDT_PROBE_DEFINE3(container, kernel, rusage, add, add, "struct proc *", "int", "uint64_t");
-SDT_PROBE_DEFINE3(container, kernel, rusage, add_failure, add-failure, "struct proc *", "int", "uint64_t");
-SDT_PROBE_DEFINE3(container, kernel, rusage, add_cred, add-cred, "struct ucred *", "int", "uint64_t");
-SDT_PROBE_DEFINE3(container, kernel, rusage, add_force, add-force, "struct proc *", "int", "uint64_t");
-SDT_PROBE_DEFINE3(container, kernel, rusage, set, set, "struct proc *", "int", "uint64_t");
-SDT_PROBE_DEFINE3(container, kernel, rusage, set_failure, set-failure, "struct proc *", "int", "uint64_t");
-SDT_PROBE_DEFINE3(container, kernel, rusage, sub, sub, "struct proc *", "int", "uint64_t");
-SDT_PROBE_DEFINE3(container, kernel, rusage, sub_cred, sub-cred, "struct ucred *", "int", "uint64_t");
-SDT_PROBE_DEFINE1(container, kernel, container, create, create, "struct container *");
-SDT_PROBE_DEFINE1(container, kernel, container, destroy, destroy, "struct container *");
-SDT_PROBE_DEFINE2(container, kernel, container, join, join, "struct container *", "struct container *");
-SDT_PROBE_DEFINE2(container, kernel, container, join_failure, join-failure, "struct container *", "struct container *");
-SDT_PROBE_DEFINE2(container, kernel, container, leave, leave, "struct container *", "struct container *");
+SDT_PROVIDER_DEFINE(racct);
+SDT_PROBE_DEFINE3(racct, kernel, rusage, add, add, "struct proc *", "int", "uint64_t");
+SDT_PROBE_DEFINE3(racct, kernel, rusage, add_failure, add-failure, "struct proc *", "int", "uint64_t");
+SDT_PROBE_DEFINE3(racct, kernel, rusage, add_cred, add-cred, "struct ucred *", "int", "uint64_t");
+SDT_PROBE_DEFINE3(racct, kernel, rusage, add_force, add-force, "struct proc *", "int", "uint64_t");
+SDT_PROBE_DEFINE3(racct, kernel, rusage, set, set, "struct proc *", "int", "uint64_t");
+SDT_PROBE_DEFINE3(racct, kernel, rusage, set_failure, set-failure, "struct proc *", "int", "uint64_t");
+SDT_PROBE_DEFINE3(racct, kernel, rusage, sub, sub, "struct proc *", "int", "uint64_t");
+SDT_PROBE_DEFINE3(racct, kernel, rusage, sub_cred, sub-cred, "struct ucred *", "int", "uint64_t");
+SDT_PROBE_DEFINE1(racct, kernel, racct, create, create, "struct racct *");
+SDT_PROBE_DEFINE1(racct, kernel, racct, destroy, destroy, "struct racct *");
+SDT_PROBE_DEFINE2(racct, kernel, racct, join, join, "struct racct *", "struct racct *");
+SDT_PROBE_DEFINE2(racct, kernel, racct, join_failure, join-failure, "struct racct *", "struct racct *");
+SDT_PROBE_DEFINE2(racct, kernel, racct, leave, leave, "struct racct *", "struct racct *");
 
-int rusage_types[] = {
-	[RUSAGE_CPU] =		RUSAGE_IN_THOUSANDS,
-	[RUSAGE_FSIZE] = 	RUSAGE_RECLAIMABLE | RUSAGE_INHERITABLE | RUSAGE_DENIABLE,
-	[RUSAGE_DATA] =		RUSAGE_RECLAIMABLE | RUSAGE_INHERITABLE | RUSAGE_DENIABLE,
-	[RUSAGE_STACK] =	RUSAGE_RECLAIMABLE | RUSAGE_INHERITABLE | RUSAGE_DENIABLE,
-	[RUSAGE_CORE] =		RUSAGE_DENIABLE,
-	[RUSAGE_RSS] =		RUSAGE_RECLAIMABLE,
-	[RUSAGE_MEMLOCK] =	RUSAGE_RECLAIMABLE | RUSAGE_DENIABLE,
-	[RUSAGE_NPROC] =	RUSAGE_RECLAIMABLE | RUSAGE_DENIABLE,
-	[RUSAGE_NOFILE] =	RUSAGE_RECLAIMABLE | RUSAGE_INHERITABLE | RUSAGE_DENIABLE,
-	[RUSAGE_SBSIZE] =	RUSAGE_RECLAIMABLE | RUSAGE_DENIABLE | RUSAGE_SLOPPY,
-	[RUSAGE_VMEM] =		RUSAGE_RECLAIMABLE | RUSAGE_INHERITABLE | RUSAGE_DENIABLE,
-	[RUSAGE_NPTS] =		RUSAGE_RECLAIMABLE | RUSAGE_DENIABLE | RUSAGE_SLOPPY,
-	[RUSAGE_SWAP] =		RUSAGE_RECLAIMABLE | RUSAGE_DENIABLE | RUSAGE_SLOPPY,
-	[RUSAGE_NTHR] =		RUSAGE_RECLAIMABLE | RUSAGE_DENIABLE,
-	[RUSAGE_MSGQQUEUED] =	RUSAGE_RECLAIMABLE | RUSAGE_DENIABLE | RUSAGE_SLOPPY,
-	[RUSAGE_MSGQSIZE] =	RUSAGE_RECLAIMABLE | RUSAGE_DENIABLE | RUSAGE_SLOPPY,
-	[RUSAGE_NMSGQ] =	RUSAGE_RECLAIMABLE | RUSAGE_DENIABLE | RUSAGE_SLOPPY,
-	[RUSAGE_NSEM] =		RUSAGE_RECLAIMABLE | RUSAGE_DENIABLE | RUSAGE_SLOPPY,
-	[RUSAGE_NSEMOP] =	RUSAGE_RECLAIMABLE | RUSAGE_INHERITABLE | RUSAGE_DENIABLE,
-	[RUSAGE_NSHM] =		RUSAGE_RECLAIMABLE | RUSAGE_DENIABLE | RUSAGE_SLOPPY,
-	[RUSAGE_SHMSIZE] =	RUSAGE_RECLAIMABLE | RUSAGE_DENIABLE | RUSAGE_SLOPPY,
-	[RUSAGE_WALLCLOCK] =	RUSAGE_IN_THOUSANDS };
+int racct_types[] = {
+	[RACCT_CPU] =		RACCT_IN_THOUSANDS,
+	[RACCT_FSIZE] = 	RACCT_RECLAIMABLE | RACCT_INHERITABLE | RACCT_DENIABLE,
+	[RACCT_DATA] =		RACCT_RECLAIMABLE | RACCT_INHERITABLE | RACCT_DENIABLE,
+	[RACCT_STACK] =		RACCT_RECLAIMABLE | RACCT_INHERITABLE | RACCT_DENIABLE,
+	[RACCT_CORE] =		RACCT_DENIABLE,
+	[RACCT_RSS] =		RACCT_RECLAIMABLE,
+	[RACCT_MEMLOCK] =	RACCT_RECLAIMABLE | RACCT_DENIABLE,
+	[RACCT_NPROC] =		RACCT_RECLAIMABLE | RACCT_DENIABLE,
+	[RACCT_NOFILE] =	RACCT_RECLAIMABLE | RACCT_INHERITABLE | RACCT_DENIABLE,
+	[RACCT_SBSIZE] =	RACCT_RECLAIMABLE | RACCT_DENIABLE | RACCT_SLOPPY,
+	[RACCT_VMEM] =		RACCT_RECLAIMABLE | RACCT_INHERITABLE | RACCT_DENIABLE,
+	[RACCT_NPTS] =		RACCT_RECLAIMABLE | RACCT_DENIABLE | RACCT_SLOPPY,
+	[RACCT_SWAP] =		RACCT_RECLAIMABLE | RACCT_DENIABLE | RACCT_SLOPPY,
+	[RACCT_NTHR] =		RACCT_RECLAIMABLE | RACCT_DENIABLE,
+	[RACCT_MSGQQUEUED] =	RACCT_RECLAIMABLE | RACCT_DENIABLE | RACCT_SLOPPY,
+	[RACCT_MSGQSIZE] =	RACCT_RECLAIMABLE | RACCT_DENIABLE | RACCT_SLOPPY,
+	[RACCT_NMSGQ] =		RACCT_RECLAIMABLE | RACCT_DENIABLE | RACCT_SLOPPY,
+	[RACCT_NSEM] =		RACCT_RECLAIMABLE | RACCT_DENIABLE | RACCT_SLOPPY,
+	[RACCT_NSEMOP] =	RACCT_RECLAIMABLE | RACCT_INHERITABLE | RACCT_DENIABLE,
+	[RACCT_NSHM] =		RACCT_RECLAIMABLE | RACCT_DENIABLE | RACCT_SLOPPY,
+	[RACCT_SHMSIZE] =	RACCT_RECLAIMABLE | RACCT_DENIABLE | RACCT_SLOPPY,
+	[RACCT_WALLCLOCK] =	RACCT_IN_THOUSANDS };
 
 static void
-container_add(struct container *dest, const struct container *src)
+racct_add_racct(struct racct *dest, const struct racct *src)
 {
 	int i;
 
-	mtx_assert(&container_lock, MA_OWNED);
+	mtx_assert(&racct_lock, MA_OWNED);
 
 	/*
 	 * Update resource usage in dest.
 	 */
-	for (i = 0; i <= RUSAGE_MAX; i++) {
-		KASSERT(dest->c_resources[i] >= 0,
+	for (i = 0; i <= RACCT_MAX; i++) {
+		KASSERT(dest->r_resources[i] >= 0,
 		    ("resource usage propagation meltdown: dest < 0"));
-		KASSERT(src->c_resources[i] >= 0,
+		KASSERT(src->r_resources[i] >= 0,
 		    ("resource usage propagation meltdown: src < 0"));
-		dest->c_resources[i] += src->c_resources[i];
+		dest->r_resources[i] += src->r_resources[i];
 	}
 }
 
 static void
-container_sub(struct container *dest, const struct container *src)
+racct_sub_racct(struct racct *dest, const struct racct *src)
 {
 	int i;
 
-	mtx_assert(&container_lock, MA_OWNED);
+	mtx_assert(&racct_lock, MA_OWNED);
 
 	/*
 	 * Update resource usage in dest.
 	 */
-	for (i = 0; i <= RUSAGE_MAX; i++) {
-		if (!rusage_is_sloppy(i) &&
-		    !rusage_is_dampened(i)) {
-			KASSERT(dest->c_resources[i] >= 0,
+	for (i = 0; i <= RACCT_MAX; i++) {
+		if (!racct_is_sloppy(i) &&
+		    !racct_is_dampened(i)) {
+			KASSERT(dest->r_resources[i] >= 0,
 			    ("resource usage propagation meltdown: dest < 0"));
-			KASSERT(src->c_resources[i] >= 0,
+			KASSERT(src->r_resources[i] >= 0,
 			    ("resource usage propagation meltdown: src < 0"));
-			KASSERT(src->c_resources[i] <= dest->c_resources[i],
+			KASSERT(src->r_resources[i] <= dest->r_resources[i],
 			    ("resource usage propagation meltdown: src > dest"));
 		}
-		if (rusage_is_reclaimable(i)) {
-			dest->c_resources[i] -= src->c_resources[i];
-			if (dest->c_resources[i] < 0) {
-				KASSERT(rusage_is_sloppy(i) ||
-				    rusage_is_dampened(i),
-				    ("container_sub: usage < 0"));
-				dest->c_resources[i] = 0;
+		if (racct_is_reclaimable(i)) {
+			dest->r_resources[i] -= src->r_resources[i];
+			if (dest->r_resources[i] < 0) {
+				KASSERT(racct_is_sloppy(i) ||
+				    racct_is_dampened(i),
+				    ("racct_sub_racct: usage < 0"));
+				dest->r_resources[i] = 0;
 			}
 		}
 	}
 }
 
 void
-container_create(struct container **containerp)
+racct_create(struct racct **racctp)
 {
 
-	SDT_PROBE(container, kernel, container, create, containerp, 0, 0, 0, 0);
+	SDT_PROBE(racct, kernel, racct, create, racctp, 0, 0, 0, 0);
 
-	KASSERT(*containerp == NULL, ("container already allocated"));
+	KASSERT(*racctp == NULL, ("racct already allocated"));
 
-	*containerp = uma_zalloc(container_zone, M_WAITOK | M_ZERO);
+	*racctp = uma_zalloc(racct_zone, M_WAITOK | M_ZERO);
 }
 
 static void
-container_destroy_locked(struct container **containerp)
+racct_destroy_locked(struct racct **racctp)
 {
 	int i;
-	struct container *container;
+	struct racct *racct;
 
-	SDT_PROBE(container, kernel, container, destroy, containerp, 0, 0, 0, 0);
+	SDT_PROBE(racct, kernel, racct, destroy, racctp, 0, 0, 0, 0);
 
-	mtx_assert(&container_lock, MA_OWNED);
-	KASSERT(containerp != NULL, ("NULL containerp"));
-	KASSERT(*containerp != NULL, ("NULL container"));
+	mtx_assert(&racct_lock, MA_OWNED);
+	KASSERT(racctp != NULL, ("NULL racctp"));
+	KASSERT(*racctp != NULL, ("NULL racct"));
 
-	container = *containerp;
+	racct = *racctp;
 
-	for (i = 0; i <= RUSAGE_MAX; i++) {
-		if (rusage_is_sloppy(i))
+	for (i = 0; i <= RACCT_MAX; i++) {
+		if (racct_is_sloppy(i))
 			continue;
-		if (!rusage_is_reclaimable(i))
+		if (!racct_is_reclaimable(i))
 			continue;
-		if (rusage_is_dampened(i))
+		if (racct_is_dampened(i))
 			continue;
-		KASSERT(container->c_resources[i] == 0,
-		    ("destroying non-empty container: "
+		KASSERT(racct->r_resources[i] == 0,
+		    ("destroying non-empty racct: "
 		    "%ju allocated for resource %d\n",
-		    container->c_resources[i], i));
+		    racct->r_resources[i], i));
 	}
-	uma_zfree(container_zone, container);
-	*containerp = NULL;
+	uma_zfree(racct_zone, racct);
+	*racctp = NULL;
 }
 
 void
-container_destroy(struct container **container)
+racct_destroy(struct racct **racct)
 {
 
-	mtx_lock(&container_lock);
-	container_destroy_locked(container);
-	mtx_unlock(&container_lock);
+	mtx_lock(&racct_lock);
+	racct_destroy_locked(racct);
+	mtx_unlock(&racct_lock);
 }
 
 /*
- * Increase consumption of 'resource' by 'amount' for 'container'
+ * Increase consumption of 'resource' by 'amount' for 'racct'
  * and all its parents.  Differently from other cases, 'amount' here
  * may be less than zero.
  */
 static void
-container_alloc_resource(struct container *container, int resource,
+racct_alloc_resource(struct racct *racct, int resource,
     uint64_t amount)
 {
 
-	mtx_assert(&container_lock, MA_OWNED);
-	KASSERT(container != NULL, ("NULL container"));
+	mtx_assert(&racct_lock, MA_OWNED);
+	KASSERT(racct != NULL, ("NULL racct"));
 
-	container->c_resources[resource] += amount;
-	if (container->c_resources[resource] < 0) {
-		KASSERT(rusage_is_sloppy(resource) ||
-		    rusage_is_dampened(resource),
-		    ("container_alloc_resource: usage < 0"));
-		container->c_resources[resource] = 0;
+	racct->r_resources[resource] += amount;
+	if (racct->r_resources[resource] < 0) {
+		KASSERT(racct_is_sloppy(resource) ||
+		    racct_is_dampened(resource),
+		    ("racct_alloc_resource: usage < 0"));
+		racct->r_resources[resource] = 0;
 	}
 }
 
@@ -240,7 +240,7 @@
  * Return 0 if it's below limits, or errno, if it's not.
  */
 int
-rusage_add(struct proc *p, int resource, uint64_t amount)
+racct_add(struct proc *p, int resource, uint64_t amount)
 {
 #ifdef RCTL
 	int error;
@@ -249,45 +249,45 @@
 	if (p->p_flag & P_SYSTEM)
 		return (0);
 
-	SDT_PROBE(container, kernel, rusage, add, p, resource, amount, 0, 0);
+	SDT_PROBE(racct, kernel, rusage, add, p, resource, amount, 0, 0);
 
 	/*
 	 * We need proc lock to dereference p->p_ucred.
 	 */
 	PROC_LOCK_ASSERT(p, MA_OWNED);
-	KASSERT(amount >= 0, ("rusage_add: invalid amount for resource %d: %ju",
+	KASSERT(amount >= 0, ("racct_add: invalid amount for resource %d: %ju",
 	    resource, amount));
 
-	mtx_lock(&container_lock);
+	mtx_lock(&racct_lock);
 #ifdef RCTL
 	error = rctl_enforce(p, resource, amount);
-	if (error && rusage_is_deniable(resource)) {
-		SDT_PROBE(container, kernel, rusage, add_failure, p, resource, amount, 0, 0);
-		mtx_unlock(&container_lock);

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list