From patchwork Mon Dec 11 18:06: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: 176857 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp7240308vqy; Mon, 11 Dec 2023 10:05:42 -0800 (PST) X-Google-Smtp-Source: AGHT+IEgKW8ixX9QL5P2rXt2Dj5IV4hSlK06OTBNMx3n8S2NBoeMvU6MRa/lQB3lFDn7gFxY+S+i X-Received: by 2002:a17:90b:1c09:b0:286:6cc1:7800 with SMTP id oc9-20020a17090b1c0900b002866cc17800mr4061289pjb.67.1702317942558; Mon, 11 Dec 2023 10:05:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702317942; cv=none; d=google.com; s=arc-20160816; b=d9ltIw3Tg1RNYduNMTECRSnGXS5XUdajk4Dtlrpr0qCwkMPtDMTyApFm1SLbe2Hwmy wH9jJXKH1Ju777KrU7rqv6cNQiajxOTVpd7WPjpUqppMPNjeGgRWjKzfY3pKTkBynsrL Bcxo5uQA+lQZ4hJIrKt9dTd/1G6QP41A8YKoAHFoCjhT9Sla0E3Wdb0OYZaqHCV087Mj 31K+codK8p6ZpWI5NHKpb+MerpL7ohpWYN01f/fbllTW65hCxtfT6hhpI/n4ZXU7aGlA dhGYW90tzqBAgdMcSytW2xoDKGzfIzXN1djws3YZNwf5Y/NpIVMTeQNUAenlSg4BK1Jb w+ZA== 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=WQgXgyHoiJxh/9xfTmDsXXXkjCA1mXPYOiJNY9P3HkQ=; fh=R8JZsVKDlS7lXIAvTNV55bsjlDBI0i4sqiOYXO4tZQA=; b=FMS7vO5HNCBg3IKx5Mcd3fCOUSCWObEuiBevnAjVTSx0nDphzw12XjZINNaV2WWEEM wR0sJ6OheOPCqp+XRZzxWjVgj0S+9bKbuc6ZcQ8XRM6zB7FFjy1WgV6ghv9I39Zeeg/g pn+nOrLujwWO1BL2GewlWdnsge0HxQ3srO7fgd0F89BrMIqNZWhOBVjYEke+vtc37Z72 mwW+Egoc9xuH4Id6UsMHdDNVHVIhxh4HrsUf0JNFhbl9CFcVdhijnp4DCRErtOHpa+VG j50aVBpc48iHXlr4rNLB0Md/HfsTHmDX58MhwPIm9XT8ljWgL5bC0jygzcOHwf57SIj7 Pvgw== 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:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id k2-20020a17090a9d8200b0028aa74fa2c1si759746pjp.70.2023.12.11.10.05.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Dec 2023 10:05:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 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 agentk.vger.email (Postfix) with ESMTP id BD9FC8059DB7; Mon, 11 Dec 2023 10:05:39 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345181AbjLKSFa (ORCPT + 99 others); Mon, 11 Dec 2023 13:05:30 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33054 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345117AbjLKSF3 (ORCPT ); Mon, 11 Dec 2023 13:05:29 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0C38793 for ; Mon, 11 Dec 2023 10:05:36 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DCC54C433C7; Mon, 11 Dec 2023 18:05:34 +0000 (UTC) Date: Mon, 11 Dec 2023 13:06:14 -0500 From: Steven Rostedt To: LKML , Linux Trace Kernel Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers Subject: [PATCH v2] ring-buffer: Add offset of events in dump on mismatch Message-ID: <20231211130614.43ff4462@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 agentk.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 (agentk.vger.email [0.0.0.0]); Mon, 11 Dec 2023 10:05:39 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785009738655713108 X-GMAIL-MSGID: 1785009738655713108 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 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..c28513624ab3 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:%ld last event actually ended at:%d\n", tail, e); } static DEFINE_PER_CPU(atomic_t, checking);