From patchwork Tue Apr 4 23:00:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 79408 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp209241vqo; Tue, 4 Apr 2023 16:06:34 -0700 (PDT) X-Google-Smtp-Source: AKy350YHALSK9k9EtyXa7QO5hAk1VgV2+F+X0hWd/GmxMeg31ofOp6nv4sMnc9EBZZpJkVt9rOAy X-Received: by 2002:a05:6a20:3b02:b0:da:501:55e with SMTP id c2-20020a056a203b0200b000da0501055emr3663755pzh.40.1680649594328; Tue, 04 Apr 2023 16:06:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680649594; cv=none; d=google.com; s=arc-20160816; b=RtXaUoYA4qJzx5XwXWR5YgnBx771EstBkuWgyJAQAWfkWAZo0xBc658ECWd9rwn7cD tZKcDEJyYv27mRUXXDq2K6l9PwKYe+pk9WWWNHMTaRGAo8fzJvit2CgBmciZpbnjCRPf izjZB0n3GAIf5picn0UnqY9JbcWN2LlFeVr4w0z+lAQus9PLGhnE+grv/0sb5mt+7acF z9wwnZoFAMcFim6gCFMRKSY8gp9u8yQjbPJ+UwYGsS5i3LSfarv+VWNmzrxKeECcQ4pA mS2l+BDM46vjKsQIEkqwWwO7DflQ9kqQyhLkYHlCleiFiG73YKjCmjDu205mKKMaelxp 9YWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:subject:cc:to:from:date :user-agent:message-id; bh=JD8J40d7YiKK31SGueNepsHMoKZelXO37Qb0JiK9fWk=; b=f5yVvfoTP0U/oCTbqO3+wxhBo/608o0aqA9o2f9uKDQ7ICJB29eUNvORXDJVCHzDy9 ZcQ08XdBQ3qgJ/vXLFc9Pi728g73/X3TFyLzIZKrAMi6e20ge5NYduW1QVuZuWO4bosv OTw7l3AUq1KohrmpjejaCXJHoaGF7n19V3/0GzNV3yl9+YAxMtC9aMXLTmJL1/MJ/YZu fGZ/EHYPrBWqVndYGsMw1WKTGalpJ4k+bDzbmbHO/LSzwnXTGSNjQ9y6dGihk97PJp9o Ttmk1P3XKFM+5CzCSyyqF2XmdiwEPc/RKSrmRnC5fqSUwIadYIrDbGbVv38F2WG+WetD 7jIg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h189-20020a6383c6000000b0050be68e217esi11017049pge.477.2023.04.04.16.06.20; Tue, 04 Apr 2023 16:06:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236675AbjDDXDP (ORCPT + 99 others); Tue, 4 Apr 2023 19:03:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40434 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236029AbjDDXDM (ORCPT ); Tue, 4 Apr 2023 19:03:12 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4046C10CA; Tue, 4 Apr 2023 16:03:11 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 4586063935; Tue, 4 Apr 2023 23:03:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A6348C433EF; Tue, 4 Apr 2023 23:03:09 +0000 (UTC) Received: from rostedt by gandalf with local (Exim 4.96) (envelope-from ) id 1pjpgC-000elp-1Y; Tue, 04 Apr 2023 19:03:08 -0400 Message-ID: <20230404230308.297647172@goodmis.org> User-Agent: quilt/0.66 Date: Tue, 04 Apr 2023 19:00:12 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Andrew Morton , Ross Zwisler , stable@vger.kernel.org Subject: [PATCH 1/2] tracing: Have tracing_snapshot_instance_cond() write errors to the appropriate instance References: <20230404230011.757302390@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1762288828709423999?= X-GMAIL-MSGID: =?utf-8?q?1762288828709423999?= From: "Steven Rostedt (Google)" If a trace instance has a failure with its snapshot code, the error message is to be written to that instance's buffer. But currently, the message is written to the top level buffer. Worse yet, it may also disable the top level buffer and not the instance that had the issue. Cc: stable@vger.kernel.org Fixes: 2824f50332486 ("tracing: Make the snapshot trigger work with instances") Signed-off-by: Steven Rostedt (Google) --- kernel/trace/trace.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 937e9676dfd4..ed1d1093f5e9 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -1149,22 +1149,22 @@ static void tracing_snapshot_instance_cond(struct trace_array *tr, unsigned long flags; if (in_nmi()) { - internal_trace_puts("*** SNAPSHOT CALLED FROM NMI CONTEXT ***\n"); - internal_trace_puts("*** snapshot is being ignored ***\n"); + trace_array_puts(tr, "*** SNAPSHOT CALLED FROM NMI CONTEXT ***\n"); + trace_array_puts(tr, "*** snapshot is being ignored ***\n"); return; } if (!tr->allocated_snapshot) { - internal_trace_puts("*** SNAPSHOT NOT ALLOCATED ***\n"); - internal_trace_puts("*** stopping trace here! ***\n"); - tracing_off(); + trace_array_puts(tr, "*** SNAPSHOT NOT ALLOCATED ***\n"); + trace_array_puts(tr, "*** stopping trace here! ***\n"); + tracer_tracing_off(tr); return; } /* Note, snapshot can not be used when the tracer uses it */ if (tracer->use_max_tr) { - internal_trace_puts("*** LATENCY TRACER ACTIVE ***\n"); - internal_trace_puts("*** Can not use snapshot (sorry) ***\n"); + trace_array_puts(tr, "*** LATENCY TRACER ACTIVE ***\n"); + trace_array_puts(tr, "*** Can not use snapshot (sorry) ***\n"); return; } From patchwork Tue Apr 4 23:00:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 79413 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp214225vqo; Tue, 4 Apr 2023 16:17:20 -0700 (PDT) X-Google-Smtp-Source: AKy350ZUBazWl5ZIITnseB7phCj/OT05SYR3KxCzzvd8P7sQVjken360GaT8zcWPIMLUqkDaMJNV X-Received: by 2002:a17:902:cecc:b0:19a:ad2f:2df9 with SMTP id d12-20020a170902cecc00b0019aad2f2df9mr5326243plg.55.1680650240463; Tue, 04 Apr 2023 16:17:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680650240; cv=none; d=google.com; s=arc-20160816; b=06rNdMF6HN9B/DQJpT3RSyfCaKKzDfRiLXHk/LwqGOwF7lsQHjWHo8wXnuXejjvzCW BKMHfv0dciL87NfZrAYUISnqu/aZbxyP/gqvL8qpDBs/Aja9tIwNidT0ULqmxNsk1eOi lqBZ2kjXA2Sj1h5JZQGuhaz25+w2pnqqfgMnakWkUUQg1nsWrldh0cw1M+YIjSC1/Dq0 Asz7Pi+CWNpKjtWdRNzw9b4i0bGw6iDG+akf348rQ949VCTgL8rictamcCYHN9ehzXI5 z0j2ck7Sdp89okwM3Smf8n/XwAOmaERkkYFOuLtgw2Dc1JnGe2GPfqtSK/tObANOwIj9 zN4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:subject:cc:to:from:date :user-agent:message-id; bh=0PifspPBUKfrlV/ddoeq2uq1YgBiGycNuJkereXOS9c=; b=Gm873KJJX4u9nT5YEb9pIFsI/W+0TmVctHl5jcZm0BhNR+/+2hkQS+i5nHKUwhJhoq KarmO8R5PdSRGlGI6l5G3EvQhPtSndHDOH6iYlnbjrBoJRjZeA2StJssNlwfGdFcGSlF D3DmtVarwG+eBHHqAD0Df3LywT/N5vtuIalAR68imeMFv7gkSZZWZ8EBhmr+mBVfz1oa TY36pnnD+GIXBSK93bqhnBqOxmTA+1a7ioXBaqVTkM5ZdHcVPMKzxhfvIKHB3h/rC1NB Eju2qrg7FLlXM3DPmdvXs7mYFVHF3Fyo+J62q+Yw02Qd/ApXdmuANJsH2yzc42S34fBy oMvA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 31-20020a630e5f000000b00507766aea63si10745951pgo.864.2023.04.04.16.17.04; Tue, 04 Apr 2023 16:17:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236682AbjDDXDR (ORCPT + 99 others); Tue, 4 Apr 2023 19:03:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40440 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236398AbjDDXDM (ORCPT ); Tue, 4 Apr 2023 19:03:12 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4D7FF1999; Tue, 4 Apr 2023 16:03:11 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 4E278639A7; Tue, 4 Apr 2023 23:03:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A95A8C4339B; Tue, 4 Apr 2023 23:03:09 +0000 (UTC) Received: from rostedt by gandalf with local (Exim 4.96) (envelope-from ) id 1pjpgC-000emM-2F; Tue, 04 Apr 2023 19:03:08 -0400 Message-ID: <20230404230308.501833715@goodmis.org> User-Agent: quilt/0.66 Date: Tue, 04 Apr 2023 19:00:13 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Andrew Morton , Ross Zwisler , stable@vger.kernel.org Subject: [PATCH 2/2] tracing: Fix ftrace_boot_snapshot command line logic References: <20230404230011.757302390@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1762289506473740423?= X-GMAIL-MSGID: =?utf-8?q?1762289506473740423?= From: "Steven Rostedt (Google)" The kernel command line ftrace_boot_snapshot by itself is supposed to trigger a snapshot at the end of boot up of the main top level trace buffer. A ftrace_boot_snapshot=foo will do the same for an instance called foo that was created by trace_instance=foo,... The logic was broken where if ftrace_boot_snapshot was by itself, it would trigger a snapshot for all instances that had tracing enabled, regardless if it asked for a snapshot or not. When a snapshot is requested for a buffer, the buffer's tr->allocated_snapshot is set to true. Use that to know if a trace buffer wants a snapshot at boot up or not. Since the top level buffer is part of the ftrace_trace_arrays list, there's no reason to treat it differently than the other buffers. Just iterate the list if ftrace_boot_snapshot was specified. Cc: stable@vger.kernel.org Fixes: 9c1c251d670bc ("tracing: Allow boot instances to have snapshot buffers") Signed-off-by: Steven Rostedt (Google) --- kernel/trace/trace.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index ed1d1093f5e9..8ae51f1dea8e 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -10395,16 +10395,15 @@ void __init ftrace_boot_snapshot(void) { struct trace_array *tr; - if (snapshot_at_boot) { - tracing_snapshot(); - internal_trace_puts("** Boot snapshot taken **\n"); - } + if (!snapshot_at_boot) + return; list_for_each_entry(tr, &ftrace_trace_arrays, list) { - if (tr == &global_trace) + if (!tr->allocated_snapshot) continue; - trace_array_puts(tr, "** Boot snapshot taken **\n"); + tracing_snapshot_instance(tr); + trace_array_puts(tr, "** Boot snapshot taken **\n"); } }