From patchwork Sun Dec 10 03:54:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 176268 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp6353879vqy; Sat, 9 Dec 2023 20:04:55 -0800 (PST) X-Google-Smtp-Source: AGHT+IEo4o13OSmdyf0hguMhnPTHLf3Q4xT/0JwNk04NscW2CjxfvQ04qXyS3S7/JOScQYDmvl8w X-Received: by 2002:a05:6a20:da84:b0:18f:97c:9287 with SMTP id iy4-20020a056a20da8400b0018f097c9287mr1313003pzb.108.1702181095032; Sat, 09 Dec 2023 20:04:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702181095; cv=none; d=google.com; s=arc-20160816; b=VIHjAi2XEmRtwcn5FIx17c0dP6I76xrW3MG0fIug+xVF+bS+lRuD0jhSRRtINH0BvW dBQz6W31RXorYtGXjqLE/KZWY1b5Lrz6RvPn6hi6z7fxJXZjoqay6JRWeiTTJS0Jz9Qk JlI3yB9ytYreGdOuRKt6XIvuadH4kYIM1oYiEyGmQB6SVxjkqXlkQw2XySqX4H3pbVBu G9d0/Ce4EJ1V9aJij+R6Bt501OyxS/Sch+bj+EvMJfgPOeLTQ8UZCV5s4TmWClWxOWs+ 9HfwruK3b8vsXbcvZj3Pl0AIKJLPunvCl9U8/WlICiakLQo+n8fzNCnIiNTCjTMFsr21 yB9A== 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=Eq9sBsrut4+ndQbw6zCNUZb02rHiNejqBiJJbr+Tlao=; fh=pL1t9p0RxD5qCgSUniSa3P4+XmpksJYPzX6TE+dndao=; b=KuOscClw+odZy9Ln6mWmK8K+RWdwSkoANzHg4ydOT/Cu0MtGNs3yZ+rPZE4JVrH32K lIM0VrdJ/7qyjjumuJDq4kvbzVUkGMpFN4VygX38wMFQczmIoMAiK3tmZoRyrDhRaC+u XfPaQxLBZa6eUHbTgNNgL3UAwsN95UuR0C3tOoNRuJeqi/lAN6bgkk5qe/ybdgNAgLkw iqNxTGibOX4gg6cHnIEzTWvnZJYc3Y+wFxs5+2SknvJwj3rAd1X9yXWJHIbzk0U3Ix0A bdiVcLUT53z9onAyAvxF8MtHVXJrJ4q30bIjb2eidSA6qoJ//AkO7kDtbCAlZUeNZVu2 1+CA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id ij29-20020a170902ab5d00b001cfdb94ee48si4015680plb.376.2023.12.09.20.04.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Dec 2023 20:04:55 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 18999809849D; Sat, 9 Dec 2023 20:04:53 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231660AbjLJEEi (ORCPT + 99 others); Sat, 9 Dec 2023 23:04:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33242 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229488AbjLJEEI (ORCPT ); Sat, 9 Dec 2023 23:04:08 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A02A211C for ; Sat, 9 Dec 2023 20:04:14 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4E44FC433D9; Sun, 10 Dec 2023 04:04:14 +0000 (UTC) Received: from rostedt by gandalf with local (Exim 4.97) (envelope-from ) id 1rCB3j-000000021QH-1SGg; Sat, 09 Dec 2023 23:04:51 -0500 Message-ID: <20231210040451.136611306@goodmis.org> User-Agent: quilt/0.67 Date: Sat, 09 Dec 2023 22:54:14 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , Tzvetomir Stoyanov , Vincent Donnefort , Kent Overstreet Subject: [PATCH 10/14] tracing: Stop the tracing while changing the ring buffer subbuf size References: <20231210035404.053677508@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Sat, 09 Dec 2023 20:04:53 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784866244176692296 X-GMAIL-MSGID: 1784866244176692296 From: "Steven Rostedt (Google)" Because the main buffer and the snapshot buffer need to be the same for some tracers, otherwise it will fail and disable all tracing, the tracers need to be stopped while updating the sub buffer sizes so that the tracers see the main and snapshot buffers with the same sub buffer size. Fixes: TBD ("ring-buffer: Add interface for configuring trace sub buffer size") Signed-off-by: Steven Rostedt (Google) --- kernel/trace/trace.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 7faaaf29b504..9e5f2392d521 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -9397,13 +9397,16 @@ buffer_order_write(struct file *filp, const char __user *ubuf, if (val < 0 || val > 7) return -EINVAL; + /* Do not allow tracing while changing the order of the ring buffer */ + tracing_stop_tr(tr); + old_order = ring_buffer_subbuf_order_get(tr->array_buffer.buffer); if (old_order == val) - return 0; + goto out; ret = ring_buffer_subbuf_order_set(tr->array_buffer.buffer, val); if (ret) - return 0; + goto out; #ifdef CONFIG_TRACER_MAX_TRACE @@ -9430,11 +9433,15 @@ buffer_order_write(struct file *filp, const char __user *ubuf, */ tracing_disabled = 1; } - return ret; + goto out; } out_max: #endif (*ppos)++; + out: + if (ret) + cnt = ret; + tracing_start_tr(tr); return cnt; }