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