From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8370EC4707B for ; Thu, 11 Jan 2024 21:07:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 171138D0003; Thu, 11 Jan 2024 16:07:14 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 122168D0001; Thu, 11 Jan 2024 16:07:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 010118D0003; Thu, 11 Jan 2024 16:07:13 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id E6EF38D0001 for ; Thu, 11 Jan 2024 16:07:13 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id B87701A0A9B for ; Thu, 11 Jan 2024 21:07:13 +0000 (UTC) X-FDA: 81668265546.22.1AC8DDE Received: from mail-yb1-f201.google.com (mail-yb1-f201.google.com [209.85.219.201]) by imf01.hostedemail.com (Postfix) with ESMTP id 0DF3B40003 for ; Thu, 11 Jan 2024 21:07:09 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=fAoOa5BP; spf=pass (imf01.hostedemail.com: domain of 3fVigZQoKCOIGEVPSWKEPSKSSKPI.GSQPMRYb-QQOZEGO.SVK@flex--carlosgalo.bounces.google.com designates 209.85.219.201 as permitted sender) smtp.mailfrom=3fVigZQoKCOIGEVPSWKEPSKSSKPI.GSQPMRYb-QQOZEGO.SVK@flex--carlosgalo.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705007230; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=KM0MFQzzx6R4T/x1ke0xM5cbA+ktwKoGNKfrBNfIEbw=; b=DZoG6HmTgWb5IExFcKi8r31Et1VgGu3YbFT+jmFHLVyWSo0rQ+6bNKIW3muYYvlZRhXsCr l15G/p0z5tW9AHwBSLy2/fudIrX9Lkx0QSLQOkkv4xa3oDEB17svPcCPLRCdeXFDNgVezA dtAegVr5PnUE+RzR2PsVgfg2U9KkJKo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705007230; a=rsa-sha256; cv=none; b=N2M1mMlsDYZ/NUUVz1OBVR9gAzhktW/+qHfGpGb/lIpMC/HF6GFmLjYZ70lvkMg+4e5ZaT ZjDVQWNtLIBjY/5lwkzW1kef0GdVrsIXGicM7Aw0T1GDsx8j5toiTF64eMZ/FOYwe21Qxy 4sIoZCN6BryYEBZTZrtlOdbx0EUTqag= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=fAoOa5BP; spf=pass (imf01.hostedemail.com: domain of 3fVigZQoKCOIGEVPSWKEPSKSSKPI.GSQPMRYb-QQOZEGO.SVK@flex--carlosgalo.bounces.google.com designates 209.85.219.201 as permitted sender) smtp.mailfrom=3fVigZQoKCOIGEVPSWKEPSKSSKPI.GSQPMRYb-QQOZEGO.SVK@flex--carlosgalo.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-yb1-f201.google.com with SMTP id 3f1490d57ef6-dbdad99096fso7996374276.2 for ; Thu, 11 Jan 2024 13:07:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1705007229; x=1705612029; darn=kvack.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=KM0MFQzzx6R4T/x1ke0xM5cbA+ktwKoGNKfrBNfIEbw=; b=fAoOa5BP878mFUhGY1vSkC/Mj1LTJc7oxufqkNAwNRF1Swmh4s7SYRrmCwwEUoQzii R7KA/+gYy2an8wK1/NNHZv48zXdinBamJpWCY5XCiYlOvEXS739yjJfoDKT7pVJFlicY ie4abPjhKhptexkqoxc+Ut2ZWwNAjMQiPrd4it6qQkRQJKoqh5gwWBZg5b6fGXppPBZg AHX+KbcYWxjl2byPA8fAGp27/iDkpWOz11Me/HCWo7/zTWCeuZNi1cfwWsorjQvSSHpZ Zq0qBGJICy32hjZ/J5LNi5mu+8hQnh5MKtFVaeMzR7Bk7/UKRXOJe0A/Cak8taNMVSpK rmIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705007229; x=1705612029; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=KM0MFQzzx6R4T/x1ke0xM5cbA+ktwKoGNKfrBNfIEbw=; b=KGpX3Q3h8bjZ+Wj8LLKY9LOIGULqgX/CfUo8bCQ7JG+As4Vh+Tp1om92acHsuKV0QP 63De/GPO637LCr4sHriO8itItnOw4pSHv3zPOCscaoShwidwtwd3CSuhfyN82FUZ7RnI siAmePGxi5jOIhYR1Fzvc00bBUvAwLIw758bf9N9iPfG49uiPQG/5Q2xpinyvOpd+Qno bGWt8MWB+ze5dfjrV4r1myaO2rPm1VRq1UT22x4lBPoSIr/ET5nJM1UBEKa7CAVDLQDM lNeQ1pPo/pXuc/YEI5ovB+bkXHEdNdhKXMGBVA7o+OuGpIaqJJcJSAHzlf8Qli2hrM6O oN2w== X-Gm-Message-State: AOJu0Yz4OEAQW9spQ7L2y+16piQkhYkT8+2QWSVJa9RLIXtxuU9JIHEx JzlsZRE+bsYgu7uV7XeyWmUqBG+fyCTfiY6xE0yl2WY= X-Google-Smtp-Source: AGHT+IEJ8iQ7jU52uMbF/0q9HwIfSP4Ahy2tz5KzGup8oQAgmmJWR0r54OCM5+C/bHTx4p7UxPx+zjBAxjB5XiRg X-Received: from cgalo-android-cuttlefish.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:24f8]) (user=carlosgalo job=sendgmr) by 2002:a05:6902:1788:b0:dbd:b6cd:92cf with SMTP id ca8-20020a056902178800b00dbdb6cd92cfmr94760ybb.11.1705007229176; Thu, 11 Jan 2024 13:07:09 -0800 (PST) Date: Thu, 11 Jan 2024 21:05:30 +0000 Mime-Version: 1.0 X-Mailer: git-send-email 2.43.0.275.g3460e3d667-goog Message-ID: <20240111210539.636607-1-carlosgalo@google.com> Subject: [PATCH v2] mm: Update mark_victim tracepoints fields From: Carlos Galo To: rostedt@goodmis.org, akpm@linux-foundation.org, surenb@google.com Cc: android-mm@google.com, kernel-team@android.com, Carlos Galo , Masami Hiramatsu , Mathieu Desnoyers , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" X-Stat-Signature: d8q8owak7chabc7nscq4yybh7gmyyeei X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 0DF3B40003 X-Rspam-User: X-HE-Tag: 1705007229-782229 X-HE-Meta: U2FsdGVkX18D3coB/ZDUQkUTxG3X1yGnDUPavxIi03FQiBdzhVnigzMQiAq0t/cMXXWq/+Hn9Qu2oEJ+TsHZKorDYCRCJfw1D6ASGVaseoQjmizir57SbsC8tqlu9d6y/2mVnOSQygz3ikT9GHmvkskBVY65kfyWvYGcWlMWRNJpVEQuAwk6uvFZG0QHGy3baBYNnyhp9lwsjmpDkHAp3vpK0j2IVQi6xr8PUBNyySh34CMJmFdePlw2mXYlwsUa73RGU6IjfAnL3PrsYPaoCD64767ajuBp0lceWlZi66MjJp8Hpxe07mlfaHy9/8fCoqx+gnG3OVwCWB/xZRfiXJ3wXEb2EerkpS9wTgyC1qmE3TKJSqvG/T39xzMFwzYzgIBy0Mc7neTkSi9XhxQbsGGycNYOUUcohWvVGDFnmURqua4K6WqZBgbWaVjG1KX7rf5ZU1rpthj9PFTbuIhLqs8NvQId4ONMBpXXMPVKcMZaV5SilWyhdw6mHJViIkCPpQRjGodESDYTW2yuTh0rwcX6R5K5yQ1Tuf6gy49z1ZbE4Ey9jUBaocAlGcGzt9AnQu3pCbOtMH3D4fNpb421s7G3nEIdgBsygLGkFrtFCya0zDVdgNzmKuicdTtapr7+kX18B6cgE3Z4joxHrLxF4UPIGR0i195TVMhWYoP8ObGknLBFk51jLSH6KwGflQxxH8DjmZPJprJmxAJGWmUW+A2NXXxexWR2KOgXm0NDykoTu3rimtcrCUdeLiBrM4Z3bEbUM0vCkiUVld52LLrcQeJNNP1cpGesrr8QW0lM2FThfc5LP6JBaFX8QrVPe3uk9HB0YIngvHTfIAnyhJYSbdMj3imgOd7y0J3M1xVyzWcVQd9JkmZMf2QaEkXiQ+jOjW1R8Rh9MCne1aJYPjyrtIwL/fl+x0jy3czWKMifcvcVkPVN/BMLCi7rrTVluJbC/YBM7VH/uqfcS++AT4/ nu1OVk55 HTTbQnHl7kmIRmtGTJswttS+cWLlFrU6W0pFUsVEukJNmgrTXE6LAZNgL8ibv1d2gy+XzKJ+O8u4l3MPMYPwYdCdC9bPuAPyqXrv2zLFzZPrbftx071eBd/+evODhvIXWL4kRYkJCYKtDC6KNl+ZzdDCVqkSG0rvJT4lDFTXOi4pyWKt/wC6AHNQOxR2fF9C+CsyMIAXFNs16UVAwvoPAQDURapH9yIfnpUaqxLWxuuE2Nj+pQCg7iffJJUwJgs2A7snWKhEf9GWvN+CyesiRoEoaGVTLiPN2WTYx87SHFzT8ckoEm2yRZDPlK3hMdeuY4dDltR0prejaDxdHYlgSE/O4wDZIoVaGPtYgyq6FbEzx0W8z1Zr42PDauav8o1wZHcFnMhGJqFjmSYuRlw0wqYLe6bhwXNbcV+rYgt3FLZ4yudFRHGAtDDV5r+fgjP0YzJlgk3bd8mvRFoJnGUuTYIAtUY0+9mutzjlw9A9I0otQjyvqEI64eiCHS9BBWsVvzOP9/4lM8FfqFTR5yQGVU/WdESzpuiGSwhzIM4te2tYXcnoOd2eQzUzkPGk1Sn3Ac44lGeBNUShS49GFt+7agZKdjtuAb84P+fP9T0LXJaslJbR+9tFNPmSxgo93JzpBo3JxHSgVq0NP50yMpqxypy45UklJtxkYvgXQVxR0EaKxG69O2cEZoygAS2bG6ILZ3DehFLHgkYLS80001R5xgrY0rk1CCiq5c0g8JXI///sb7IqmkpFuoffjLsKOsi/dCuHMsKHhJpr6nd1kA99FlDCBVdU3dLr091lsFKPm4nIudehw6cmVzp+yCA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.070872, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: The current implementation of the mark_victim tracepoint provides only the process ID (pid) of the victim process. This limitation poses challenges for userspace tools that need additional information about the OOM victim. The association between pid and the additional data may be lost after the kill, making it difficult for userspace to correlate the OOM event with the specific process. In order to mitigate this limitation, add the following fields: - UID In Android each installed application has a unique UID. Including the `uid` assists in correlating OOM events with specific apps. - Process Name (comm) Enables identification of the affected process. - OOM Score Allows userspace to get additional insights of the relative kill priority of the OOM victim. Cc: Steven Rostedt Cc: Andrew Morton Cc: Suren Baghdasaryan Signed-off-by: Carlos Galo --- v2: Fixed build error. Added missing comma when printing `__entry->uid`. include/trace/events/oom.h | 19 +++++++++++++++---- mm/oom_kill.c | 6 +++++- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/include/trace/events/oom.h b/include/trace/events/oom.h index 26a11e4a2c36..fb8a5d1b8a0a 100644 --- a/include/trace/events/oom.h +++ b/include/trace/events/oom.h @@ -72,19 +72,30 @@ TRACE_EVENT(reclaim_retry_zone, ); TRACE_EVENT(mark_victim, - TP_PROTO(int pid), + TP_PROTO(struct task_struct *task, uid_t uid), - TP_ARGS(pid), + TP_ARGS(task, uid), TP_STRUCT__entry( __field(int, pid) + __field(uid_t, uid) + __string(comm, task->comm) + __field(short, oom_score_adj) ), TP_fast_assign( - __entry->pid = pid; + __entry->pid = task->pid; + __entry->uid = uid; + __assign_str(comm, task->comm); + __entry->oom_score_adj = task->signal->oom_score_adj; ), - TP_printk("pid=%d", __entry->pid) + TP_printk("pid=%d uid=%u comm=%s oom_score_adj=%hd", + __entry->pid, + __entry->uid, + __get_str(comm), + __entry->oom_score_adj + ) ); TRACE_EVENT(wake_reaper, diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 9e6071fde34a..0698c00c5da6 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -44,6 +44,7 @@ #include #include #include +#include #include #include "internal.h" @@ -753,6 +754,7 @@ static inline void queue_oom_reaper(struct task_struct *tsk) */ static void mark_oom_victim(struct task_struct *tsk) { + const struct cred *cred; struct mm_struct *mm = tsk->mm; WARN_ON(oom_killer_disabled); @@ -772,7 +774,9 @@ static void mark_oom_victim(struct task_struct *tsk) */ __thaw_task(tsk); atomic_inc(&oom_victims); - trace_mark_victim(tsk->pid); + cred = get_task_cred(tsk); + trace_mark_victim(tsk, cred->uid.val); + put_cred(cred); } /** base-commit: 0dd3ee31125508cd67f7e7172247f05b7fd1753a -- 2.43.0.275.g3460e3d667-goog