summaryrefslogtreecommitdiffstats
path: root/usr.bin/cpuset/cpuset.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/cpuset/cpuset.c')
-rw-r--r--usr.bin/cpuset/cpuset.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/usr.bin/cpuset/cpuset.c b/usr.bin/cpuset/cpuset.c
index 5858a3d..35b13af 100644
--- a/usr.bin/cpuset/cpuset.c
+++ b/usr.bin/cpuset/cpuset.c
@@ -49,6 +49,7 @@ __FBSDID("$FreeBSD$");
int cflag;
int gflag;
int iflag;
+int jflag;
int lflag;
int pflag;
int rflag;
@@ -153,7 +154,7 @@ printset(cpuset_t *mask)
printf("\n");
}
-const char *whichnames[] = { NULL, "tid", "pid", "cpuset", "irq" };
+const char *whichnames[] = { NULL, "tid", "pid", "cpuset", "irq", "jail" };
const char *levelnames[] = { NULL, " root", " cpuset", "" };
static void
@@ -198,7 +199,7 @@ main(int argc, char *argv[])
level = CPU_LEVEL_WHICH;
which = CPU_WHICH_PID;
id = pid = tid = setid = -1;
- while ((ch = getopt(argc, argv, "cgil:p:rs:t:x:")) != -1) {
+ while ((ch = getopt(argc, argv, "cgij:l:p:rs:t:x:")) != -1) {
switch (ch) {
case 'c':
if (rflag)
@@ -212,6 +213,11 @@ main(int argc, char *argv[])
case 'i':
iflag = 1;
break;
+ case 'j':
+ jflag = 1;
+ which = CPU_WHICH_JAIL;
+ id = atoi(optarg);
+ break;
case 'l':
lflag = 1;
parselist(optarg, &mask);
@@ -252,7 +258,7 @@ main(int argc, char *argv[])
if (argc || lflag)
usage();
/* Only one identity specifier. */
- if (xflag + sflag + pflag + tflag > 1)
+ if (jflag + xflag + sflag + pflag + tflag > 1)
usage();
if (iflag)
printsetid();
@@ -266,7 +272,7 @@ main(int argc, char *argv[])
* The user wants to run a command with a set and possibly cpumask.
*/
if (argc) {
- if (pflag | rflag | tflag | xflag)
+ if (pflag | rflag | tflag | xflag | jflag)
usage();
if (sflag) {
if (cpuset_setid(CPU_WHICH_PID, -1, setid))
@@ -292,10 +298,10 @@ main(int argc, char *argv[])
if (!lflag && !sflag)
usage();
/* You can only set a mask on a thread. */
- if (tflag && (sflag | pflag | xflag))
+ if (tflag && (sflag | pflag | xflag | jflag))
usage();
/* You can only set a mask on an irq. */
- if (xflag && (pflag | sflag | tflag))
+ if (xflag && (jflag | pflag | sflag | tflag))
usage();
if (pflag && sflag) {
if (cpuset_setid(CPU_WHICH_PID, pid, setid))
@@ -325,8 +331,8 @@ usage(void)
fprintf(stderr,
" cpuset [-l cpu-list] [-s setid] -p pid\n");
fprintf(stderr,
- " cpuset [-cr] [-l cpu-list] [-p pid | -t tid | -s setid | -x irq]\n");
+ " cpuset [-cr] [-l cpu-list] [-j jailid | -p pid | -t tid | -s setid | -x irq]\n");
fprintf(stderr,
- " cpuset [-cgir] [-p pid | -t tid | -s setid | -x irq]\n");
+ " cpuset [-cgir] [-j jailid | -p pid | -t tid | -s setid | -x irq]\n");
exit(1);
}
OpenPOWER on IntegriCloud