From patchwork Mon Dec 11 18:16:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 176859 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp7247817vqy; Mon, 11 Dec 2023 10:16:09 -0800 (PST) X-Google-Smtp-Source: AGHT+IEI8WFQBH4QhIKBFRqqpOnEcL2418Y4acE9IDtZWF265uPaNNcQ6c5oxhBPwoiu+PTHg54W X-Received: by 2002:aa7:9e5c:0:b0:6ce:2732:294 with SMTP id z28-20020aa79e5c000000b006ce27320294mr2234466pfq.67.1702318569140; Mon, 11 Dec 2023 10:16:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702318569; cv=none; d=google.com; s=arc-20160816; b=xZJtNKUdifkByV9Y9MqqrxL2G6o3Z++Wjk3pCN++Pwlz2sTmIprTfM6UQuPM/N1SVI v8KWecyzTW7St2f8wBis02pn/YVU44r2/zbEWZuI2Ry5WIUBKuv+nz0y9Di9NaZ2q10v OC6nwGSVqALgxdR7Vbqx3LT1mKhFdWd+tVnLWyPtppg6XtgEPdKlPR+WzTieSIhX36t6 oXl4dwgJfRiVX1LPuwY2ZfXS8g7ZH9/jBghzbRLA4FebWm+HtlxFoFv0vXckdQobt1sH BUDWY+mi7tQza36ER/rkvCPsdbDkmjBr2Ga4h9//+sdZeMzmbOIzt7H5PU1MUceSG1yK pNrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:subject:cc:to:from:date; bh=TsCMiXbrWyzP4VCh/xlbBmRTc8BcEVGAou5e0dpLRHI=; fh=R8JZsVKDlS7lXIAvTNV55bsjlDBI0i4sqiOYXO4tZQA=; b=t0Kda5K7Ksr3a0vOwc022d/JU15GRWh4g1LUYWTJclEV6Q6HMHJta0qPi7aHcEtVLn CKUWoj8J6WwlGHSY9tUUMASsQEnAKqsNMYCGbhL3xjFetZSVaC4N8By14b2Ic++o34Ku 6k8x6jr8HuX2WE9+o339ioMwlDk3Y0f8e1oSmZLmixai+6Ln9ZqINeFnxN9NHNmk9RG2 0Z5tvUrEaySQoZ/ug7KnyDJjtLxfPF98FVLq9SixKIUFdJrdpXqvjkZlhWnufhbEThC+ nn163YhdjoSsuEP7KssIdcMkN/QTaBlVyO2p1iRk/utcksLJi3zltbBsYdDwLHNVyC1W M47A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from howler.vger.email (howler.vger.email. [2620:137:e000::3:4]) by mx.google.com with ESMTPS id h64-20020a638343000000b005c6b6109a08si6285796pge.858.2023.12.11.10.16.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Dec 2023 10:16:09 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) client-ip=2620:137:e000::3:4; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 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 howler.vger.email (Postfix) with ESMTP id 1D1AB808DD85; Mon, 11 Dec 2023 10:15:52 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344965AbjLKSPn (ORCPT + 99 others); Mon, 11 Dec 2023 13:15:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33744 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229587AbjLKSPi (ORCPT ); Mon, 11 Dec 2023 13:15:38 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E098595 for ; Mon, 11 Dec 2023 10:15:44 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D29D4C433C8; Mon, 11 Dec 2023 18:15:43 +0000 (UTC) Date: Mon, 11 Dec 2023 13:16:23 -0500 From: Steven Rostedt To: LKML , Linux Trace Kernel Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers Subject: [PATCH v3] ring-buffer: Add offset of events in dump on mismatch Message-ID: <20231211131623.59eaebd2@gandalf.local.home> X-Mailer: Claws Mail 3.19.1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email 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 (howler.vger.email [0.0.0.0]); Mon, 11 Dec 2023 10:15:52 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785009738655713108 X-GMAIL-MSGID: 1785010395928013694 From: "Steven Rostedt (Google)" On bugs that have the ring buffer timestamp get out of sync, the config CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS, that checks for it and if it is detected it causes a dump of the bad sub buffer. It shows each event and their timestamp as well as the delta in the event. But it's also good to see the offset into the subbuffer for that event to know if how close to the end it is. Also print where the last event actually ended compared to where it was expected to end. Acked-by: Masami Hiramatsu (Google) Signed-off-by: Steven Rostedt (Google) --- Changes since v2: https://lore.kernel.org/linux-trace-kernel/20231211130614.43ff4462@gandalf.local.home/ - Print out in hex not decimal to match the offset prints Changes since v1: https://lore.kernel.org/linux-trace-kernel/20231207173108.484b912c@gandalf.local.home - Also show where the last event added and where it expected to end. kernel/trace/ring_buffer.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index bc70cb9bbdb7..1e6ec2b32243 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -3429,29 +3429,34 @@ static void dump_buffer_page(struct buffer_data_page *bpage, case RINGBUF_TYPE_TIME_EXTEND: delta = rb_event_time_stamp(event); ts += delta; - pr_warn(" [%lld] delta:%lld TIME EXTEND\n", ts, delta); + pr_warn(" 0x%x: [%lld] delta:%lld TIME EXTEND\n", + e, ts, delta); break; case RINGBUF_TYPE_TIME_STAMP: delta = rb_event_time_stamp(event); ts = rb_fix_abs_ts(delta, ts); - pr_warn(" [%lld] absolute:%lld TIME STAMP\n", ts, delta); + pr_warn(" 0x%x: [%lld] absolute:%lld TIME STAMP\n", + e, ts, delta); break; case RINGBUF_TYPE_PADDING: ts += event->time_delta; - pr_warn(" [%lld] delta:%d PADDING\n", ts, event->time_delta); + pr_warn(" 0x%x: [%lld] delta:%d PADDING\n", + e, ts, event->time_delta); break; case RINGBUF_TYPE_DATA: ts += event->time_delta; - pr_warn(" [%lld] delta:%d\n", ts, event->time_delta); + pr_warn(" 0x%x: [%lld] delta:%d\n", + e, ts, event->time_delta); break; default: break; } } + pr_warn("expected end:0x%lx last event actually ended at:0x%x\n", tail, e); } static DEFINE_PER_CPU(atomic_t, checking);