diff options
author | scottl <scottl@FreeBSD.org> | 2015-03-22 12:49:57 +0000 |
---|---|---|
committer | scottl <scottl@FreeBSD.org> | 2015-03-22 12:49:57 +0000 |
commit | 845bbce4164bf521d30180ac207508e212e8b5b8 (patch) | |
tree | 51896a00592326605c74911e88a62670ee415f14 /usr.bin/procstat/procstat.c | |
parent | 5186484c7dbbd32237a41adc238586c7c52d7c99 (diff) | |
download | FreeBSD-src-845bbce4164bf521d30180ac207508e212e8b5b8.zip FreeBSD-src-845bbce4164bf521d30180ac207508e212e8b5b8.tar.gz |
MFC r279842, r279875
Implement basic reporting of cpuset info via the -S option
Obtained from: Netflix, Inc.
Diffstat (limited to 'usr.bin/procstat/procstat.c')
-rw-r--r-- | usr.bin/procstat/procstat.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/usr.bin/procstat/procstat.c b/usr.bin/procstat/procstat.c index de0237f..48a2135 100644 --- a/usr.bin/procstat/procstat.c +++ b/usr.bin/procstat/procstat.c @@ -40,7 +40,7 @@ #include "procstat.h" static int aflag, bflag, cflag, eflag, fflag, iflag, jflag, kflag, lflag, rflag; -static int sflag, tflag, vflag, xflag; +static int sflag, tflag, vflag, xflag, Sflag; int hflag, nflag, Cflag, Hflag; static void @@ -50,7 +50,7 @@ usage(void) fprintf(stderr, "usage: procstat [-CHhn] [-M core] [-N system] " "[-w interval] \n"); fprintf(stderr, " [-b | -c | -e | -f | -i | -j | -k | " - "-l | -r | -s | -t | -v | -x]\n"); + "-l | -r | -s | -S | -t | -v | -x]\n"); fprintf(stderr, " [-a | pid | core ...]\n"); exit(EX_USAGE); } @@ -85,6 +85,8 @@ procstat(struct procstat *prstat, struct kinfo_proc *kipp) procstat_vm(prstat, kipp); else if (xflag) procstat_auxv(prstat, kipp); + else if (Sflag) + procstat_cs(prstat, kipp); else procstat_basic(kipp); } @@ -128,7 +130,7 @@ main(int argc, char *argv[]) interval = 0; memf = nlistf = NULL; - while ((ch = getopt(argc, argv, "CHN:M:abcefijklhrstvw:x")) != -1) { + while ((ch = getopt(argc, argv, "CHN:M:abcefijklhrsStvw:x")) != -1) { switch (ch) { case 'C': Cflag++; @@ -144,6 +146,9 @@ main(int argc, char *argv[]) case 'N': nlistf = optarg; break; + case 'S': + Sflag++; + break; case 'a': aflag++; break; @@ -228,7 +233,7 @@ main(int argc, char *argv[]) /* We require that either 0 or 1 mode flags be set. */ tmp = bflag + cflag + eflag + fflag + iflag + jflag + (kflag ? 1 : 0) + - lflag + rflag + sflag + tflag + vflag + xflag; + lflag + rflag + sflag + tflag + vflag + xflag + Sflag; if (!(tmp == 0 || tmp == 1)) usage(); |