From patchwork Fri Feb 2 06:15:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Rogers X-Patchwork-Id: 195603 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:9bc1:b0:106:209c:c626 with SMTP id op1csp239380dyc; Thu, 1 Feb 2024 22:21:36 -0800 (PST) X-Google-Smtp-Source: AGHT+IFPkfW1Jq6LZ8Eeod2nx//s9l9HZeZnAl7Ec2nBcOq9A/AZyVH75UHm4m6YF9z84TYTgfmq X-Received: by 2002:a05:6512:239c:b0:511:3261:d112 with SMTP id c28-20020a056512239c00b005113261d112mr2069871lfv.9.1706854896423; Thu, 01 Feb 2024 22:21:36 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1706854896; cv=pass; d=google.com; s=arc-20160816; b=RjBgRCXYhdyMKxgu4LLemRtXb9nrVbf2p3P/mhT28EcKAM9MdmtefcyNkT4IPR9NGy UfnKjbBQ00riCc8+mGDCzgDWQ6JGh/UPDG4xlSbJv93u31KV8aCP5oqAoHV43h5nmFOi 05fpUs6ilX0jcn5115dUsdVxZQ8iuzzHGaKZQa3CECpx/Ibgx7IY+7fruBbexca8Hpe1 juHJabFUC3GwRo9fEmJ8vEBSFz7yZFB5al2vCxy/HJNjITomoEaGv0SGECk4RjVOh2lJ yuHeZhQe1WQ/Jk/qnFN8tfNYnyrY3LsH4jasJ+bU//OtyrYglasryXBt7lQKPyan49r6 Rm3Q== ARC-Message-Signature: i=2; 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=XOKWqBGia5OyCougv9iLJxqXDjaf1HrWKaNIyp4iI8U=; fh=51KEsH+bXw20aIUSISAowRWR0xm6qOAf1/0MR5X1u04=; b=d5wNmIVt+5Sa5FCfoM7gp5cCV/C9/6c2M4yhMf0ujL6JNBCwsuKaVsW3QLkVOOWbzQ HjlSqnGr/+i6ja6QZVrRA2WpyQ2KRYFZ9orr4OTEWCGv3Lv4/Hdf8FbaPh2tLUenoWkY G0a9R5394TVTWbLuwfmjoe4rnSUtKzt3ed2hV5rLFfRDf2Kupx4oNBa9gUlMc39xVeJk Juv8iWLpAXX82Yp/sJ1m1awiFvBwfp2EE7jqWl7gRj1x7GR/QlcY1gXkzP75HoIKzKfp phewMF8iBzjlFDbwnPy9ls1I7e57MarHs+22GOX1JV5hwaFR2jMiiwjNXZ3lIVX76TPM djSQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=fK43sBvg; arc=pass (i=1 spf=pass spfdomain=flex--irogers.bounces.google.com dkim=pass dkdomain=google.com dmarc=pass fromdomain=google.com); spf=pass (google.com: domain of linux-kernel+bounces-49260-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-49260-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com X-Forwarded-Encrypted: i=1; AJvYcCWvg1EWgj0AjthiTtaGE6DD8kvTGOdzqqSJc/S+iL4VllEoCyDzmWO4SU92IpipV0kIrjPRKHNF/07KiFzD6BJWowHr5g== Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id l14-20020a1709061c4e00b00a36134c3e03si514428ejg.770.2024.02.01.22.21.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Feb 2024 22:21:36 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-49260-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=fK43sBvg; arc=pass (i=1 spf=pass spfdomain=flex--irogers.bounces.google.com dkim=pass dkdomain=google.com dmarc=pass fromdomain=google.com); spf=pass (google.com: domain of linux-kernel+bounces-49260-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-49260-ouuuleilei=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 am.mirrors.kernel.org (Postfix) with ESMTPS id C34C21F267AB for ; Fri, 2 Feb 2024 06:21:24 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 5D066482FE; Fri, 2 Feb 2024 06:16:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="fK43sBvg" 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 E9F3B481A2 for ; Fri, 2 Feb 2024 06:16:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706854597; cv=none; b=dvrGVMhk3ZDOa1qsqpHQUWg9oRYlIGqVwjrFCQz3w3ruYjQf61wCXVve945jknLguvTTSc56zYUHfl0dXcg/6aZrENtPiIvp+p/sqFiuKD4kP3JjZbxWq1oeYKwTSB4qeAHl1AzlSUfCQwtdAahPDCcg09vKOAZobWNC6P+do9o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706854597; c=relaxed/simple; bh=E66uxfEVT8gu+OCIYrlFGYMg89yCZ/I5pQEusMkrRVM=; h=Date:In-Reply-To:Message-Id:Mime-Version:References:Subject:From: To:Content-Type; b=jcexoceoGk52mnl6a56VUJy/eIBbPQ0oUajKyutU/FYTa+kzuk1chQAPdQEzWbIwRNYxrVYgMLLUom1DH3bUXxYIkazOQHYuYLOJOhh9urdLK3vTCmcts0e35YFXg6MTjNCJDJFRNW1w7qPHGge9vW6qoNW34DR3hziYlBgAx0s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--irogers.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=fK43sBvg; arc=none smtp.client-ip=209.85.128.202 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-6040607c642so33582057b3.3 for ; Thu, 01 Feb 2024 22:16:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1706854595; x=1707459395; 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=XOKWqBGia5OyCougv9iLJxqXDjaf1HrWKaNIyp4iI8U=; b=fK43sBvgF/eoBTya87fmyKJdj+hhrn0Ce5hujqNBRbCimjddCzYyimyYQ3c5e0vgVs uXdpIuNNieh4Dbwi78J/Xq2IKQRwveqEXV9NRTyj1ayH0IAH+Afg9fkiM3kLRWDKgvYE WZ4CwQt+IhzaC1NroLgOIRUFFKhFJV5s7U+lL9XJ68yn0IiafebC+QT25HJQa1GShrkj W6uZccZq/sHH1z6/u5QkZwTS4plHmGNM+6YYJ7XN2lZdlsNp5SYRg6N/WjK+0RUb0Pq0 V6w9GMCsaG8dcnah0YeQCxaAaXxvI0U4MAvfgk9smt/FOsrp7xq7oEzYSnbVKwvBuqys O3aA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706854595; x=1707459395; 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=XOKWqBGia5OyCougv9iLJxqXDjaf1HrWKaNIyp4iI8U=; b=EDwHzgtVnPorKdfGIhqtIjxY9ZPurhnzxaz56ev3/+7cOeoqfWXzL/2m1SiUa5Db2E 2TV4iUE5Q8sIEMuMumWRiYy7KagWtgG8WLzMhl/p7gU473s6N6jGc2v+3J3f/0/QIAst 3TGAZX6KemgOhNTU6oG8muhpsGLJYpAcm6tRVim3KcfKCRxcO5eZPfhZR8J0ai5IF9bT RalVbf/uyh7Oz2CCVg1pFrP1Y09DFsGTx2qMlyL8/7FKetshBUSRMbu7y+kTJ4VDswmA EnYaGfQsqHBW2v2QIhmmEHOVS8m8YPEV4hNDe1g9GD5I/noLvyIkguyaf7bnI8ynCJpR KybQ== X-Gm-Message-State: AOJu0Yy5+qysZ7uM1IIFl2spqIA1CUg6zeoO2CDsJYCzlsc6vikCmipc PukxbXg4qFhvZz6mVNG99O+R9+D+eZt728gSj/Ots5KA+HmVXQUpfGgs+g3Nf299QRWSi4mOHMv oOdF1Qg== X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a85f:db1d:a66b:7f53]) (user=irogers job=sendgmr) by 2002:a05:6902:2004:b0:dc6:af9a:8cfa with SMTP id dh4-20020a056902200400b00dc6af9a8cfamr375539ybb.6.1706854595155; Thu, 01 Feb 2024 22:16:35 -0800 (PST) Date: Thu, 1 Feb 2024 22:15:28 -0800 In-Reply-To: <20240202061532.1939474-1-irogers@google.com> Message-Id: <20240202061532.1939474-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: <20240202061532.1939474-1-irogers@google.com> X-Mailer: git-send-email 2.43.0.594.gd9cf4e227d-goog Subject: [PATCH v8 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 , "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 , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Guilherme Amadio X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1789767080063493431 X-GMAIL-MSGID: 1789767080063493431 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);