PERFORCE change 180302 for review

Edward Tomasz Napierala trasz at FreeBSD.org
Mon Jun 28 19:11:19 UTC 2010


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

Change 180302 by trasz at trasz_victim on 2010/06/28 19:10:24

	Make containers independent from HRL.  Add "options HRL".

Affected files ...

.. //depot/projects/soc2009/trasz_limits/sys/compat/linux/linux_misc.c#11 edit
.. //depot/projects/soc2009/trasz_limits/sys/compat/svr4/imgact_svr4.c#5 edit
.. //depot/projects/soc2009/trasz_limits/sys/compat/svr4/svr4_filio.c#5 edit
.. //depot/projects/soc2009/trasz_limits/sys/conf/NOTES#22 edit
.. //depot/projects/soc2009/trasz_limits/sys/conf/options#20 edit
.. //depot/projects/soc2009/trasz_limits/sys/fs/unionfs/union_subr.c#6 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/init_main.c#22 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_container.c#4 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_exit.c#19 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_fork.c#15 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#77 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_loginclass.c#18 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#26 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#33 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/tty_pts.c#15 edit
.. //depot/projects/soc2009/trasz_limits/sys/sys/loginclass.h#9 edit
.. //depot/projects/soc2009/trasz_limits/sys/sys/resourcevar.h#19 edit
.. //depot/projects/soc2009/trasz_limits/sys/vm/vm_map.c#14 edit
.. //depot/projects/soc2009/trasz_limits/sys/vm/vm_unix.c#5 edit

Differences ...

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

@@ -35,7 +35,7 @@
 #include <sys/param.h>
 #include <sys/blist.h>
 #include <sys/fcntl.h>
-#include <sys/hrl.h>
+#include <sys/container.h>
 #if defined(__i386__)
 #include <sys/imgact_aout.h>
 #endif

==== //depot/projects/soc2009/trasz_limits/sys/compat/svr4/imgact_svr4.c#5 (text+ko) ====

@@ -36,7 +36,7 @@
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/exec.h>
-#include <sys/hrl.h>
+#include <sys/container.h>
 #include <sys/imgact.h>
 #include <sys/imgact_aout.h>
 #include <sys/kernel.h>

==== //depot/projects/soc2009/trasz_limits/sys/compat/svr4/svr4_filio.c#5 (text+ko) ====

@@ -37,7 +37,7 @@
 #include <sys/lock.h>
 #include <sys/signal.h>
 #include <sys/filedesc.h>
-#include <sys/hrl.h>
+#include <sys/container.h>
 #include <sys/poll.h>
 #include <sys/malloc.h>
 #include <sys/mutex.h>

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

@@ -1144,6 +1144,9 @@
 options 	MAC_STUB
 options 	MAC_TEST
 
+# Hierarchical Resource Limits
+options 	HRL
+
 
 #####################################################################
 # CLOCK OPTIONS

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

@@ -853,3 +853,6 @@
 # Flattened device tree options
 FDT		opt_platform.h
 FDT_DTB_STATIC	opt_platform.h
+
+# Hierarchical Resource Limits
+HRL			opt_hrl.h

==== //depot/projects/soc2009/trasz_limits/sys/fs/unionfs/union_subr.c#6 (text+ko) ====

@@ -49,7 +49,7 @@
 #include <sys/dirent.h>
 #include <sys/fcntl.h>
 #include <sys/filedesc.h>
-#include <sys/hrl.h>
+#include <sys/container.h>
 #include <sys/stat.h>
 #include <sys/resourcevar.h>
 

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

@@ -45,6 +45,7 @@
 __FBSDID("$FreeBSD: src/sys/kern/init_main.c,v 1.310 2010/05/23 18:32:02 kib Exp $");
 
 #include "opt_ddb.h"
+#include "opt_hrl.h"
 #include "opt_init_path.h"
 
 #include <sys/param.h>
@@ -498,8 +499,10 @@
 #endif
 	td->td_ucred = crhold(p->p_ucred);
 
+#ifdef HRL
 	/* Let the HRL know about the new process. */
 	hrl_proc_init(p);
+#endif
 
 	/* Create sigacts. */
 	p->p_sigacts = sigacts_alloc();

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

@@ -27,20 +27,18 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
+#include "opt_hrl.h"
+
 #include <sys/container.h>
-#include <sys/hrl.h>
 #include <sys/param.h>
 #include <sys/malloc.h>
 #include <sys/queue.h>
 #include <sys/refcount.h>
-#include <sys/jail.h>
 #include <sys/kernel.h>
 #include <sys/limits.h>
-#include <sys/loginclass.h>
 #include <sys/priv.h>
 #include <sys/proc.h>
 #include <sys/resourcevar.h>
-#include <sys/sx.h>
 #include <sys/sysent.h>
 #include <sys/sysproto.h>
 #include <sys/systm.h>
@@ -52,14 +50,19 @@
 #include <sys/tree.h>
 #include <vm/uma.h>
 
-extern struct mtx hrl_lock;
+#ifdef HRL
+#include <sys/hrl.h>
+#endif
+
+struct mtx container_lock;
+MTX_SYSINIT(container_lock, &container_lock, "container lock", MTX_RECURSE); /* XXX: Make it non-recurseable later. */
 
 static void
 container_add(struct container *dest, const struct container *src)
 {
 	int i;
 
-	mtx_assert(&hrl_lock, MA_OWNED);
+	mtx_assert(&container_lock, MA_OWNED);
 
 	for (i = 0; i <= HRL_RESOURCE_MAX; i++) {
 		KASSERT(dest->c_resources[i] >= 0,
@@ -77,7 +80,7 @@
 {
 	int i;
 
-	mtx_assert(&hrl_lock, MA_OWNED);
+	mtx_assert(&container_lock, MA_OWNED);
 
 	for (i = 0; i <= HRL_RESOURCE_MAX; i++) {
 		KASSERT(dest->c_resources[i] >= 0,
@@ -97,7 +100,7 @@
 {
 	int i;
 
-	mtx_assert(&hrl_lock, MA_OWNED);
+	mtx_assert(&container_lock, MA_OWNED);
 	KASSERT(child != NULL, ("child != NULL"));
 	KASSERT(parent != NULL, ("parent != NULL"));
 
@@ -118,7 +121,7 @@
 {
 	int i;
 
-	mtx_assert(&hrl_lock, MA_OWNED);
+	mtx_assert(&container_lock, MA_OWNED);
 	KASSERT(child != NULL, ("child != NULL"));
 	KASSERT(parent != NULL, ("parent != NULL"));
 
@@ -137,7 +140,7 @@
 {
 	int i;
 
-	mtx_assert(&hrl_lock, MA_OWNED);
+	mtx_assert(&container_lock, MA_OWNED);
 	KASSERT(child != NULL, ("child != NULL"));
 
 	for (i = 0; i <= CONTAINER_PARENTS_MAX; i++) {
@@ -166,18 +169,17 @@
 {
 	int i;
 
-	mtx_lock(&hrl_lock);
+	mtx_lock(&container_lock);
 	for (i = 0; i <= HRL_RESOURCE_MAX; i++) {
 		if (container->c_resources[i] != 0)
 			printf("destroying non-empty container: "
-			    "%ju allocated for resource %s",
-			    container->c_resources[i],
-			    hrl_resource_name(i));
+			    "%ju allocated for resource %d",
+			    container->c_resources[i], i);
 		container->c_resources[i] = 0;
 	}
 
 	container_leave_parents(container);
-	mtx_unlock(&hrl_lock);
+	mtx_unlock(&container_lock);
 }
 
 #ifdef DIAGNOSTIC
@@ -190,7 +192,7 @@
 	int i, resource;
 	struct container *parent;
 
-	mtx_assert(&hrl_lock, MA_OWNED);
+	mtx_assert(&container_lock, MA_OWNED);
 	KASSERT(container != NULL, ("NULL container"));
 
 	for (resource = 0; resource <= HRL_RESOURCE_MAX; resource++) {
@@ -223,7 +225,7 @@
 {
 	int i;
 
-	mtx_assert(&hrl_lock, MA_OWNED);
+	mtx_assert(&container_lock, MA_OWNED);
 	KASSERT(container != NULL, ("NULL container"));
 
 	container->c_resources[resource] += amount;
@@ -244,23 +246,24 @@
 int
 hrl_alloc(struct proc *p, int resource, uint64_t amount)
 {
-	int error;
 
 #if 0
 	printf("hrl_alloc: allocating %ju of %s for %s (pid %d)\n", amount, hrl_resource_name(resource), p->p_comm, p->p_pid);
 #endif
 
-	KASSERT(amount > 0, ("hrl_alloc: invalid amount for %s: %ju",
-	    hrl_resource_name(resource), amount));
+	KASSERT(amount > 0, ("hrl_alloc: invalid amount for resource %d: %ju",
+	    resource, amount));
 
-	mtx_lock(&hrl_lock);
+	mtx_lock(&container_lock);
+#ifdef HRL
 	error = hrl_enforce_proc(p, resource, amount);
 	if (error) {
-		mtx_unlock(&hrl_lock);
+		mtx_unlock(&container_lock);
 		return (error);
 	}
+#endif
 	container_alloc_resource(&p->p_container, resource, amount);
-	mtx_unlock(&hrl_lock);
+	mtx_unlock(&container_lock);
 
 	return (0);
 }
@@ -275,27 +278,28 @@
 int
 hrl_allocated(struct proc *p, int resource, uint64_t amount)
 {
-	int error;
 	int64_t diff;
 
 #if 0
 	printf("hrl_allocated: allocated %lld of %s for %s (pid %d)\n", amount, hrl_resource_name(resource), p->p_comm, p->p_pid);
 #endif
 
-	KASSERT(amount >= 0, ("hrl_allocated: invalid amount for %s: %ju",
-	    hrl_resource_name(resource), amount));
+	KASSERT(amount >= 0, ("hrl_allocated: invalid amount for resource %d: %ju",
+	    resource, amount));
 
-	mtx_lock(&hrl_lock);
+	mtx_lock(&container_lock);
 	diff = amount - p->p_container.c_resources[resource];
+#ifdef HRL
 	if (diff > 0) {
 		error = hrl_enforce_proc(p, resource, diff);
 		if (error) {
-			mtx_unlock(&hrl_lock);
+			mtx_unlock(&container_lock);
 			return (error);
 		}
 	}
+#endif
 	container_alloc_resource(&p->p_container, resource, diff);
-	mtx_unlock(&hrl_lock);
+	mtx_unlock(&container_lock);
 
 	return (0);
 }
@@ -311,17 +315,17 @@
 	printf("hrl_free: freeing %lld of %s for %s (pid %d)\n", amount, hrl_resource_name(resource), p->p_comm, p->p_pid);
 #endif
 
-	KASSERT(amount > 0, ("hrl_free: invalid amount for %s: %ju",
-	    hrl_resource_name(resource), amount));
+	KASSERT(amount > 0, ("hrl_free: invalid amount for resource %d: %ju",
+	    resource, amount));
 
-	mtx_lock(&hrl_lock);
+	mtx_lock(&container_lock);
 	KASSERT(amount <= p->p_container.c_resources[resource],
-	    ("hrl_free: freeing %ju of %s, which is more than allocated "
-	    "%ld for %s (pid %d)", amount, hrl_resource_name(resource),
+	    ("hrl_free: freeing %ju of resource %d, which is more than allocated "
+	    "%ld for %s (pid %d)", amount, resource,
 	    p->p_container.c_resources[resource], p->p_comm, p->p_pid));
 
 	container_alloc_resource(&p->p_container, resource, -amount);
-	mtx_unlock(&hrl_lock);
+	mtx_unlock(&container_lock);
 }
 
 static int
@@ -346,9 +350,9 @@
 	hrl_allocated(p, HRL_RESOURCE_COREDUMPSIZE, 0);
 	hrl_allocated(p, HRL_RESOURCE_PTY, 0);
 
-	mtx_lock(&hrl_lock);
+	mtx_lock(&container_lock);
 	container_destroy(&p->p_container);
-	mtx_unlock(&hrl_lock);
+	mtx_unlock(&container_lock);
 }
 
 /*
@@ -363,7 +367,7 @@
 
 	PROC_LOCK(parent);
 	PROC_LOCK(child);
-	mtx_lock(&hrl_lock);
+	mtx_lock(&container_lock);
 
 	/*
 	 * Create container for the child process and inherit containing
@@ -384,7 +388,7 @@
 			    parent->p_container.c_resources[i]);
 	}
 
-	mtx_unlock(&hrl_lock);
+	mtx_unlock(&container_lock);
 	PROC_UNLOCK(child);
 	PROC_UNLOCK(parent);
 }

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

@@ -66,7 +66,7 @@
 #include <sys/ptrace.h>
 #include <sys/acct.h>		/* for acct_process() function prototype */
 #include <sys/filedesc.h>
-#include <sys/hrl.h>
+#include <sys/container.h>
 #include <sys/sdt.h>
 #include <sys/shm.h>
 #include <sys/sem.h>

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

@@ -46,7 +46,7 @@
 #include <sys/sysproto.h>
 #include <sys/eventhandler.h>
 #include <sys/filedesc.h>
-#include <sys/hrl.h>
+#include <sys/container.h>
 #include <sys/jail.h>
 #include <sys/kernel.h>
 #include <sys/kthread.h>

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

@@ -27,6 +27,8 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
+#include "opt_hrl.h"
+
 #include <sys/container.h>
 #include <sys/hrl.h>
 #include <sys/param.h>
@@ -52,6 +54,8 @@
 #include <sys/tree.h>
 #include <vm/uma.h>
 
+#ifdef HRL
+
 #define	HRF_DEFAULT		0
 #define	HRF_DONT_INHERIT	1
 #define	HRF_DONT_ACCUMULATE	2
@@ -116,7 +120,7 @@
 
 static uma_zone_t hrl_rule_link_zone;
 static uma_zone_t hrl_rule_zone;
-struct mtx hrl_lock;
+extern struct mtx container_lock;
 
 static void hrl_compute_available(struct proc *p, int64_t (*availablep)[]);
 static int hrl_rule_fully_specified(const struct hrl_rule *rule);
@@ -192,7 +196,7 @@
 	int64_t available = INT64_MAX;
 	struct ucred *cred = p->p_ucred;
 
-	mtx_assert(&hrl_lock, MA_OWNED);
+	mtx_assert(&container_lock, MA_OWNED);
 
 	resource = rule->hr_resource;
 	switch (rule->hr_per) {
@@ -231,7 +235,7 @@
 {
 	int64_t available;
 
-	mtx_assert(&hrl_lock, MA_OWNED);
+	mtx_assert(&container_lock, MA_OWNED);
 
 	available = hrl_available_resource(p, rule);
 	if (available >= amount)
@@ -266,7 +270,7 @@
 	int should_deny = 0;
 	char *buf;
 
-	mtx_assert(&hrl_lock, MA_OWNED);
+	mtx_assert(&container_lock, MA_OWNED);
 
 	/*
 	 * XXX: Do this just before we start running on a CPU, not all the time.
@@ -363,7 +367,7 @@
 	struct hrl_rule_link *link;
 	struct hrl_rule *rule;
 
-	mtx_assert(&hrl_lock, MA_OWNED);
+	mtx_assert(&container_lock, MA_OWNED);
 
 	for (i = 0; i <= HRL_RESOURCE_MAX; i++)
 		(*availablep)[i] = INT64_MAX;
@@ -509,9 +513,9 @@
 	link = uma_zalloc(hrl_rule_link_zone, M_WAITOK);
 	link->hrl_rule = rule;
 
-	mtx_lock(&hrl_lock);
+	mtx_lock(&container_lock);
 	LIST_INSERT_HEAD(&container->c_rule_links, link, hrl_next);
-	mtx_unlock(&hrl_lock);
+	mtx_unlock(&container_lock);
 }
 
 static int
@@ -520,7 +524,7 @@
 	struct hrl_rule_link *link;
 
 	KASSERT(hrl_rule_fully_specified(rule), ("rule not fully specified"));
-	mtx_assert(&hrl_lock, MA_OWNED);
+	mtx_assert(&container_lock, MA_OWNED);
 
 	link = uma_zalloc(hrl_rule_link_zone, M_NOWAIT);
 	if (link == NULL)
@@ -544,7 +548,7 @@
 	int removed = 0;
 	struct hrl_rule_link *link, *linktmp;
 
-	mtx_lock(&hrl_lock);
+	mtx_lock(&container_lock);
 	LIST_FOREACH_SAFE(link, &container->c_rule_links, hrl_next, linktmp) {
 		if (!hrl_rule_matches(link->hrl_rule, filter))
 			continue;
@@ -554,7 +558,7 @@
 		uma_zfree(hrl_rule_link_zone, link);
 		removed++;
 	}
-	mtx_unlock(&hrl_lock);
+	mtx_unlock(&container_lock);
 	return (removed);
 }
 
@@ -1210,7 +1214,7 @@
 	struct hrl_rule_link *link;
 	struct sbuf *sb = (struct sbuf *)arg3;
 
-	mtx_assert(&hrl_lock, MA_OWNED);
+	mtx_assert(&container_lock, MA_OWNED);
 
 	LIST_FOREACH(link, &container->c_rule_links, hrl_next) {
 		if (!hrl_rule_matches(link->hrl_rule, filter))
@@ -1252,7 +1256,7 @@
 
 	sx_assert(&allproc_lock, SA_LOCKED);
 	FOREACH_PROC_IN_SYSTEM(p) {
-		mtx_lock(&hrl_lock);
+		mtx_lock(&container_lock);
 		LIST_FOREACH(link, &p->p_container.c_rule_links, hrl_next) {
 			/*
 			 * Non-process rules will be added to the buffer later.
@@ -1265,14 +1269,14 @@
 			hrl_rule_to_sbuf(sb, link->hrl_rule);
 			sbuf_printf(sb, ",");
 		}
-		mtx_unlock(&hrl_lock);
+		mtx_unlock(&container_lock);
 	}
 
-	mtx_lock(&hrl_lock);
+	mtx_lock(&container_lock);
 	loginclass_container_foreach(hrl_get_rules_callback, filter, sb);
 	ui_container_foreach(hrl_get_rules_callback, filter, sb);
 	gi_container_foreach(hrl_get_rules_callback, filter, sb);
-	mtx_unlock(&hrl_lock);
+	mtx_unlock(&container_lock);
 	if (sbuf_overflowed(sb)) {
 		sbuf_delete(sb);
 		free(buf, M_HRL);
@@ -1337,12 +1341,12 @@
 	sb = sbuf_new(NULL, buf, bufsize, SBUF_FIXEDLEN);
 	KASSERT(sb != NULL, ("sbuf_new failed"));
 
-	mtx_lock(&hrl_lock);
+	mtx_lock(&container_lock);
 	LIST_FOREACH(link, &filter->hr_subject.hs_proc->p_container.c_rule_links, hrl_next) {
 		hrl_rule_to_sbuf(sb, link->hrl_rule);
 		sbuf_printf(sb, ",");
 	}
-	mtx_unlock(&hrl_lock);
+	mtx_unlock(&container_lock);
 	if (sbuf_overflowed(sb)) {
 		sbuf_delete(sb);
 		free(buf, M_HRL);
@@ -1443,14 +1447,14 @@
 {
 	struct ucred *cred = p->p_ucred;
 
-	mtx_lock(&hrl_lock);
+	mtx_lock(&container_lock);
 
 	container_create(&p->p_container);
 	container_join(&p->p_container, &cred->cr_ruidinfo->ui_container);
 	container_join(&p->p_container, &cred->cr_loginclass->lc_container);
 	container_join(&p->p_container, &cred->cr_prison->pr_container);
 
-	mtx_unlock(&hrl_lock);
+	mtx_unlock(&container_lock);
 }
 
 /*
@@ -1475,7 +1479,7 @@
 	newpr = newcred->cr_prison;
 	oldpr = p->p_ucred->cr_prison;
 
-	mtx_lock(&hrl_lock);
+	mtx_lock(&container_lock);
 
 	/*
 	 * Remove rules that are no longer applicable with the new ucred.
@@ -1537,7 +1541,7 @@
 		container_join(&p->p_container, &newpr->pr_container);
 	}
 
-	mtx_unlock(&hrl_lock);
+	mtx_unlock(&container_lock);
 }
 
 /*
@@ -1553,7 +1557,7 @@
 
 	PROC_LOCK(parent);
 	PROC_LOCK(child);
-	mtx_lock(&hrl_lock);
+	mtx_lock(&container_lock);
 
 	/*
 	 * Go through limits applicable to the parent and assign them to the child.
@@ -1576,7 +1580,7 @@
 		}
 	}
 
-	mtx_unlock(&hrl_lock);
+	mtx_unlock(&container_lock);
 	PROC_UNLOCK(child);
 	PROC_UNLOCK(parent);
 }
@@ -1589,14 +1593,14 @@
 {
 	struct hrl_rule_link *link;
 
-	mtx_lock(&hrl_lock);
+	mtx_lock(&container_lock);
 	while (!LIST_EMPTY(&p->p_container.c_rule_links)) {
 		link = LIST_FIRST(&p->p_container.c_rule_links);
 		LIST_REMOVE(link, hrl_next);
 		hrl_rule_release(link->hrl_rule);
 		uma_zfree(hrl_rule_link_zone, link);
 	}
-	mtx_unlock(&hrl_lock);
+	mtx_unlock(&container_lock);
 }
 
 static void
@@ -1607,9 +1611,47 @@
 	    NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
 	hrl_rule_zone = uma_zcreate("hrl_rule", sizeof(struct hrl_rule),
 	    NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
-	mtx_init(&hrl_lock, "hrl lock", NULL, MTX_RECURSE); /* XXX: Make it non-recurseable later. */
 	EVENTHANDLER_REGISTER(process_fork, hrl_proc_fork, NULL,
 	    EVENTHANDLER_PRI_ANY);
 	EVENTHANDLER_REGISTER(process_exit, hrl_proc_exit, NULL,
 	    EVENTHANDLER_PRI_ANY);
 }
+
+#else /* !HRL */
+
+int
+hrl_get_usage(struct thread *td, struct hrl_get_usage_args *uap)
+{
+	
+	return (EOPNOTSUPP);
+}
+
+int
+hrl_get_rules(struct thread *td, struct hrl_get_rules_args *uap)
+{
+	
+	return (EOPNOTSUPP);
+}
+
+int
+hrl_get_limits(struct thread *td, struct hrl_get_limits_args *uap)
+{
+	
+	return (EOPNOTSUPP);
+}
+
+int
+hrl_add_rule(struct thread *td, struct hrl_add_rule_args *uap)
+{
+	
+	return (EOPNOTSUPP);
+}
+
+int
+hrl_remove_rule(struct thread *td, struct hrl_remove_rule_args *uap)
+{
+	
+	return (EOPNOTSUPP);
+}
+
+#endif /* !HRL */

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

@@ -42,7 +42,6 @@
 
 #include <sys/param.h>
 #include <sys/eventhandler.h>
-#include <sys/hrl.h>
 #include <sys/kernel.h>
 #include <sys/lock.h>
 #include <sys/loginclass.h>

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

@@ -45,6 +45,7 @@
 __FBSDID("$FreeBSD: src/sys/kern/kern_prot.c,v 1.228 2010/01/15 07:18:46 brooks Exp $");
 
 #include "opt_compat.h"
+#include "opt_hrl.h"
 #include "opt_inet.h"
 #include "opt_inet6.h"
 
@@ -2125,7 +2126,9 @@
 {
 	PROC_LOCK_ASSERT(p, MA_OWNED);
 
+#ifdef HRL
 	hrl_proc_ucred_changing(p, newcred);
+#endif
 	p->p_ucred = newcred;
 }
 

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

@@ -38,6 +38,7 @@
 __FBSDID("$FreeBSD: src/sys/kern/kern_resource.c,v 1.198 2010/05/24 10:23:49 kib Exp $");
 
 #include "opt_compat.h"
+#include "opt_hrl.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -654,6 +655,7 @@
 		callout_reset(&p->p_limco, hz, lim_cb, p);
 }
 
+#ifdef HRL
 static void
 hrl_handle_setrlimit(u_int which, struct rlimit *lim, struct thread *td)
 {
@@ -748,6 +750,7 @@
 	}
 	hrl_rule_release(rule);
 }
+#endif /* HRL */
 
 int
 kern_setrlimit(td, which, limp)
@@ -870,7 +873,9 @@
 		}
 	}
 
+#ifdef HRL
 	hrl_handle_setrlimit(which, alimp, td);
+#endif
 
 	return (0);
 }

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

@@ -45,7 +45,7 @@
 #include <sys/file.h>
 #include <sys/filedesc.h>
 #include <sys/filio.h>
-#include <sys/hrl.h>
+#include <sys/container.h>
 #include <sys/kernel.h>
 #include <sys/limits.h>
 #include <sys/malloc.h>

==== //depot/projects/soc2009/trasz_limits/sys/sys/loginclass.h#9 (text+ko) ====

@@ -39,6 +39,8 @@
 	struct container	lc_container;
 };
 
+struct hrl_rule;
+
 void	loginclass_acquire(struct loginclass *lc);
 void	loginclass_release(struct loginclass *lc);
 struct loginclass	*loginclass_find(const char *name);

==== //depot/projects/soc2009/trasz_limits/sys/sys/resourcevar.h#19 (text+ko) ====

@@ -39,7 +39,6 @@
 #include <sys/_lock.h>
 #include <sys/_mutex.h>
 #include <sys/container.h>
-#include <sys/hrl.h>
 #endif
 
 /*
@@ -123,6 +122,7 @@
 struct proc;
 struct rusage_ext;
 struct thread;
+struct hrl_rule;
 
 void	 addupc_intr(struct thread *td, uintfptr_t pc, u_int ticks);
 void	 addupc_task(struct thread *td, uintfptr_t pc, u_int ticks);

==== //depot/projects/soc2009/trasz_limits/sys/vm/vm_map.c#14 (text+ko) ====

@@ -67,7 +67,7 @@
 
 #include <sys/param.h>
 #include <sys/systm.h>
-#include <sys/hrl.h>
+#include <sys/container.h>
 #include <sys/ktr.h>
 #include <sys/lock.h>
 #include <sys/mutex.h>

==== //depot/projects/soc2009/trasz_limits/sys/vm/vm_unix.c#5 (text+ko) ====

@@ -44,7 +44,7 @@
 __FBSDID("$FreeBSD: src/sys/vm/vm_unix.c,v 1.49 2009/04/11 22:34:08 alc Exp $");
 
 #include <sys/param.h>
-#include <sys/hrl.h>
+#include <sys/container.h>
 #include <sys/lock.h>
 #include <sys/mutex.h>
 #include <sys/proc.h>


More information about the p4-projects mailing list