Received: by 2002:a05:7412:b995:b0:f9:9502:5bb8 with SMTP id it21csp6936651rdb; Tue, 2 Jan 2024 21:13:26 -0800 (PST) X-Google-Smtp-Source: AGHT+IFhVG94cZS4zD2hwgoNEjthJa8ikl0iXvYXzZZ4RjinVQQou8fXNOQXjBZpkH6muFlVG+O5 X-Received: by 2002:a05:6359:4104:b0:170:73b:b7cc with SMTP id kh4-20020a056359410400b00170073bb7ccmr10897392rwc.10.1704258806611; Tue, 02 Jan 2024 21:13:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1704258806; cv=none; d=google.com; s=arc-20160816; b=nnDxwRf7tSnLpnG06dbxYv1Jf7EgLTl0LUeeqwZ+rRgbi1vxccNN4cqKEnlCaKvcQ/ xfycBLv0s7z4sy1d8MW/TdERoNlVT5hQnJpk/rAupAmqibbbDMIU4BNl2Gl31TodlMUi rfIcwj9BTOA+XdeC8f7iWwFOJxSm/0ZiMARpuPYjMWYVgeUDfNkscIMKlx0ekiajyfVC lelc5UEfaGHY4Jf7ac1I7p6/Xx6wg1BvyhcKkfxWht970qPRXZavuaIb3X0HzNPXwVWm gBxIqGOo19ydMec6945tAl0BVySRdlfS8uO7AThKqQKetvVrHeRj1pUz9MaKA7L7c/x7 LH3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=to:from:subject:references:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:in-reply-to:date :dkim-signature; bh=0tclxqMGtmQN2cFwkymkxWkTOUoLNlgvFGRthqLU2N0=; fh=Io7x3OacpefNRRNKoYAzVE0aWTDwD7FRzyCdD1e3AN4=; b=jNujtAFv9Zl4hZA6wFdfNWFN3agHYsAH/DqdgLMnTq9eqguNLHpnA7Fpb85r/4xKJR mhIF0ee0CJnYkOiguJrUQSR/mWC5QJK3H25qcdGb11GR/Coc9AVzTzKgzHSntfVqVeDA GScwE6WLBaqCR7sPd1xmCeKq6lAwvHkp5ovC080bxm6ISJS5HJwPYd/NccVMDy/hN3U+ PY7MrmISeGXuBPIk8z/9WTOF4BRw8/zSfuEvEyrtZNs/bc0J9kCNjRYBfUUuCAzhArWk wk3FdD2Ri468kl6owfBrl0XAxvdXW9dMI1+oI5HfuhvrZTiJzWydenQR6KhvVdtXYJl9 JZqw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b="ghoCh/Uy"; spf=pass (google.com: domain of linux-kernel+bounces-15180-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-15180-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id j1-20020a170902c3c100b001d30ee06c66si20848557plj.22.2024.01.02.21.13.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jan 2024 21:13:26 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-15180-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b="ghoCh/Uy"; spf=pass (google.com: domain of linux-kernel+bounces-15180-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-15180-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 3D747284F34 for ; Wed, 3 Jan 2024 05:13:26 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E4F7A1A709; Wed, 3 Jan 2024 05:07:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="ghoCh/Uy" X-Original-To: linux-kernel@vger.kernel.org Received: from mail-yw1-f202.google.com (mail-yw1-f202.google.com [209.85.128.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C5CD91A70C for ; Wed, 3 Jan 2024 05:07:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--irogers.bounces.google.com Received: by mail-yw1-f202.google.com with SMTP id 00721157ae682-5f325796097so26755597b3.1 for ; Tue, 02 Jan 2024 21:07:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1704258455; x=1704863255; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=0tclxqMGtmQN2cFwkymkxWkTOUoLNlgvFGRthqLU2N0=; b=ghoCh/UyNDQf49s8itlXra3GOM0zY3dhSVI4nRaeDJAaDz/bhuFJ6UPwOedjN7N0pg eb8NJ2fnf8RA6cLvUVjwTxHCd12luUC2yzeVyIsTNPsg3cg3Wl0UouGf/76jkvhExV/7 v9ArQMsa6ilY/DaVvJZomfZzircjixLaQ+g1ehDK+kpUg6s6O6n6w0T1fQRyMP0B3/Vn T3XcyS/MmQ8oX50BCN6ST4gw0X+RHgdreF/VoAJCrTG2Vtg7vad3+ec1u6Ol0dOR8f4I OXy4agnpTFGsUu7aq+x/iO63tPapNtVmKJUBIm7N5kXpplUpq1VpsZHLDKlXzR/0jfuP YzeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704258455; x=1704863255; h=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=0tclxqMGtmQN2cFwkymkxWkTOUoLNlgvFGRthqLU2N0=; b=egkr6XnDZvUyDcnJL30+bE7lDJrgZeBAchycABQ1HO8GbIV2yzUhzWgTQRhu0LU83q 7PN5WBHyyKJMp1lxEIOpbm+oqFoRYhaYpRhzzbuLiyrq2kq2D6evZjjouD62QdZ8emYm 0aoQ4mQv0pzQB4rFCT5nDA2QEiNNFP4nA6ym8zTHJh0jflG71nt5sNI2JeOcU+aFG3si 5h5hIxdugHMML+Q21eJGSGiza91biutFkb4bAm06U21AujxbPHD0IfvhF9Y4qQrjQY6P OzlOSvExOMgNltU3Ge+SDlYFc1wTRBNbbugsTAqHncwBoy6pnbarKLWTTzwT5GlZT7/1 wVQg== X-Gm-Message-State: AOJu0YxKOXKriuW+461QhKGk43gBsv8hIzPZOre8kff5y0U0CZcAqaRM seatJhjxufd5j7Y0uiA+kiH9KIyfqAgGdw6uoGk= X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:e2bd:f1f6:8ea6:8d6c]) (user=irogers job=sendgmr) by 2002:a05:690c:88e:b0:5d3:e848:918b with SMTP id cd14-20020a05690c088e00b005d3e848918bmr9671582ywb.4.1704258454895; Tue, 02 Jan 2024 21:07:34 -0800 (PST) Date: Tue, 2 Jan 2024 21:06:31 -0800 In-Reply-To: <20240103050635.391888-1-irogers@google.com> Message-Id: <20240103050635.391888-22-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20240103050635.391888-1-irogers@google.com> X-Mailer: git-send-email 2.43.0.472.g3155946c3a-goog Subject: [PATCH v7 21/25] perf dsos: Remove __dsos__findnew_link_by_longname_id From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Nick Terrell , Kan Liang , Andi Kleen , Kajol Jain , Athira Rajeev , Huacai Chen , Masami Hiramatsu , Vincent Whitchurch , "Steinar H. Gunderson" , Liam Howlett , Miguel Ojeda , Colin Ian King , Dmitrii Dolgov <9erthalion6@gmail.com>, Yang Jihong , Ming Wang , James Clark , K Prateek Nayak , Sean Christopherson , Leo Yan , Ravi Bangoria , German Gomez , Changbin Du , Paolo Bonzini , Li Dong , Sandipan Das , liuwenyu , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Guilherme Amadio Content-Type: text/plain; charset="UTF-8" Function was only called in dsos.c with the dso parameter as NULL. Remove the function and specialize for the dso being NULL case removing other unused functions along the way. Signed-off-by: Ian Rogers --- tools/perf/util/dsos.c | 51 +++++++++--------------------------------- tools/perf/util/dsos.h | 6 ----- 2 files changed, 10 insertions(+), 47 deletions(-) diff --git a/tools/perf/util/dsos.c b/tools/perf/util/dsos.c index 1495ab1cd7a0..e4110438841b 100644 --- a/tools/perf/util/dsos.c +++ b/tools/perf/util/dsos.c @@ -119,11 +119,6 @@ static int __dso__cmp_short_name(const char *short_name, struct dso_id *id, stru return rc ?: dso_id__cmp(id, &b->id); } -static int dso__cmp_short_name(struct dso *a, struct dso *b) -{ - return __dso__cmp_short_name(a->short_name, &a->id, b); -} - static int dsos__cmp_long_name_id_short_name(const void *va, const void *vb) { const struct dso *a = *((const struct dso **)va); @@ -143,20 +138,21 @@ static int dsos__cmp_long_name_id_short_name(const void *va, const void *vb) * Either one of the dso or name parameter must be non-NULL or the * function will not work. */ -struct dso *__dsos__findnew_link_by_longname_id(struct dsos *dsos, - struct dso *dso, - const char *name, - struct dso_id *id, - bool write_locked) +static struct dso *__dsos__find_by_longname_id(struct dsos *dsos, + const char *name, + struct dso_id *id, + bool write_locked) { int low = 0, high = dsos->cnt - 1; if (!dsos->sorted) { if (!write_locked) { + struct dso *dso; + up_read(&dsos->lock); down_write(&dsos->lock); - dso = __dsos__findnew_link_by_longname_id(dsos, dso, name, id, - /*write_locked=*/true); + dso = __dsos__find_by_longname_id(dsos, name, id, + /*write_locked=*/true); up_write(&dsos->lock); down_read(&dsos->lock); return dso; @@ -166,9 +162,6 @@ struct dso *__dsos__findnew_link_by_longname_id(struct dsos *dsos, dsos->sorted = true; } - if (!name) - name = dso->long_name; - /* * Find node with the matching name */ @@ -178,31 +171,13 @@ struct dso *__dsos__findnew_link_by_longname_id(struct dsos *dsos, int rc = __dso__cmp_long_name(name, id, this); if (rc == 0) { - /* - * In case the new DSO is a duplicate of an existing - * one, print a one-time warning & put the new entry - * at the end of the list of duplicates. - */ - if (!dso || (dso == this)) - return dso__get(this); /* Find matching dso */ - /* - * The core kernel DSOs may have duplicated long name. - * In this case, the short name should be different. - * Comparing the short names to differentiate the DSOs. - */ - rc = dso__cmp_short_name(dso, this); - if (rc == 0) { - pr_err("Duplicated dso name: %s\n", name); - return NULL; - } + return dso__get(this); /* Find matching dso */ } if (rc < 0) high = mid - 1; else low = mid + 1; } - if (dso) - __dsos__add(dsos, dso); return NULL; } @@ -240,12 +215,6 @@ int dsos__add(struct dsos *dsos, struct dso *dso) return ret; } -static struct dso *__dsos__findnew_by_longname_id(struct dsos *dsos, const char *name, - struct dso_id *id, bool write_locked) -{ - return __dsos__findnew_link_by_longname_id(dsos, NULL, name, id, write_locked); -} - struct dsos__find_id_cb_args { const char *name; struct dso_id *id; @@ -279,7 +248,7 @@ static struct dso *__dsos__find_id(struct dsos *dsos, const char *name, struct d __dsos__for_each_dso(dsos, dsos__find_id_cb, &args); return args.res; } - res = __dsos__findnew_by_longname_id(dsos, name, id, write_locked); + res = __dsos__find_by_longname_id(dsos, name, id, write_locked); return res; } diff --git a/tools/perf/util/dsos.h b/tools/perf/util/dsos.h index d1497b11d64c..6c13b65648bc 100644 --- a/tools/perf/util/dsos.h +++ b/tools/perf/util/dsos.h @@ -36,12 +36,6 @@ struct dso *dsos__findnew_id(struct dsos *dsos, const char *name, struct dso_id bool dsos__read_build_ids(struct dsos *dsos, bool with_hits); -struct dso *__dsos__findnew_link_by_longname_id(struct dsos *dsos, - struct dso *dso, - const char *name, - struct dso_id *id, - bool write_locked); - size_t dsos__fprintf_buildid(struct dsos *dsos, FILE *fp, bool (skip)(struct dso *dso, int parm), int parm); size_t dsos__fprintf(struct dsos *dsos, FILE *fp); -- 2.43.0.472.g3155946c3a-goog