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 3B65BC4725D for ; Mon, 22 Jan 2024 07:37:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B47FB8D0008; Mon, 22 Jan 2024 02:37:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AF7E18D0006; Mon, 22 Jan 2024 02:37:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9BF2D8D0008; Mon, 22 Jan 2024 02:37:00 -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 8A5028D0006 for ; Mon, 22 Jan 2024 02:37:00 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 56905A025E for ; Mon, 22 Jan 2024 07:37:00 +0000 (UTC) X-FDA: 81706140600.02.B635944 Received: from out-177.mta1.migadu.com (out-177.mta1.migadu.com [95.215.58.177]) by imf22.hostedemail.com (Postfix) with ESMTP id 7D5B7C000C for ; Mon, 22 Jan 2024 07:36:58 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=Wjt+AKpC; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf22.hostedemail.com: domain of dongtai.guo@linux.dev designates 95.215.58.177 as permitted sender) smtp.mailfrom=dongtai.guo@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705909018; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=iZwrwM1Ad6JK2YvVtV430bcdms4CvfKkXJdWk7cX5TM=; b=kJnLMZzDoWbA28w5kYh6Y5UcHFz8RiY66nTVcr8Q6dJcgJzVqoQ03LP1F4TPcE/3tKsesX zrDavfuJSu8EoLdzTovaIO5oJX0q/114Xj2uWBsJ8qgShMeJp3gDXlhuaqcvf1uDESCnWY Md5OSm7zzM6zAhgzcPXxaNd4yLS0Q+E= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=Wjt+AKpC; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf22.hostedemail.com: domain of dongtai.guo@linux.dev designates 95.215.58.177 as permitted sender) smtp.mailfrom=dongtai.guo@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705909018; a=rsa-sha256; cv=none; b=uoNAdG0oIKZ73RsAbQnML8b35ZZ7ds3UW0jwlw6d2qqteYlTL9MLAXlFdh7q6PCTZSALT3 COgYnpU7MyjNkqe5IoqRalDQknoxDCKUbSeBpIROgkjk//88pP172tOnGEoCqENAzoJBHM ESgfba5uLMDJF/G6yOCMq5HWebA+h5Q= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1705909016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=iZwrwM1Ad6JK2YvVtV430bcdms4CvfKkXJdWk7cX5TM=; b=Wjt+AKpC8WI7NsljxAg7ANsxEuGl2dxMVtAUBQqPqYa0o7QYCjGdDEh4IJLnXaHzNCg17D 5nMI2QS71LvrwZiDlCleENlxlGptuL5nTPGVrtxOk6n1xK+GkoInPZt3N3SgZo4nAbmY9R ZpSqKD9/4B/jPEoSLlxZvSdAm070AuQ= From: George Guo To: Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Dennis Zhou , Tejun Heo , Christoph Lameter , Andrew Morton Cc: George Guo , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH] percpu: improve percpu_alloc_percpu_fail event trace Date: Mon, 22 Jan 2024 15:36:29 +0800 Message-Id: <20240122073629.2594271-1-dongtai.guo@linux.dev> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: 7D5B7C000C X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: msm5ni64fi5pq57ynuxsn4kt5styr7b8 X-HE-Tag: 1705909018-259720 X-HE-Meta: U2FsdGVkX19o74HIqES0nM4KQWiyyhRf+4bSoewvZSlY3hOkApHrcXN7QuYV2l29JDTTRhHBeQ22txkgzurKdFiMYIaMtSpP9WRzymYqM1oHy8/aNf5V8SIR08u+n9yxdv5I5H3S77gihSNGETemAWY5Nv2hY48pQrcv5r6inSJ2JGT/9C4rfMVEjLFjCEvb6GAEJkPpUdvxh0Yvtqzm2B1JGLOINoWnDACESxoEdU3SshQSiH630TKN5IDHgfV+RWz7OnZjzX29w3dn5ubdmmTOB8zObwdurGHnQcwdnv+UrpVbCIk/C9MCaN7O+XJwdTjYhGZQVguWvrQ+GdCeTwEb7wjgaBumWKi/qT1rUM/tfHybk1PPvl9YyGjUo4TKYmRpPFXJgl0Tlk78lOgoxclGqDLTtGt0PGchzfePsNWNNXwcD8WSMKSsu1CQRdC1+UKsXxjammwcADRZeUnQedue4Y0kMj0novmgu2sYCJRajaOBK9Cjc5cbHWTrZDFjNxkq1RBCtcJ4sWcoaFktq1muUmTuweEqnNq7srwJfefUpNYtZIykacioNM1q6UXBpeKvQH6clGhJcqxKeVXe9ArOU//Hs2AGevkg2lxo95FzzN/y67TPya+gCgjDQZWGyBVYyej/7Y0JKwdDzT4VhWfyfSe5OJ1buRyraMUHBDQ0FZJc0BG+d6uuhaB3gxoFVj2BgfkzxgbKyXBWdY9vztw0aCe6a8C80L2LUyBHMeT/iJE91alRuvBmcJPLCHbYSDIWO6JuIxk8CLjWXxlZT0oyptXCffqx/XbFqioOamr6sqfHlEJY2hJddxSYu5+9Aof3Z4fY4dn+sqJF+HWHHuNYgpM1wjdkI+HhAkADXvk9gLAk3BMDAGJKx2+zmaGX8TLaCuDwX3Uj4qSi4I39DCicajqLq/fsbnT5/auNc5zFa+WKhkCma1MSaa6tJ0KY/tpeJlX2wG6FXIqze+D z4b0/M1z /XMhIKVbTctVG6LoEPo/OJ6IUZ1bcsZE0shnngMODNt8Ow/dKaZuvZUcv0tGQNIEJsQOKvuN+hCuYqsXGzs8B+/0fDsUCIN+0tHVCejr5ZaCb4OJSlSUb0JDNjtsFUxywmxFq X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: From: George Guo Add do_warn, warn_limit fields to the output of the percpu_alloc_percpu_fail ftrace event. This is required to percpu_alloc failed with no warning showing. Signed-off-by: George Guo --- include/trace/events/percpu.h | 22 ++++++++++++++-------- mm/percpu.c | 2 +- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/include/trace/events/percpu.h b/include/trace/events/percpu.h index 5b8211ca8950..c5f412e84bb8 100644 --- a/include/trace/events/percpu.h +++ b/include/trace/events/percpu.h @@ -75,15 +75,18 @@ TRACE_EVENT(percpu_free_percpu, TRACE_EVENT(percpu_alloc_percpu_fail, - TP_PROTO(bool reserved, bool is_atomic, size_t size, size_t align), + TP_PROTO(bool reserved, bool is_atomic, size_t size, size_t align, + bool do_warn, int warn_limit), - TP_ARGS(reserved, is_atomic, size, align), + TP_ARGS(reserved, is_atomic, size, align, do_warn, warn_limit), TP_STRUCT__entry( - __field( bool, reserved ) - __field( bool, is_atomic ) - __field( size_t, size ) - __field( size_t, align ) + __field(bool, reserved) + __field(bool, is_atomic) + __field(size_t, size) + __field(size_t, align) + __field(bool, do_warn) + __field(int, warn_limit) ), TP_fast_assign( @@ -91,11 +94,14 @@ TRACE_EVENT(percpu_alloc_percpu_fail, __entry->is_atomic = is_atomic; __entry->size = size; __entry->align = align; + __entry->do_warn = do_warn; + __entry->warn_limit = warn_limit; ), - TP_printk("reserved=%d is_atomic=%d size=%zu align=%zu", + TP_printk("reserved=%d is_atomic=%d size=%zu align=%zu do_warn=%d, warn_limit=%d", __entry->reserved, __entry->is_atomic, - __entry->size, __entry->align) + __entry->size, __entry->align, + __entry->do_warn, __entry->warn_limit) ); TRACE_EVENT(percpu_create_chunk, diff --git a/mm/percpu.c b/mm/percpu.c index 4e11fc1e6def..ac5b48268c99 100644 --- a/mm/percpu.c +++ b/mm/percpu.c @@ -1886,7 +1886,7 @@ static void __percpu *pcpu_alloc(size_t size, size_t align, bool reserved, fail_unlock: spin_unlock_irqrestore(&pcpu_lock, flags); fail: - trace_percpu_alloc_percpu_fail(reserved, is_atomic, size, align); + trace_percpu_alloc_percpu_fail(reserved, is_atomic, size, align, do_warn, warn_limit); if (do_warn && warn_limit) { pr_warn("allocation failed, size=%zu align=%zu atomic=%d, %s\n", -- 2.34.1