Linux Trace Kernel
 help / color / mirror / Atom feed
From: Vincent Donnefort <vdonnefort@google.com>
To: rostedt@goodmis.org, mhiramat@kernel.org,
	 linux-trace-kernel@vger.kernel.org
Cc: mathieu.desnoyers@efficios.com, kernel-team@android.com,
	 linux-kernel@vger.kernel.org,
	Vincent Donnefort <vdonnefort@google.com>
Subject: [PATCH v1] ring-buffer: Use is_user_task() in __rb_allocate_pages()
Date: Fri, 16 Oct 2026 16:47:07 +0100	[thread overview]
Message-ID: <20261016154707.2125747-1-vdonnefort@google.com> (raw)

Before allocating ring buffer pages, __rb_allocate_pages() checks the
available memory with si_mem_available(). This is however only a rough
estimate and may report memory that can't be used for this allocation.
In the event of an OOM, we don't want to penalise another task with the
OOM killer, so the allocating thread is marked as the OOM origin when it
is a user task.

Checking current->mm is however not sufficient to distinguish user from
kernel tasks. Instead, use is_user_task().

Suggested-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Vincent Donnefort <vdonnefort@google.com>
---
 kernel/trace/ring_buffer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index 9c4e40847e43..bcc28d50c634 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -2468,7 +2468,7 @@ static int __rb_allocate_pages(struct ring_buffer_per_cpu *cpu_buffer,
 		if (i < (nr_pages << subbuf_order))
 			return -ENOMEM;
 
-		user_thread = current->mm != NULL;
+		user_thread = is_user_task(current);
 	}
 
 	/*

base-commit: c47a7b11bcb3d45e29723afcf6336866476b1d08
-- 
2.56.0.176.g3575e65682-goog


                 reply	other threads:[~2026-10-16 15:47 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261016154707.2125747-1-vdonnefort@google.com \
    --to=vdonnefort@google.com \
    --cc=kernel-team@android.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mhiramat@kernel.org \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox