From nobody Tue Feb 10 15:43:48 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 73A06C6FD1D for ; Mon, 20 Mar 2023 03:42:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229904AbjCTDmb (ORCPT ); Sun, 19 Mar 2023 23:42:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36204 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229861AbjCTDls (ORCPT ); Sun, 19 Mar 2023 23:41:48 -0400 Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9A67922CBC for ; Sun, 19 Mar 2023 20:40:36 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id i11-20020a256d0b000000b0086349255277so11809269ybc.8 for ; Sun, 19 Mar 2023 20:40:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1679283635; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=Py8U8PqFwPIRVvHHDItGJJ+sTjfy4CxHiyg06BPRgeo=; b=n+gKE63K3SKDTQo/iu8pU9gFXI2PAJbYBkvXhYMxrv7G3p+hiuhE4hXChTy3JqmfXu pKDQKBWo91txB3O0gHkwCYsUDlg4BXrQiJXJkx7HWp/SSg1q00qidcrDQ/BbqGBhuTL1 UvdWPY37uZ9xexSslCjA6IkxEDS45AHDt4NOfm8JZochOhauqt97OWLrYRa7gVhruy1g RpVUeYdk40b9OxcCBqJaYr0tcLGmaP9OGlLz8G5jH2rcOXPq0Ekj+DUBOTH523FygzT9 4cN7qK1mnLlwld/+/3nDFJFiJxGak8rLgLaoCaz5kQxyUgZ0E2QmhR1r92tIEQXe2DNy rv3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679283635; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Py8U8PqFwPIRVvHHDItGJJ+sTjfy4CxHiyg06BPRgeo=; b=nwzTQsnRE/ydqZey4O9qVLl8bD6vAUKML6KKpM1uYlsE4ueoSzJdVbfdgI5oBpvqW8 snmPgdamXxLSKXTUDenwGV6JSeKZQ43Vj/mZlOtMy2oBSfyKwnz4wR1X+2aoWzLyJBs5 QVFnbnx0DZi3AECTtAGjIdc/D206qzIfiFB0jw02+JAeZd4LEh9maS8MSdCCZTaSAx1m WgbyFsIBhm+Gft7dEvbWv0yz31o3Di/btGZuyeUokpGPpmI6jTdT6tmIaVMy1atSfRXD nYVDQOomNzLfgO8s9X2hXXiIkJ6y5lyoCwFWa0UqDT29o9bE2an5gLU8ZAHzduZEqP5t AiCg== X-Gm-Message-State: AO0yUKWAnCTGIJ3QMgvc3q2rJr6Iy6vnYZaPUkWWVAr4O9fX8Zn9IPFu MpOw+Ab6y1Vpn8VPyWhnoCERiHPxdsdd X-Google-Smtp-Source: AK7set8vSqZsRSfY53oCnbMUg7lQPOwN0CXJrzMHSihbyBNkzmqp/4+dNcN0A9xOYeEdkDXhOjRr9HhciVv9 X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:1895:9fa0:27f5:cb71]) (user=irogers job=sendgmr) by 2002:a25:8f8b:0:b0:b68:7b14:186b with SMTP id u11-20020a258f8b000000b00b687b14186bmr2946840ybl.1.1679283635105; Sun, 19 Mar 2023 20:40:35 -0700 (PDT) Date: Sun, 19 Mar 2023 20:38:03 -0700 In-Reply-To: <20230320033810.980165-1-irogers@google.com> Message-Id: <20230320033810.980165-16-irogers@google.com> Mime-Version: 1.0 References: <20230320033810.980165-1-irogers@google.com> X-Mailer: git-send-email 2.40.0.rc1.284.g88254d51c5-goog Subject: [PATCH v4 15/22] perf test: Add extra diagnostics to maps test From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Thomas Gleixner , Darren Hart , Davidlohr Bueso , "=?UTF-8?q?Andr=C3=A9=20Almeida?=" , James Clark , John Garry , Riccardo Mancini , Yury Norov , Andy Shevchenko , Andrew Morton , Adrian Hunter , Leo Yan , Andi Kleen , Thomas Richter , Kan Liang , Madhavan Srinivasan , Shunsuke Nakamura , Song Liu , Masami Hiramatsu , Steven Rostedt , Miaoqian Lin , Stephen Brennan , Kajol Jain , Alexey Bayduraev , German Gomez , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, Eric Dumazet , Dmitry Vyukov , Hao Luo Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Dump the resultant and comparison maps on failure. Signed-off-by: Ian Rogers --- tools/perf/tests/maps.c | 51 +++++++++++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 15 deletions(-) diff --git a/tools/perf/tests/maps.c b/tools/perf/tests/maps.c index fd0c464fcf95..1c7293476aca 100644 --- a/tools/perf/tests/maps.c +++ b/tools/perf/tests/maps.c @@ -1,4 +1,5 @@ // SPDX-License-Identifier: GPL-2.0 +#include #include #include #include "tests.h" @@ -17,22 +18,42 @@ static int check_maps(struct map_def *merged, unsigned = int size, struct maps *ma { struct map_rb_node *rb_node; unsigned int i =3D 0; - - maps__for_each_entry(maps, rb_node) { - struct map *map =3D rb_node->map; - - if (i > 0) - TEST_ASSERT_VAL("less maps expected", (map && i < size) || (!map && i = =3D=3D size)); - - TEST_ASSERT_VAL("wrong map start", map__start(map) =3D=3D merged[i].sta= rt); - TEST_ASSERT_VAL("wrong map end", map__end(map) =3D=3D merged[i].end); - TEST_ASSERT_VAL("wrong map name", !strcmp(map__dso(map)->name, merged[i= ].name)); - TEST_ASSERT_VAL("wrong map refcnt", refcount_read(&map->refcnt) =3D=3D 1= ); - - i++; + bool failed =3D false; + + if (maps__nr_maps(maps) !=3D size) { + pr_debug("Expected %d maps, got %d", size, maps__nr_maps(maps)); + failed =3D true; + } else { + maps__for_each_entry(maps, rb_node) { + struct map *map =3D rb_node->map; + + if (map__start(map) !=3D merged[i].start || + map__end(map) !=3D merged[i].end || + strcmp(map__dso(map)->name, merged[i].name) || + refcount_read(&map->refcnt) !=3D 1) { + failed =3D true; + } + i++; + } } - - return TEST_OK; + if (failed) { + pr_debug("Expected:\n"); + for (i =3D 0; i < size; i++) { + pr_debug("\tstart: %" PRIu64 " end: %" PRIu64 " name: '%s' refcnt: 1\n", + merged[i].start, merged[i].end, merged[i].name); + } + pr_debug("Got:\n"); + maps__for_each_entry(maps, rb_node) { + struct map *map =3D rb_node->map; + + pr_debug("\tstart: %" PRIu64 " end: %" PRIu64 " name: '%s' refcnt: %d\n= ", + map__start(map), + map__end(map), + map__dso(map)->name, + refcount_read(&map->refcnt)); + } + } + return failed ? TEST_FAIL : TEST_OK; } =20 static int test__maps__merge_in(struct test_suite *t __maybe_unused, int s= ubtest __maybe_unused) --=20 2.40.0.rc1.284.g88254d51c5-goog