summaryrefslogtreecommitdiff
path: root/src/login
diff options
context:
space:
mode:
authorwineway <wangyuweihx@gmail.com>2022-08-06 19:14:44 +0800
committerLennart Poettering <lennart@poettering.net>2022-08-11 14:25:58 +0200
commitc8340822cfe269121e638c1e44d2ba5b8fe70b03 (patch)
tree101b1d665d9583220760c5a0e632b885d7ef3468 /src/login
parent1cb3f4ad6ead45f22967fe572d34aa3ba8233768 (diff)
downloadsystemd-c8340822cfe269121e638c1e44d2ba5b8fe70b03.tar.gz
core/cgroup: CPUWeight/CPUShares support idle input
Signed-off-by: wineway <wangyuweihx@gmail.com>
Diffstat (limited to 'src/login')
-rw-r--r--src/login/pam_systemd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
index cb6a6fb514..98736856ee 100644
--- a/src/login/pam_systemd.c
+++ b/src/login/pam_systemd.c
@@ -411,16 +411,18 @@ static int append_session_tasks_max(pam_handle_t *handle, sd_bus_message *m, con
static int append_session_cg_weight(pam_handle_t *handle, sd_bus_message *m, const char *limit, const char *field) {
uint64_t val;
int r;
+ bool is_cpu_weight;
+ is_cpu_weight = streq(field, "CPUWeight");
if (isempty(limit))
return PAM_SUCCESS;
- r = cg_weight_parse(limit, &val);
+ r = is_cpu_weight ? cg_cpu_weight_parse(limit, &val) : cg_weight_parse(limit, &val);
if (r >= 0) {
r = sd_bus_message_append(m, "(sv)", field, "t", val);
if (r < 0)
return pam_bus_log_create_error(handle, r);
- } else if (streq(field, "CPUWeight"))
+ } else if (is_cpu_weight)
pam_syslog(handle, LOG_WARNING, "Failed to parse systemd.cpu_weight, ignoring: %s", limit);
else
pam_syslog(handle, LOG_WARNING, "Failed to parse systemd.io_weight, ignoring: %s", limit);