From 19b5892ba8a7389a5cb495bc1b297db8d7ed1fa7 Mon Sep 17 00:00:00 2001 From: Carlos Galo Date: Wed, 8 May 2024 09:06:10 +0000 Subject: [PATCH] Splitting logic from cmd PROC_PRIO Refactor cmd_procprio() to reuse its main functionality for bulk updates later on. Test: m Bug: 295231583 Change-Id: Ic42de6e256b813349530f19a20e3ef9d484b20cf Signed-off-by: Carlos Galo --- lmkd.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lmkd.cpp b/lmkd.cpp index 06ae9ce..845b20e 100644 --- a/lmkd.cpp +++ b/lmkd.cpp @@ -1219,15 +1219,12 @@ static void register_oom_adj_proc(const struct lmk_procprio& proc, struct ucred* } } -static void cmd_procprio(LMKD_CTRL_PACKET packet, int field_count, struct ucred* cred) { +static void apply_proc_prio(const struct lmk_procprio& params, struct ucred* cred) { char path[PROCFS_PATH_MAX]; char val[20]; - struct lmk_procprio params; int64_t tgid; char buf[pagesize]; - lmkd_pack_get_procprio(packet, field_count, ¶ms); - if (params.oomadj < OOM_SCORE_ADJ_MIN || params.oomadj > OOM_SCORE_ADJ_MAX) { ALOGE("Invalid PROCPRIO oomadj argument %d", params.oomadj); return; @@ -1268,6 +1265,13 @@ static void cmd_procprio(LMKD_CTRL_PACKET packet, int field_count, struct ucred* register_oom_adj_proc(params, cred); } +static void cmd_procprio(LMKD_CTRL_PACKET packet, int field_count, struct ucred* cred) { + struct lmk_procprio proc_prio; + + lmkd_pack_get_procprio(packet, field_count, &proc_prio); + apply_proc_prio(proc_prio, cred); +} + static void cmd_procremove(LMKD_CTRL_PACKET packet, struct ucred *cred) { struct lmk_procremove params; struct proc *procp;