[Midnightbsd-cvs] src [7783] trunk: Implement userland changes for kqueue resource limits
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Mon Sep 5 12:24:21 EDT 2016
Revision: 7783
http://svnweb.midnightbsd.org/src/?rev=7783
Author: laffer1
Date: 2016-09-05 12:24:20 -0400 (Mon, 05 Sep 2016)
Log Message:
-----------
Implement userland changes for kqueue resource limits
Obtained from: FreeBSD svn 256850
Modified Paths:
--------------
trunk/bin/sh/miscbltin.c
trunk/etc/login.conf
trunk/lib/libc/sys/getrlimit.2
trunk/lib/libutil/login_class.3
trunk/lib/libutil/login_class.c
trunk/usr.bin/limits/limits.c
trunk/usr.bin/procstat/procstat_rlimit.c
Modified: trunk/bin/sh/miscbltin.c
===================================================================
--- trunk/bin/sh/miscbltin.c 2016-09-05 16:20:48 UTC (rev 7782)
+++ trunk/bin/sh/miscbltin.c 2016-09-05 16:24:20 UTC (rev 7783)
@@ -389,6 +389,9 @@
#ifdef RLIMIT_NPTS
{ "pseudo-terminals", (char *)0, RLIMIT_NPTS, 1, 'p' },
#endif
+#ifdef RLIMIT_KQUEUES
+ { "kqueues", (char *)0, RLIMIT_KQUEUES, 1, 'k' },
+#endif
{ (char *) 0, (char *)0, 0, 0, '\0' }
};
@@ -405,7 +408,7 @@
struct rlimit limit;
what = 'f';
- while ((optc = nextopt("HSatfdsmcnuvlbpw")) != '\0')
+ while ((optc = nextopt("HSatfdsmcnuvlbpwk")) != '\0')
switch (optc) {
case 'H':
how = HARD;
Modified: trunk/etc/login.conf
===================================================================
--- trunk/etc/login.conf 2016-09-05 16:20:48 UTC (rev 7782)
+++ trunk/etc/login.conf 2016-09-05 16:24:20 UTC (rev 7783)
@@ -42,6 +42,7 @@
:vmemoryuse=unlimited:\
:swapuse=unlimited:\
:pseudoterminals=unlimited:\
+ :kqueues=unlimited:\
:priority=0:\
:ignoretime@:\
:umask=022:
Modified: trunk/lib/libc/sys/getrlimit.2
===================================================================
--- trunk/lib/libc/sys/getrlimit.2 2016-09-05 16:20:48 UTC (rev 7782)
+++ trunk/lib/libc/sys/getrlimit.2 2016-09-05 16:24:20 UTC (rev 7783)
@@ -108,6 +108,8 @@
for a complete description of this sysctl.
.It Dv RLIMIT_NPTS
The maximum number of pseudo-terminals created by this user id.
+.It Dv RLIMIT_KQUEUES
+The maximum number of kqueues created by this user id.
.El
.Pp
A resource limit is specified as a soft limit and a hard limit.
Modified: trunk/lib/libutil/login_class.3
===================================================================
--- trunk/lib/libutil/login_class.3 2016-09-05 16:20:48 UTC (rev 7782)
+++ trunk/lib/libutil/login_class.3 2016-09-05 16:24:20 UTC (rev 7783)
@@ -118,6 +118,7 @@
vmemoryuse RLIMIT_VMEM
pseudoterminals RLIMIT_NPTS
swapuse RLIMIT_SWAP
+kqueues RLIMIT_KQUEUES
.Ed
.It LOGIN_SETPRIORITY
Set the scheduling priority for the current process based on the
Modified: trunk/lib/libutil/login_class.c
===================================================================
--- trunk/lib/libutil/login_class.c 2016-09-05 16:20:48 UTC (rev 7782)
+++ trunk/lib/libutil/login_class.c 2016-09-05 16:24:20 UTC (rev 7783)
@@ -66,6 +66,7 @@
{ "vmemoryuse", login_getcapsize, RLIMIT_VMEM },
{ "pseudoterminals", login_getcapnum, RLIMIT_NPTS },
{ "swapuse", login_getcapsize, RLIMIT_SWAP },
+ { "kqueues", login_getcapsize, RLIMIT_KQUEUES },
{ NULL, 0, 0 }
};
Modified: trunk/usr.bin/limits/limits.c
===================================================================
--- trunk/usr.bin/limits/limits.c 2016-09-05 16:20:48 UTC (rev 7782)
+++ trunk/usr.bin/limits/limits.c 2016-09-05 16:24:20 UTC (rev 7783)
@@ -89,7 +89,8 @@
{ " sbsize%-4s %8s", " bytes\n", 1 },
{ " vmemoryuse%-4s %8s", " kB\n", 1024 },
{ " pseudo-terminals%-4s %8s", "\n", 1 },
- { " swapuse%-4s %8s", " kB\n", 1024 }
+ { " swapuse%-4s %8s", " kB\n", 1024 },
+ { " kqueues%-4s %8s", "\n", 1 },
}
},
{ "sh", "unlimited", "", " -H", " -S", "",
@@ -106,7 +107,8 @@
{ "ulimit%s -b %s", ";\n", 1 },
{ "ulimit%s -v %s", ";\n", 1024 },
{ "ulimit%s -p %s", ";\n", 1 },
- { "ulimit%s -w %s", ";\n", 1024 }
+ { "ulimit%s -w %s", ";\n", 1024 },
+ { "ulimit%s -k %s", ";\n", 1 },
}
},
{ "csh", "unlimited", "", " -h", "", NULL,
@@ -123,7 +125,8 @@
{ "limit%s sbsize %s", ";\n", 1 },
{ "limit%s vmemoryuse %s", ";\n", 1024 },
{ "limit%s pseudoterminals %s", ";\n", 1 },
- { "limit%s swapuse %s", ";\n", 1024 }
+ { "limit%s swapuse %s", ";\n", 1024 },
+ { "limit%s kqueues %s", ";\n", 1 },
}
},
{ "bash|bash2", "unlimited", "", " -H", " -S", "",
@@ -157,7 +160,8 @@
{ "limit%s sbsize %s", ";\n", 1 },
{ "limit%s vmemoryuse %s", ";\n", 1024 },
{ "limit%s pseudoterminals %s", ";\n", 1 },
- { "limit%s swapuse %s", ";\n", 1024 }
+ { "limit%s swapuse %s", ";\n", 1024 },
+ { "limit%s kqueues %s", ";\n", 1 },
}
},
{ "ksh|pdksh", "unlimited", "", " -H", " -S", "",
@@ -232,7 +236,8 @@
{ "sbsize", login_getcapsize },
{ "vmemoryuse", login_getcapsize },
{ "pseudoterminals",login_getcapnum },
- { "swapuse", login_getcapsize }
+ { "swapuse", login_getcapsize },
+ { "kqueues", login_getcapnum },
};
/*
@@ -647,6 +652,7 @@
case RLIMIT_NPROC:
case RLIMIT_NOFILE:
case RLIMIT_NPTS:
+ case RLIMIT_KQUEUES:
res = strtoq(s, &e, 0);
s = e;
break;
Modified: trunk/usr.bin/procstat/procstat_rlimit.c
===================================================================
--- trunk/usr.bin/procstat/procstat_rlimit.c 2016-09-05 16:20:48 UTC (rev 7782)
+++ trunk/usr.bin/procstat/procstat_rlimit.c 2016-09-05 16:24:20 UTC (rev 7783)
@@ -46,7 +46,7 @@
static struct {
const char *name;
const char *suffix;
-} rlimit_param[13] = {
+} rlimit_param[14] = {
{"cputime", "sec"},
{"filesize", "B "},
{"datasize", "B "},
@@ -60,9 +60,10 @@
{"vmemoryuse", "B "},
{"pseudo-terminals", " "},
{"swapuse", "B "},
+ {"kqueues", " "},
};
-#if RLIM_NLIMITS > 13
+#if RLIM_NLIMITS > 14
#error "Resource limits have grown. Add new entries to rlimit_param[]."
#endif
More information about the Midnightbsd-cvs
mailing list