config: max_cpu_num -> max_cpus

This commit is contained in:
Robert Swiecki 2017-06-21 17:52:16 +02:00
parent 89de032187
commit 69783dc200
6 changed files with 15 additions and 15 deletions

View File

@ -79,7 +79,7 @@ struct custom_option custom_opts[] = {
{{"log", required_argument, NULL, 'l'}, "Log file (default: use log_fd)"},
{{"log_fd", required_argument, NULL, 'L'}, "Log FD (default: 2)"},
{{"time_limit", required_argument, NULL, 't'}, "Maximum time that a jail can exist, in seconds (default: 600)"},
{{"max_cpu_num", required_argument, NULL, 0x508}, "Maximum number of CPUs a single jailed process can use (default: 0 'no limit')"},
{{"max_cpus", required_argument, NULL, 0x508}, "Maximum number of CPUs a single jailed process can use (default: 0 'no limit')"},
{{"daemon", no_argument, NULL, 'd'}, "Daemonize after start"},
{{"verbose", no_argument, NULL, 'v'}, "Verbose output"},
{{"quiet", no_argument, NULL, 'q'}, "Only output warning and more important messages"},
@ -213,7 +213,7 @@ void cmdlineLogParams(struct nsjconf_t *nsjconf)
"max_conns_per_ip:%u, time_limit:%ld, personality:%#lx, daemonize:%s, "
"clone_newnet:%s, clone_newuser:%s, clone_newns:%s, clone_newpid:%s, "
"clone_newipc:%s, clonew_newuts:%s, clone_newcgroup:%s, keep_caps:%s, "
"tmpfs_size:%zu, disable_no_new_privs:%s, max_cpu_num:%zu",
"tmpfs_size:%zu, disable_no_new_privs:%s, max_cpus:%zu",
nsjconf->hostname, nsjconf->chroot ? nsjconf->chroot : "[NULL]", nsjconf->argv[0],
nsjconf->bindhost, nsjconf->port, nsjconf->max_conns_per_ip, nsjconf->tlimit,
nsjconf->personality, logYesNo(nsjconf->daemonize), logYesNo(nsjconf->clone_newnet),
@ -221,7 +221,7 @@ void cmdlineLogParams(struct nsjconf_t *nsjconf)
logYesNo(nsjconf->clone_newpid), logYesNo(nsjconf->clone_newipc),
logYesNo(nsjconf->clone_newuts), logYesNo(nsjconf->clone_newcgroup),
logYesNo(nsjconf->keep_caps), nsjconf->tmpfs_size,
logYesNo(nsjconf->disable_no_new_privs), nsjconf->max_cpu_num);
logYesNo(nsjconf->disable_no_new_privs), nsjconf->max_cpus);
{
struct mounts_t *p;
@ -315,7 +315,7 @@ bool cmdlineParse(int argc, char *argv[], struct nsjconf_t * nsjconf)
.loglevel = INFO,
.daemonize = false,
.tlimit = 0,
.max_cpu_num = 0,
.max_cpus = 0,
.keep_caps = false,
.disable_no_new_privs = false,
.rl_as = 512 * (1024 * 1024),
@ -538,7 +538,7 @@ bool cmdlineParse(int argc, char *argv[], struct nsjconf_t * nsjconf)
nsjconf->disable_no_new_privs = true;
break;
case 0x0508:
nsjconf->max_cpu_num = strtoul(optarg, NULL, 0);
nsjconf->max_cpus = strtoul(optarg, NULL, 0);
break;
case 0x0601:
nsjconf->is_root_rw = true;

View File

@ -124,7 +124,7 @@ struct nsjconf_t {
enum llevel_t loglevel;
bool daemonize;
time_t tlimit;
size_t max_cpu_num;
size_t max_cpus;
bool keep_env;
bool keep_caps;
bool disable_no_new_privs;

View File

@ -68,7 +68,7 @@ static bool configParseInternal(struct nsjconf_t *nsjconf, Nsjail__NsJailConfig
nsjconf->bindhost = utilStrDup(njc->bindhost);
nsjconf->max_conns_per_ip = njc->max_conns_per_ip;
nsjconf->tlimit = njc->time_limit;
nsjconf->max_cpu_num = njc->max_cpu_num;
nsjconf->max_cpus = njc->max_cpus;
nsjconf->daemonize = njc->daemon;
if (njc->has_log_fd) {

View File

@ -90,7 +90,7 @@ message NsJailConfig
/* Should nsjail go into background? */
required bool daemon = 14 [ default = false ];
/* Maximum number of CPUs to use: 0 - no limit */
required uint32 max_cpu_num = 62;
required uint32 max_cpus = 62;
/* FD to log to. */
optional int32 log_fd = 61;

View File

@ -19,7 +19,7 @@ port: 31337
time_limit: 100
daemon: false
max_cpu_num: 1
max_cpus: 1
keep_env: false
envar: "ENVAR1=VALUE1"

12
cpu.c
View File

@ -52,13 +52,13 @@ bool cpuInit(struct nsjconf_t *nsjconf)
PLOG_W("sysconf(_SC_NPROCESSORS_ONLN) returned %ld", all_cpus);
return false;
}
if (nsjconf->max_cpu_num >= (size_t) all_cpus) {
if (nsjconf->max_cpus >= (size_t) all_cpus) {
LOG_W("Requested number of CPUs:%zu is bigger than CPUs online:%ld",
nsjconf->max_cpu_num, all_cpus);
nsjconf->max_cpus, all_cpus);
return true;
}
if (nsjconf->max_cpu_num == 0) {
LOG_D("No max_cpu_num limit set");
if (nsjconf->max_cpus == 0) {
LOG_D("No max_cpus limit set");
return true;
}
@ -71,12 +71,12 @@ bool cpuInit(struct nsjconf_t *nsjconf)
size_t mask_size = CPU_ALLOC_SIZE(all_cpus);
CPU_ZERO_S(mask_size, mask);
for (size_t i = 0; i < nsjconf->max_cpu_num; i++) {
for (size_t i = 0; i < nsjconf->max_cpus; i++) {
cpuSetRandomCpu(mask, mask_size, all_cpus);
}
if (sched_setaffinity(0, mask_size, mask) == -1) {
PLOG_W("sched_setaffinity(max_cpu_num=%zu) failed", nsjconf->max_cpu_num);
PLOG_W("sched_setaffinity(max_cpus=%zu) failed", nsjconf->max_cpus);
CPU_FREE(mask);
return false;
}