config: max_cpu_num -> max_cpus
This commit is contained in:
parent
89de032187
commit
69783dc200
10
cmdline.c
10
cmdline.c
@ -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;
|
||||
|
2
common.h
2
common.h
@ -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;
|
||||
|
2
config.c
2
config.c
@ -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) {
|
||||
|
@ -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;
|
||||
|
@ -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
12
cpu.c
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user