Received: by 2002:a89:413:0:b0:1fd:dba5:e537 with SMTP id m19csp931497lqs; Fri, 14 Jun 2024 09:33:14 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXUJXOvq0jqgtV9bZh+K74lD0lQkodW8HD61fpNXWvS10o8FmcL0H4XTep+6AegIoUBExnBdr12AvxviJMaPdoF3N+G7EJpqKTKRTqJ5A== X-Google-Smtp-Source: AGHT+IGfS6TLNghpLPpvcKvS/d1vmWQJneOP86zi6em69ew2NMXpDWXpLhiHyBi67Y1KqUnl3vGD X-Received: by 2002:a05:620a:4451:b0:795:50f9:532 with SMTP id af79cd13be357-798d241d01amr358450885a.26.1718382794523; Fri, 14 Jun 2024 09:33:14 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1718382794; cv=pass; d=google.com; s=arc-20160816; b=a3PPEQR172/NGhIEq/miR77o7TJwb3sgwjbebwGc4m2fPOAUXKdBNWxJlCuxL0aujO pSyKE2+QeKA1CRo+fkG4In4zQs5rdk6EQgeIFAYwUpsj6Ac0969ktK0Tx6iMkvXMehNX /VK3qNYqv4LOsNtRIna2S0DTstZI0m3VG3LghBYPhK60kBh7pn/2eWV58hRfk0cMAu+V WF7tELc8PSId9t6wyQqcQdFmBUjhY2TnJqBZ/6+GPtWMu8e8j2D8FPnV2+j9fLxQiIUf 7m67x/7Ct55hLw4Rf5Hqs5ub1lWqORZbTaDfX0zWab47Tj6LZEUg8rWB5JnfXAcCC3fg 2otQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :references:subject:cc:to:from:date:user-agent:message-id; bh=VHNepDVfKerdXrdNQFL/d3Aws/5s3zKvmhtiP9g1m9Q=; fh=I4e9yJ7BaAsllzPNkUeXv9TYH5MglgJtJt86EB805OA=; b=KbMewA1H6mNUTGlwaqRumH6HN2LAer+HvOC8Y8aZ7OU0KB79KJt5ksRCaxhFnQPVnQ QpmtwGo4kofkLnCapo1q7OUyPj7ZQRzC+it8U/JQIjb07DUP2+FT/SAsQxxPahHczdPt LgW1y6QKHTDB8H/utCkjEzrrH4Axy309F4TZU98I7tef3/NwpxDzN68TfJpXwjSuT3V/ jmxEwg1ZI2reoOTKliEBmfp/nz6rbpQIzT3Ix1CwoL+BoCZAV52SVuxG0Z9yQVzVAjpv R121PffY0nXlr+R0K+6c7aYVYizsrncBi7LlDPDDX0dYel5ejLDQK8rB3Dn61AbFi1Xn 8UUw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1); spf=pass (google.com: domain of linux-kernel+bounces-215258-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-215258-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id af79cd13be357-798abd1ddd6si401221585a.460.2024.06.14.09.33.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Jun 2024 09:33:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-215258-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; arc=pass (i=1); spf=pass (google.com: domain of linux-kernel+bounces-215258-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-215258-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id EA9431C237C3 for ; Fri, 14 Jun 2024 16:33:13 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id CA6D41A38CA; Fri, 14 Jun 2024 16:30:53 +0000 (UTC) Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4D7BA19AA63 for ; Fri, 14 Jun 2024 16:30:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718382649; cv=none; b=mlp4pPbWuLpd30qFTYPcLyDnBOElsdW4vqSHJlBX1IAaSRjUsrM7vzkJfP6FnsB/Rj6E4cbpwA7wYm46RFuglX6snnKeoDShrJaCBxo0dUX5MWYIZvi9tAsc+CAHQ4qLl48yCCLBgwel21PBjeQ7gWwJj1XcH3HCrRkchZlh7Ec= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718382649; c=relaxed/simple; bh=38sgmhfaC11CHfg5sJR54fmYseuWqVfHviXjrc4UeHQ=; h=Message-ID:Date:From:To:Cc:Subject:References:MIME-Version: Content-Type; b=QAfw+A58mqR1X8L3VQ6Rjuky4fF3RN0ejcBL0Fu72FuBgk4vQW5Rmz+WUpwR4o2J+eys3/VN0mYMWR8MSUeB+2kzmGCqtSfr0cIYkX9O+2UOaIndUlvrNQ47efOQFsyHZDmwwE/bTTq2OktOpu1NFQEkRd9ZE9NXvBNiKa9K7Hk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2389FC4AF66; Fri, 14 Jun 2024 16:30:49 +0000 (UTC) Received: from rostedt by gandalf with local (Exim 4.97) (envelope-from ) id 1sI9pY-00000001ruv-16o7; Fri, 14 Jun 2024 12:31:12 -0400 Message-ID: <20240614163112.116777739@goodmis.org> User-Agent: quilt/0.68 Date: Fri, 14 Jun 2024 12:30:27 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , Vincent Donnefort , Joel Fernandes , Daniel Bristot de Oliveira , Ingo Molnar , Peter Zijlstra , Thomas Gleixner , Vineeth Pillai , Youssef Esmat , Beau Belgrave , Alexander Graf , Baoquan He , Borislav Petkov , "Paul E. McKenney" , David Howells , Mike Rapoport , Dave Hansen , Tony Luck , Guenter Roeck , Ross Zwisler , Kees Cook Subject: [for-next][PATCH 12/13] tracing: Update function tracing output for previous boot buffer References: <20240614163015.456541709@goodmis.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 From: "Steven Rostedt (Google)" For a persistent ring buffer that is saved across boots, if function tracing was performed in the previous boot, it only saves the address of the functions and uses "%pS" to print their names. But the current boot, those functions may be in different locations. The persistent meta-data saves the text delta between the two boots and can be used to find the address of the saved function of where it is located in the current boot. Link: https://lkml.kernel.org/r/20240612232026.988226055@goodmis.org Cc: Masami Hiramatsu Cc: Mark Rutland Cc: Mathieu Desnoyers Cc: Andrew Morton Cc: Vincent Donnefort Cc: Joel Fernandes Cc: Daniel Bristot de Oliveira Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: Vineeth Pillai Cc: Youssef Esmat Cc: Beau Belgrave Cc: Alexander Graf Cc: Baoquan He Cc: Borislav Petkov Cc: "Paul E. McKenney" Cc: David Howells Cc: Mike Rapoport Cc: Dave Hansen Cc: Tony Luck Cc: Guenter Roeck Cc: Ross Zwisler Cc: Kees Cook Signed-off-by: Steven Rostedt (Google) --- kernel/trace/trace_output.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c index d8b302d01083..b9d2c64c0648 100644 --- a/kernel/trace/trace_output.c +++ b/kernel/trace/trace_output.c @@ -990,8 +990,11 @@ enum print_line_t trace_nop_print(struct trace_iterator *iter, int flags, } static void print_fn_trace(struct trace_seq *s, unsigned long ip, - unsigned long parent_ip, int flags) + unsigned long parent_ip, long delta, int flags) { + ip += delta; + parent_ip += delta; + seq_print_ip_sym(s, ip, flags); if ((flags & TRACE_ITER_PRINT_PARENT) && parent_ip) { @@ -1009,7 +1012,7 @@ static enum print_line_t trace_fn_trace(struct trace_iterator *iter, int flags, trace_assign_type(field, iter->ent); - print_fn_trace(s, field->ip, field->parent_ip, flags); + print_fn_trace(s, field->ip, field->parent_ip, iter->tr->text_delta, flags); trace_seq_putc(s, '\n'); return trace_handle_return(s); @@ -1674,7 +1677,7 @@ trace_func_repeats_print(struct trace_iterator *iter, int flags, trace_assign_type(field, iter->ent); - print_fn_trace(s, field->ip, field->parent_ip, flags); + print_fn_trace(s, field->ip, field->parent_ip, iter->tr->text_delta, flags); trace_seq_printf(s, " (repeats: %u, last_ts:", field->count); trace_print_time(s, iter, iter->ts - FUNC_REPEATS_GET_DELTA_TS(field)); -- 2.43.0