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 <carlosgalo@google.com>
This commit is contained in:
Carlos Galo 2024-05-08 09:06:10 +00:00
parent 05e8c7bbda
commit 19b5892ba8
1 changed files with 8 additions and 4 deletions

View File

@ -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, &params);
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;