From nobody Mon May 12 16:15:08 2025 Received: from mail-pj1-f74.google.com (mail-pj1-f74.google.com [209.85.216.74]) (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 1AE3420F080 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:24:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531881; cv=none; b=AtkCGcv0LnOfsK3Wo0Lme+f5CG2sEcVMYdbFKm/LRZbvWwz/B6aqO4rZQlRQEEOPCR6qoT8Avl8NjS2JaGYoxZcQGLEagbfRFtEk98BvWCA0NBjMh55CUpI5WgoLh6OgYVgEfHxOoTRb0kQAfcjtcPY/dp9UmdYbEikQTtnicF4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531881; c=relaxed/simple; bh=49l7ADb3p3Yt9ABBM2gRd7j5skKd2Ri396uT1ankTM4=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=UilFP2EzY1KMoS39Cj0BxLQ3xVgSe/sQvN29wB0hVWucugntsPE2Vy1KMCnRddDpYRzooaTY3OhEITCQ6yEcnmK1/06vKCNPigC6xtndaIDwwqsLzYoU8w+HHgSrB7HB9+m2OgQlGWOx/ZslzFRGKGdD3/NNpz0RJNcIvi5g+R0= 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=uGE+Y1Cy; arc=none smtp.client-ip=209.85.216.74 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="uGE+Y1Cy" Received: by mail-pj1-f74.google.com with SMTP id 98e67ed59e1d1-3011bee1751so9919544a91.1 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:24:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531879; x=1744136679; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=iRjxFcSihUrg8jPg2GdkHyPzaMHS3sRgicHABls9JzI=; b=uGE+Y1CyHlU6vPvG/vQ+HZ/px+f+YNO6Niiel2RnrwBskXw05u7vH92y8w+gKjOJXv cVi+53nvBZseB+Djvidubkg1QYpstRqaSkHtM4ozn1j3xchsMDhf6B5d2w2EMV7Qqk2i ggEcx2wn6M2o+UBnO185ClH4nXIp8vaw4sJ1uwX051KSN+Vdki3kyDOWf0ekEoJjrK1v OpKZZTZHhdQ16ldvXx9zI5KXhU+M/kPjt7axDjjt7crhkprGS75NnxQ8QFr3wA6e59Y0 zwfXvJdVd+YMGr8CeGDabCfZNPNO/Hyihw/WxidYm8ZkhaW+qh1asQjRiIfoTsOHQ1fC nZrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531879; x=1744136679; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=iRjxFcSihUrg8jPg2GdkHyPzaMHS3sRgicHABls9JzI=; b=CbCyX/cDZocMAFq4R3R3ETKUA7Gsh1PRgFThFZOu+KQtbzFF8N1BYorh9Wia/uZahs 6QIaiM6g4dXoRk3zQb+sL77lmANVneR1VTQkKSI0Kgxa7IJPRygKIUdGh8gocQMQSKys grAcllvJ4qvWpy2SD+muB24uNUnblcbQ9VSyofsQXf+3bld7oC27Kq6cnJUY6exkgqd4 XRuzRXtxwvAotENjAuDx1tVMJIoWI56Y3UUjbOWtkt0zi/QmGy0uECZ7mhtMegvVhcTM 03Mqx/Tv5lRQ+QL0axCTNvi4eKUM1Ae1PdjJHCwP9cZjM/LRXkA61OfNjN6b3OigLc6S qR0g== X-Forwarded-Encrypted: i=1; AJvYcCUBYnKBXdaSwuj17YdFp9EkUC6IXfnebhbtG+WzW9Rw1tDfqfJz5AZ9D9A0RBYVTTTzMbnV96xwLZY7DtU=@vger.kernel.org X-Gm-Message-State: AOJu0YzI+2iujHufSfoGVIsGITiFj2a4kRZGv+JEyZ3I7xFn02IhTxp7 +DAWRdSQ05WvO3+FnK3ZbVUloYBZpmwfNJ18446aCLIV2HerlaOgWLQ5TG94YLHVGeFYPdYxe/O 7dVzOiw== X-Google-Smtp-Source: AGHT+IEFoEdW54+8IzXF8SrRli8AZBce5TP8glO5taNb/WkCtgqcwxjpvN6TkKqQcxglUuElnk9l67f2Meoj X-Received: from pjvf3.prod.google.com ([2002:a17:90a:da83:b0:2f9:dc36:b11]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:2704:b0:2fa:13d9:39c with SMTP id 98e67ed59e1d1-30531fa6be2mr25430589a91.14.1743531879230; Tue, 01 Apr 2025 11:24:39 -0700 (PDT) Date: Tue, 1 Apr 2025 11:22:59 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-2-irogers@google.com> Subject: [PATCH v1 01/48] perf build: Avoid building libbpf/bpftool with LIBBPF_DYNAMIC From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Building with LIBBPF_DYNAMIC still requires building libbpf as part of bpftool, but the build also still accidentally builds it. Make the parts of the build bringing in libbpf conditional. Don't build bpftool is a bpftool exists from the which command. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/Makefile.perf | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index d335151736ed..c836e01c8279 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf @@ -1001,10 +1001,12 @@ $(LIBAPI)-clean: $(call QUIET_CLEAN, libapi) $(Q)$(RM) -r -- $(LIBAPI_OUTPUT) =20 +ifndef LIBBPF_DYNAMIC $(LIBBPF): FORCE | $(LIBBPF_OUTPUT) $(Q)$(MAKE) -C $(LIBBPF_DIR) FEATURES_DUMP=3D$(FEATURE_DUMP_EXPORT) \ O=3D OUTPUT=3D$(LIBBPF_OUTPUT)/ DESTDIR=3D$(LIBBPF_DESTDIR) prefix=3D su= bdir=3D \ EXTRA_CFLAGS=3D"-fPIC" $@ install_headers +endif =20 $(LIBBPF)-clean: $(call QUIET_CLEAN, libbpf) @@ -1224,7 +1226,11 @@ $(SKEL_TMP_OUT) $(LIBAPI_OUTPUT) $(LIBBPF_OUTPUT) $(= LIBPERF_OUTPUT) $(LIBSUBCMD_ $(Q)$(MKDIR) -p $@ =20 ifeq ($(CONFIG_PERF_BPF_SKEL),y) +BPFTOOL :=3D $(shell which bpftool) +ifeq ($(BPFTOOL),) BPFTOOL :=3D $(SKEL_TMP_OUT)/bootstrap/bpftool +BUILD_BPFTOOL :=3D y +endif # Get Clang's default includes on this system, as opposed to those seen by # '--target=3Dbpf'. This fixes "missing" files on some architectures/distr= os, # such as asm/byteorder.h, asm/socket.h, asm/sockios.h, sys/cdefs.h etc. @@ -1243,16 +1249,21 @@ endif =20 CLANG_OPTIONS =3D -Wall CLANG_SYS_INCLUDES =3D $(call get_sys_includes,$(CLANG),$(CLANG_TARGET_ARC= H)) -BPF_INCLUDE :=3D -I$(SKEL_TMP_OUT)/.. -I$(LIBBPF_INCLUDE) $(CLANG_SYS_INCL= UDES) +BPF_INCLUDE :=3D -I$(SKEL_TMP_OUT)/.. $(CLANG_SYS_INCLUDES) +ifneq ($(LIBBPF_INCLUDE),) + BPF_INCLUDE +=3D -I$(LIBBPF_INCLUDE) +endif TOOLS_UAPI_INCLUDE :=3D -I$(srctree)/tools/include/uapi =20 ifneq ($(WERROR),0) CLANG_OPTIONS +=3D -Werror endif =20 +ifneq ($(BUILD_BPFTOOL),) $(BPFTOOL): | $(SKEL_TMP_OUT) $(Q)CFLAGS=3D $(MAKE) -C ../bpf/bpftool \ OUTPUT=3D$(SKEL_TMP_OUT)/ bootstrap +endif =20 # Paths to search for a kernel to generate vmlinux.h from. VMLINUX_BTF_ELF_PATHS ?=3D $(if $(O),$(O)/vmlinux) \ --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (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 D5F93211466 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:24:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531883; cv=none; b=EAHq5sKdhVUVaEJCE9GNtTUsmOFyIrzRw0cCPrwW/oJWDiZZmQGxVcvc0OmgzaVeoP5uvkPs9bhjMbLybbXIA+CrKBlEZLjvYlFLpe8z59K8ggSMawGGR3DubywFqwzamBqCfKaHk8T2GqQ1Zn8FJ6/W5MAwRmB2QfDP7EkPXB0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531883; c=relaxed/simple; bh=pDEY6QUrKKu+6/w+/nx5MSD4U+mmn81kdmBZaMJfAFI=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=nZeZth0Q7UN15jpX8aOksULg53lSyNsTZSDhS0pHpCzZeOApQ8wSl+/oVhyfDjreujoxA6inTi+KRaXT+LJ8O9jF9RLhu0sCndxLBDnRZvEiYuzTlFizdhCMRwti7vkO6PfIe2rJ6yR90jlbj0Vw+e6EiOtMFUsFA+6Au1av1uk= 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=zRGcYc2f; arc=none smtp.client-ip=209.85.216.73 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="zRGcYc2f" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-3054210ce06so9376850a91.2 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:24:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531881; x=1744136681; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=ejyIbF8uM4xzteCjzh4//KGHrg3ytk/YNXw3C8hPSCI=; b=zRGcYc2fA1xyaRkJux0dkHJYTC7ZksiscsUWLfh2o50zDOkq3H2NIvJIgbgIk7O5He 1j5b70bARyUjRe3IFB3DDWAVyD6zxktpZyS7trvvg3snfiN3ylL5x7jz2XqTZJ3EYLjK BY3SLBlDMkXwz6oowKRx4bwz66cUvhpSzqqopaqUvGfJ1Gd+6bAkBonL7XT3XNqNMzNZ cviBtPGHD3w4qZ+OtDYArSD3/pHlTyVqLj/iYm6rQpk+CFtIe2v3/4dVi72d3SzjYBDA tdBakCcVfVtBX2VoZSeUJxka7VFM6raVkFK/pW9m7/WTwJPm2MwbL93/wxRKPV9g+LN7 G8BA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531881; x=1744136681; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ejyIbF8uM4xzteCjzh4//KGHrg3ytk/YNXw3C8hPSCI=; b=ekGp5DBh0wxwq9uQPu3PEKV+GDLY1gkNOJ76u/0biKpiCP+gqY/gN3mm4craK4/fH1 40qYU5r18bMRjRE5opQ3INkkwC6h1u9dHnC9TRn1cBC+AjdyDoc7+FyWOGpcYt9bv5EW J62b+YBPNzBhMEVeaKclHWdO/xlp2Xw+W6+tdg7PmYVKW21zSHZftunCpit2CwpxwhgL UrTDGrINEuREXcc3evN/ESDq9yOA3Jj76Tpnb1A1ucl+oQwKLsg0NP/NT4t5tBlZ77vz ChE2srw9pyHecLUG5Vq+cERIfmqaeMy4KCUXCdAW+KXN8jXzW3enj65eT7tb1j1HK5In tg0w== X-Forwarded-Encrypted: i=1; AJvYcCUJcWztE12muNcnfwXWp8xlL4QH1ilbLc9hDrLvwvyATlGwy/cC1M4QbBqw7G5lqwqEhrjM1sMuzAf6Hho=@vger.kernel.org X-Gm-Message-State: AOJu0Yxyug+Z4blFIkV9zDNWGCAGWz3GxrEs3B+9eznG0G5p/MYpb5ws hgvkiqw6BDMkEVqqo1MpUT+rl0DoTmHAuC8Yr7hCHVPpZP7oiFUpG5uurNILiIFNQy0EBkFO2nb Q8psmDA== X-Google-Smtp-Source: AGHT+IHKgH1xWvHb6WqzhnDdwTyWnZi/5XdVRlBtY5wQp/4b0QnFXY8X8tmjidjtAADQw2pYukFdkyHd+gGs X-Received: from pjbhl3.prod.google.com ([2002:a17:90b:1343:b0:2f4:4222:ebba]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:3909:b0:2ee:9b2c:3253 with SMTP id 98e67ed59e1d1-30532177065mr17860323a91.30.1743531880957; Tue, 01 Apr 2025 11:24:40 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:00 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-3-irogers@google.com> Subject: [PATCH v1 02/48] tools headers: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/include/asm-generic/bitops/fls64.h | 2 +- tools/include/linux/bitfield.h | 2 +- tools/include/linux/bitmap.h | 2 +- tools/include/linux/err.h | 2 +- tools/include/linux/hash.h | 2 +- tools/include/linux/math64.h | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/include/asm-generic/bitops/fls64.h b/tools/include/asm-g= eneric/bitops/fls64.h index 866f2b2304ff..9ad3ff12f454 100644 --- a/tools/include/asm-generic/bitops/fls64.h +++ b/tools/include/asm-generic/bitops/fls64.h @@ -21,7 +21,7 @@ static __always_inline int fls64(__u64 x) __u32 h =3D x >> 32; if (h) return fls(h) + 32; - return fls(x); + return fls((__u32)x); } #elif BITS_PER_LONG =3D=3D 64 static __always_inline int fls64(__u64 x) diff --git a/tools/include/linux/bitfield.h b/tools/include/linux/bitfield.h index 6093fa6db260..aa0b8e52214f 100644 --- a/tools/include/linux/bitfield.h +++ b/tools/include/linux/bitfield.h @@ -146,7 +146,7 @@ static __always_inline __##type type##_encode_bits(base= v, base field) \ { \ if (__builtin_constant_p(v) && (v & ~field_mask(field))) \ __field_overflow(); \ - return to((v & field_mask(field)) * field_multiplier(field)); \ + return to((__##type)((v & field_mask(field)) * field_multiplier(field)));= \ } \ static __always_inline __##type type##_replace_bits(__##type old, \ base val, base field) \ diff --git a/tools/include/linux/bitmap.h b/tools/include/linux/bitmap.h index 2a7f260ef9dc..b7a7c752e4f2 100644 --- a/tools/include/linux/bitmap.h +++ b/tools/include/linux/bitmap.h @@ -63,7 +63,7 @@ static inline bool bitmap_full(const unsigned long *src, = unsigned int nbits) return find_first_zero_bit(src, nbits) =3D=3D nbits; } =20 -static inline unsigned int bitmap_weight(const unsigned long *src, unsigne= d int nbits) +static inline unsigned long bitmap_weight(const unsigned long *src, unsign= ed int nbits) { if (small_const_nbits(nbits)) return hweight_long(*src & BITMAP_LAST_WORD_MASK(nbits)); diff --git a/tools/include/linux/err.h b/tools/include/linux/err.h index 332b983ead1e..9c1746e3696d 100644 --- a/tools/include/linux/err.h +++ b/tools/include/linux/err.h @@ -55,7 +55,7 @@ static inline bool __must_check IS_ERR_OR_NULL(__force co= nst void *ptr) static inline int __must_check PTR_ERR_OR_ZERO(__force const void *ptr) { if (IS_ERR(ptr)) - return PTR_ERR(ptr); + return (int)PTR_ERR(ptr); else return 0; } diff --git a/tools/include/linux/hash.h b/tools/include/linux/hash.h index 38edaa08f862..ecc8296cb397 100644 --- a/tools/include/linux/hash.h +++ b/tools/include/linux/hash.h @@ -75,7 +75,7 @@ static __always_inline u32 hash_64_generic(u64 val, unsig= ned int bits) { #if BITS_PER_LONG =3D=3D 64 /* 64x64-bit multiply is efficient on all 64-bit processors */ - return val * GOLDEN_RATIO_64 >> (64 - bits); + return (u32)(val * GOLDEN_RATIO_64 >> (64 - bits)); #else /* Hash 64 bits using only 32x32-bit multiply. */ return hash_32((u32)val ^ __hash_32(val >> 32), bits); diff --git a/tools/include/linux/math64.h b/tools/include/linux/math64.h index 4ad45d5943dc..03d6c5220957 100644 --- a/tools/include/linux/math64.h +++ b/tools/include/linux/math64.h @@ -48,7 +48,7 @@ static inline u64 mul_u64_u32_shr(u64 a, u32 b, unsigned = int shift) u32 ah, al; u64 ret; =20 - al =3D a; + al =3D (u32)a; ah =3D a >> 32; =20 ret =3D mul_u32_u32(al, b) >> shift; --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) (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 965B821324D for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:24:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531885; cv=none; b=XCB0SGb3siAgV3X/Aw2i5humIqJbVE6kF1DoC5ttAYiHaCMfVKl5auexAUDi2+VHtgglmoBf2Pi4DOsgnqtpV51BVIsZ8SRQ+oT93d+AE8bTj/765uI/WJqH6NI/U7IuogkvtK52xXukMffNZ0ZRk3yBCc3VTgk4adex2eASkqM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531885; c=relaxed/simple; bh=nXp5NVw8ZWXmsMvB5pE9U5xeZ45CVeKd2OU9K5iWouQ=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=bfEcgqhdJ4Zf2Ubb+ixB7R6l1Nbot+j0Q4RNxsgp2Z0r9hODqiBvKMc2Tb/M4nKy71GVFfQZFhh9fhkY0yCy5Ak1QgKRkmd9tTaSIfDe2fuBKxScI29s2w0x1lMw2Q/Y4Ezq5g3mOOVwbclaXzm0yfPqYnBk5GXfyelTmO5YGAY= 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=iMlrtNsR; arc=none smtp.client-ip=209.85.214.201 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="iMlrtNsR" Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-225ab228a37so103521235ad.2 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:24:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531883; x=1744136683; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=bVxTOI2rMy74E5I1GCMK0hz9Q6EgaUNiUbpk59hX6VA=; b=iMlrtNsRhbP1AFW8i2M0ZDfI37nDvLGUEz8dNzq9k4RNH9yM3YjdRDjRXu3TTVTU1F OKBBMjSierR8L//55YAdYPDxhaSVDy7CnbUBlT/RVSyFBJI/WdBrbwCZtDO9bXVCVC/O F4M1Rp8S0mRqXfzdcf8IKmu80iicnc+Li78M2+QyNp0G3KXslaYmnwBMCn6gMhIgTt5J F3b5kHJcfXp7sLChTHiwAHpCoTE1wi5QeaQsXYw9ziUM39DLUadZjuJmTIKTXcVYhHLF bLuSb+0SFedOnwZnoDHHZkOr5JeO56+1EJa3wzBNDbXv0MYvSBlMPrm0ykfgWmMRqSWi wlwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531883; x=1744136683; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=bVxTOI2rMy74E5I1GCMK0hz9Q6EgaUNiUbpk59hX6VA=; b=DMwZfCtgfi4OgBbkeZMcmYIyFXgSsVwWbGF4NzVBI4La+A+PgdXu1FLYUGanF78w/J EbH5hpicxTEa0JvFhT+wYbY6qcI18zZIQ6L+SKm/jgLTOUKghsjAfcb0rPOommywvHzO M1NJ4CM3KUeAAxFHOkkKN19xG2J7rlpm+ewKCNGDGF7Q5TyTND74Kkye5BJv8uUz0Myk vzUyjthphQUPPi4krrxfEaN06YN9w75FruXXOW8Clv75QmvrU5WpTOYdnDQfNVH9tBU+ Vz/A+bqF6B6xXxUO9A8RO+An+l8F2UMaSv7yuplQwi+wSphjhcTfO5F9bx9WDmp8QUOj 10Lg== X-Forwarded-Encrypted: i=1; AJvYcCXbx4S5t/gvaOXbONWwWaico1DbrZM0S0aUcXaOr3hHMKTgGvfX09TY0XjyjRPzuVSsF4u1G4kqYHq1gJ8=@vger.kernel.org X-Gm-Message-State: AOJu0YyUUIZqZwJ12u60Jurv1eH6PbbOjNWqwBELZ9+a2KGFsIm7Cqff OCS5poGE9r7YpD/hQfv/F1RutQylgllbbKQ9VONGVBkAfkKVFXdXXxsoNMqL8GgAiUP3J/1wx6D jZWAB8w== X-Google-Smtp-Source: AGHT+IE/R/FUWdBKFYsppwkRwS7FEQKz3QhCXqgTnVjNJsrzfSerhDPlhvxPM0XuhZf8Dg7Zd48cy0mqhLr/ X-Received: from plck11.prod.google.com ([2002:a17:902:f28b:b0:223:501f:f398]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:da2d:b0:220:fe50:5b44 with SMTP id d9443c01a7336-2292f98769cmr202554215ad.31.1743531882714; Tue, 01 Apr 2025 11:24:42 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:01 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-4-irogers@google.com> Subject: [PATCH v1 03/48] arm64: cputype: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/arch/arm64/include/asm/cputype.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/arch/arm64/include/asm/cputype.h b/tools/arch/arm64/incl= ude/asm/cputype.h index 488f8e751349..d7289b9d2758 100644 --- a/tools/arch/arm64/include/asm/cputype.h +++ b/tools/arch/arm64/include/asm/cputype.h @@ -227,7 +227,7 @@ =20 #include <asm/sysreg.h> =20 -#define read_cpuid(reg) read_sysreg_s(SYS_ ## reg) +#define read_cpuid(reg) ((u32)read_sysreg_s(SYS_ ## reg)) =20 /* * Represent a range of MIDR values for a given CPU model and a --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (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 1FE7F2144CF for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:24:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531886; cv=none; b=Kw6GBXMN//N5rbQ4MzPW8o0fK9qr0A8FJUHrJ6//lO1I6eswziOdKlrupjko3B00DfXNhLwQ0rEd2yJUWf7BFeNeOtLoyParHYlQfTiDDHvkAzI7vRoXHpmNIbXQV/75xlCPNGgWfhQvdTqKF51NlXqyBCzTCrroocgsZ+2M3pI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531886; c=relaxed/simple; bh=guxdRnrTDsKRPLu/puDo9eu9W2e6fcELE5Ljd2OeYKc=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=L1WaMXUnZR1kcD7XlSe8dbazZFInttbTNp6h+oU06OlWS9CXK1RIL1wuPA8qrPz5rKK7LtasjfqanPkTwTbk8Wd0l2ZeyC6kzyzBr2yj25EKtRkQ7INRDpIbqwRFcl+h2Pd/do7KNzY7XBd705GO+05pssvrp1Tm/9FIeLBhX2s= 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=Zfs/So9P; arc=none smtp.client-ip=209.85.216.73 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="Zfs/So9P" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-2ff82dd6de0so8326135a91.0 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:24:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531884; x=1744136684; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=b03QLZJN6J+QLgEpCYYygJKz9Mi0k6OnsOnu/XQ1qHI=; b=Zfs/So9Pwt5J9DeIMtZINfYpukF0HRQE18bqul7TWB+kSp/t4shlk/ZnV6wMzdw3Sq +Un+5zaKKP1VEhI4oWJeUpEUPTL0/wCDJ/ymzXy3nj7kSlUhy+wFu3cFNoFMscQiz/2R MNtsAKAdsUEKmsbFeqxDSGXAg4JLa+ZX+xBr0nodKsAzNLV38jkdQBIJ+xYCau19K/88 G3vdCPTGxsI7aoyiwkXmiBhEPE7+7XxPfjXu7W+qi1cDRMjMeCOdimWIFtkcI8H7p2zW JNVXl8dlqpbdWTRV+i7yPvlzXwKQXg66/oA4BTcKlgGveg4g6dE368i2YjGDSL6wqE81 BPcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531884; x=1744136684; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=b03QLZJN6J+QLgEpCYYygJKz9Mi0k6OnsOnu/XQ1qHI=; b=O2hbYErcaYIWsfakt+1CjNoEZEKEhekwaz9h5zPCLuXMBEw/7K/ST5Fii2QSK9rrZa lKY78Y4KxG7fPRyOs+mGbgFfmYdpPhCyf5KIDVa4iN8GEjmf1ViJuyspcfBESAFl0Vg4 rOCjLh/FZhwecVFKiYTbd0zaeUK31Tr2nUxnSaiO7fV/2QCW1bO/GRSNrfJcf3Ebedbt kGbxBULvI75/vW22PFU+GNb/EA5a1OjcuMs1xL+81Y53c/L706UAd3ayZFWHBsuGycv1 bU4UvftqrTENZcfvP8vuKY6pUeBDoHhQfZf3qYo6os8s9I8JUJU+e6Ms8ZeoHpt0nlnJ dQhg== X-Forwarded-Encrypted: i=1; AJvYcCVOIfbqzB1QBUb1zwJgnEet12M2qIvArEFov2jy3eCSc3jOCP26+MmIb5cHOoG09XWI3x/7w4OqmLiGhDY=@vger.kernel.org X-Gm-Message-State: AOJu0Yww+iz0LgWRKusYFgk3Z1BEIiuJQpatTb1z7p7FMKQqQkb5Prjz 3uUDwTP45WarLMUzvgqlbLfrbFcgXjFd13IMtyTm28mWASiW6nmZIF52E+XmyL/n/w4EIqx8PVp 0WQbPUg== X-Google-Smtp-Source: AGHT+IGBA/7l2Y00mq2tKuHgsoC2Vh7DTpI1vMh/ziPIV8TEof2vJ3kfBxvx6xwbQVY5kq+NVe6D9rLs+nTL X-Received: from pjbos13.prod.google.com ([2002:a17:90b:1ccd:b0:2ff:8471:8e53]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:51cb:b0:301:c5cb:7b13 with SMTP id 98e67ed59e1d1-30531f7c81bmr21841967a91.3.1743531884353; Tue, 01 Apr 2025 11:24:44 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:02 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-5-irogers@google.com> Subject: [PATCH v1 04/48] x86/insn: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/arch/x86/lib/insn.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/arch/x86/lib/insn.c b/tools/arch/x86/lib/insn.c index e91d4c4e1c16..5fa8697498fe 100644 --- a/tools/arch/x86/lib/insn.c +++ b/tools/arch/x86/lib/insn.c @@ -92,7 +92,7 @@ static int __insn_get_emulate_prefix(struct insn *insn, goto err_out; } =20 - insn->emulate_prefix_size =3D len; + insn->emulate_prefix_size =3D (int)len; insn->next_byte +=3D len; =20 return 1; --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) (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 78B4B21577D for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:24:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531889; cv=none; b=KKKhbUawoFKk+sxUOygcD4zcdlU/BO66+MUTsRMkwbw/ApKVWLnTM41+pwyynzsjqeuOsPPs7Qm07hexcEBt+w7yXSngfz/mOzZL11OXdoqwDrlId4x1sTAe7o/Tb26RFssFZHZejuFgftjC3XelGSVpMtgKfNZlx89UN3+g3Mk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531889; c=relaxed/simple; bh=bs+hau3BfGPgjfML6AAaTQNI5hHZ1yXB3kHmZBCp/iY=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=DgQhnRVg8vLrdmysN3KtNKyIUsLABUh4tg4i7o8DcQkm2VuM2pu8foFswROzzjs06rl4aIs6NmJVFRO+XJcuxekUYvHsZbG1D4udUrxvdrw9vu/kuZbeRlbw9TzJHUf6ltUN1iCVzUBOD8BeLtK3SZ8dgY+6QKUNT4dcI8pXdAY= 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=sBpfMxEw; arc=none smtp.client-ip=209.85.214.201 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="sBpfMxEw" Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-2262051205aso84426935ad.3 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:24:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531887; x=1744136687; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=Lwp5jWQnZd0R1nLl4eHrnW+r9QoCXnSEZWGom8Yr2/Q=; b=sBpfMxEwfd1NRT+Y+pAIN3UbmexwO1YefWWSh6dzfKVBdfH5ho7RwVChIKFABnWzpV f0kA0ctbdxzXjbbYXrKxo2YH7+f0TbTars33RzFp9CuhFPHP58ZH3SMrPRbouO6WL4yt /C7zqzT0PoLLZ1DHYDhpeoM7UTK3R4OIoaP3leNYewwzTeq1xGkPB5AOHJo8KBt6ESZo 7bMm9COb95W3S3ocqLz/7ajttBHVcLL/+YiCKWB8nugLX8vtTs2eB7k4YD0kHjB54/lB V5nIPTDkJCy2XTo8uOfJkNaw23sTIkITp2yGq6DyCYs+k2RK01b0opXJUtCp2qCHirDI cxVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531887; x=1744136687; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Lwp5jWQnZd0R1nLl4eHrnW+r9QoCXnSEZWGom8Yr2/Q=; b=CXAn+M3gjGiyWvtmyuQsJmymc3TBMDw0TYLPqp7vShIWhZnKG5BOfoIjGspUZCT4ML 7yMmCeCDaeTVcd+esA2brtZomvS5mDH8WWlcFAUMXkV80kkVkHjXc3RzooXz5tl6Y6TW hqUC/P747thrGYwE7I5ummTZqknhCVdhIbybthY3AGI4sSP3Yga7cNtzKOAY7Z08PJhp nzDaaTSiyYYGN4nGV4ZMM/lCVCF2Y8DxEbprHl4CL8SombWkdjCXpxn+A5SvHWyta0Gc F++ap/1Rn8DyQkcxwGs0tWgvX+6n10Ubigx6gIBiuc8iIPWUo/bZRCFM7BtF2pznCXse enWg== X-Forwarded-Encrypted: i=1; AJvYcCWh2S85YtymNGlIXeiq5EI9KEFanAN8kcPX0/pvrYpI3EVDgCho83r7EDmD80CJj7mCin3nmR+iv+JzYaU=@vger.kernel.org X-Gm-Message-State: AOJu0Yx7ivVyBt3JemDjLU4a188Y88/63IvO6QCR8CYbFsHsr/kZLoTp 2AdNm1M6p2L0MA/K5KDmOJZS0itbdR9p1bIG+TmFvTbvWA4ZZWzJAbXNcO62Gtn5TD9dLRtGaaV trQ/jcg== X-Google-Smtp-Source: AGHT+IFzLtYxGxyTxV1rkwdh9UBSEEBVvK00y1AbRI2exTnDGJCaOS8iSdXoMves7V2W+aK2MyJ5/OHSrlvi X-Received: from plbbh9.prod.google.com ([2002:a17:902:a989:b0:223:49f0:9077]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:d54f:b0:224:584:6f07 with SMTP id d9443c01a7336-2292f9e63damr210311785ad.37.1743531886714; Tue, 01 Apr 2025 11:24:46 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:03 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-6-irogers@google.com> Subject: [PATCH v1 05/48] tools lib: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/lib/api/fs/fs.c | 4 ++-- tools/lib/bitmap.c | 2 +- tools/lib/string.c | 6 +++--- tools/lib/vsprintf.c | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/tools/lib/api/fs/fs.c b/tools/lib/api/fs/fs.c index edec23406dbc..2c4677901de9 100644 --- a/tools/lib/api/fs/fs.c +++ b/tools/lib/api/fs/fs.c @@ -349,7 +349,7 @@ int filename__read_str(const char *filename, char **buf= , size_t *sizep) { struct io io; char bf[128]; - int err; + ssize_t err; =20 io.fd =3D open(filename, O_RDONLY); if (io.fd < 0) @@ -363,7 +363,7 @@ int filename__read_str(const char *filename, char **buf= , size_t *sizep) } else err =3D 0; close(io.fd); - return err; + return (int)err; } =20 int filename__write_int(const char *filename, int value) diff --git a/tools/lib/bitmap.c b/tools/lib/bitmap.c index 2178862bb114..87bd15e3968e 100644 --- a/tools/lib/bitmap.c +++ b/tools/lib/bitmap.c @@ -32,7 +32,7 @@ size_t bitmap_scnprintf(unsigned long *bitmap, unsigned i= nt nbits, char *buf, size_t size) { /* current bit is 'cur', most recently seen range is [rbot, rtop] */ - unsigned int cur, rbot, rtop; + size_t cur, rbot, rtop; bool first =3D true; size_t ret =3D 0; =20 diff --git a/tools/lib/string.c b/tools/lib/string.c index 3126d2cff716..638e75b63538 100644 --- a/tools/lib/string.c +++ b/tools/lib/string.c @@ -182,7 +182,7 @@ char *strreplace(char *s, char old, char new) return s; } =20 -static void *check_bytes8(const u8 *start, u8 value, unsigned int bytes) +static void *check_bytes8(const u8 *start, u8 value, size_t bytes) { while (bytes) { if (*start !=3D value) @@ -206,7 +206,7 @@ void *memchr_inv(const void *start, int c, size_t bytes) { u8 value =3D c; u64 value64; - unsigned int words, prefix; + size_t words, prefix; =20 if (bytes <=3D 16) return check_bytes8(start, value, bytes); @@ -216,7 +216,7 @@ void *memchr_inv(const void *start, int c, size_t bytes) value64 |=3D value64 << 16; value64 |=3D value64 << 32; =20 - prefix =3D (unsigned long)start % 8; + prefix =3D (size_t)start % 8; if (prefix) { u8 *r; =20 diff --git a/tools/lib/vsprintf.c b/tools/lib/vsprintf.c index 8780b4cdab21..62028a5eea7e 100644 --- a/tools/lib/vsprintf.c +++ b/tools/lib/vsprintf.c @@ -8,7 +8,7 @@ int vscnprintf(char *buf, size_t size, const char *fmt, va_= list args) int i =3D vsnprintf(buf, size, fmt, args); ssize_t ssize =3D size; =20 - return (i >=3D ssize) ? (ssize - 1) : i; + return (i >=3D ssize) ? (int)(ssize - 1) : i; } =20 int scnprintf(char * buf, size_t size, const char * fmt, ...) @@ -21,7 +21,7 @@ int scnprintf(char * buf, size_t size, const char * fmt, = ...) i =3D vsnprintf(buf, size, fmt, args); va_end(args); =20 - return (i >=3D ssize) ? (ssize - 1) : i; + return (i >=3D ssize) ? (int)(ssize - 1) : i; } =20 int scnprintf_pad(char * buf, size_t size, const char * fmt, ...) @@ -40,5 +40,5 @@ int scnprintf_pad(char * buf, size_t size, const char * f= mt, ...) buf[i] =3D 0x0; } =20 - return (i >=3D ssize) ? (ssize - 1) : i; + return (i >=3D ssize) ? (int)(ssize - 1) : i; } --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) (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 E3FC221324D for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:24:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531891; cv=none; b=iMDITglWBCr8WWTYhIi2PPi3EyySmhb6QgRYxRImWzSOzXNdqfW+vz7JEl8XWULyIqRk5oVit++W7Sam9m5S9BZMzfjA1QjjpRxSrU2GjfzQykdZ+WKivTgYeaxr1LY0YTrtRfCbHLllc7DkQRy+EAnzRBzRHpf/hW38eF0CMH4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531891; c=relaxed/simple; bh=UjPBLV7TbnnPT+/kicTwlHP6fgTIroQn0v9Gw5imbU8=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=u7t3b+gl8/oOpIfuD2+33pZAzmUR5o+UkirlPUsPdOOd6jeTQ/U9NM6Yd0C9geUgWtSFriKljfS1w13pY0CDlSp66QV7EDpkPHR96GKhlJ3QQameasfu2T9+dcMNtf+w6wkYZIWuOqPjNBtqhmeWafNkKOhW5yVcygfkWdkSWb4= 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=zuGbK2kl; arc=none smtp.client-ip=209.85.214.201 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="zuGbK2kl" Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-2240a96112fso186766815ad.2 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:24:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531889; x=1744136689; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=2X0UycnolpfaNM7suEZJzWVdRugf9Nm4RdXAdNstCu4=; b=zuGbK2klj45FAEILeDcR2Se6C8LsmOP/HErW0moCCv++oK2sgSCBrFm+Qb6tzlgBif Ulnqd+UN8Vp+Of3mZLZNYuU6D0ZQ88MFt6oUWbO7OtUbSRVs3ZbEL6qh+x8JugdylpDC Nx8y1km800Zcj/bLrJN/08jDJCFJaizBLguosu5dHroWA+NtXUcb60LgxnAdSsTFUEyW l/be0IEA0RR4iAwQAphbV0CfZbaETqiPBwQpZFCzADKXoz4Wq4KMg1uPjC5iDh2Pe15o RmBLKD0kO7FDspbTb9vMG+ZeAU+qfhtEuSDZjO3fxd6shFhuorhzzu4wSDuQ2ZfPvGYO XF8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531889; x=1744136689; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=2X0UycnolpfaNM7suEZJzWVdRugf9Nm4RdXAdNstCu4=; b=aRLW4dNe3Mq3pX8VZSQthdcxdsQMUmTqJbCt6YCD9MDtTM/2tOl14piprYZK1s5gAA 0hJR+KmZG7BRs7oc0wpcEXOc1lgV3DFAxB5GNgM6Orrly6q134kY0EqaViTP/3yzKmpq pSt/zJAVX0yN2rOF3ezbXYK9pM1IjUO//uCIbhmaj2/dn4BOOkZ2kqTyynyNK4T85qyl dpUo4tSLc0Lurh6Dn+rOVEHAdK5L6ZzWklSYUKi/XzxjXpksJb1p2kBWPJOfhUm+AA2Z ByLGp1aIW7J8c2kpAItgNvPtPaISBpl7voG2uCQ3oWX67443hVKKGsE1c7bgWd0VlhsD JOgQ== X-Forwarded-Encrypted: i=1; AJvYcCXZYEuR/0wYXObpnI0Nyg1UcmArDXAWJu/mWJscKmId2Jfs3SWUpZfti9WZBmBBeGKAjjjUcXGyR8kJ1UU=@vger.kernel.org X-Gm-Message-State: AOJu0YyBowY2+um+A3Dic3GH3pNU94oEP5vJNg1e56DjmOa9Oh5ufTb/ JmtXgPmp1kyT5lUJWh0DAyXE2ddCULm1tecpue7QyTJyzkcd0gDkUa/DmILu0jFQvL4AHYpn1eU wScB5Pg== X-Google-Smtp-Source: AGHT+IFcJlGHDxS/pygdPOHZDMsvnMP5O+QCssfsPLdDL4QF8GmFujgsnqh4NtMedvXf8NoELXmC5MZgriWH X-Received: from plbbh9.prod.google.com ([2002:a17:902:a989:b0:223:49f0:9077]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:903:228a:b0:223:f9a4:3fb6 with SMTP id d9443c01a7336-2292f9423e1mr222739365ad.11.1743531888834; Tue, 01 Apr 2025 11:24:48 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:04 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-7-irogers@google.com> Subject: [PATCH v1 06/48] libperf: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/lib/perf/cpumap.c | 18 +++++----- tools/lib/perf/evsel.c | 40 +++++++++------------ tools/lib/perf/include/internal/cpumap.h | 2 +- tools/lib/perf/include/internal/evsel.h | 2 +- tools/lib/perf/include/internal/lib.h | 2 +- tools/lib/perf/include/internal/mmap.h | 4 +-- tools/lib/perf/include/internal/threadmap.h | 2 +- tools/lib/perf/include/internal/xyarray.h | 8 ++--- tools/lib/perf/include/perf/cpumap.h | 3 +- tools/lib/perf/lib.c | 2 +- tools/lib/perf/mmap.c | 13 ++++--- tools/lib/perf/threadmap.c | 4 +-- tools/lib/perf/xyarray.c | 2 +- 13 files changed, 46 insertions(+), 56 deletions(-) diff --git a/tools/lib/perf/cpumap.c b/tools/lib/perf/cpumap.c index 4454a5987570..37d94911449b 100644 --- a/tools/lib/perf/cpumap.c +++ b/tools/lib/perf/cpumap.c @@ -20,7 +20,7 @@ void perf_cpu_map__set_nr(struct perf_cpu_map *map, int n= r_cpus) RC_CHK_ACCESS(map)->nr =3D nr_cpus; } =20 -struct perf_cpu_map *perf_cpu_map__alloc(int nr_cpus) +struct perf_cpu_map *perf_cpu_map__alloc(size_t nr_cpus) { RC_STRUCT(perf_cpu_map) *cpus; struct perf_cpu_map *result; @@ -30,7 +30,7 @@ struct perf_cpu_map *perf_cpu_map__alloc(int nr_cpus) =20 cpus =3D malloc(sizeof(*cpus) + sizeof(struct perf_cpu) * nr_cpus); if (ADD_RC_CHK(result, cpus)) { - cpus->nr =3D nr_cpus; + cpus->nr =3D (int)nr_cpus; refcount_set(&cpus->refcnt, 1); } return result; @@ -78,7 +78,7 @@ void perf_cpu_map__put(struct perf_cpu_map *map) static struct perf_cpu_map *cpu_map__new_sysconf(void) { struct perf_cpu_map *cpus; - int nr_cpus, nr_cpus_conf; + size_t nr_cpus, nr_cpus_conf; =20 nr_cpus =3D sysconf(_SC_NPROCESSORS_ONLN); if (nr_cpus < 0) @@ -86,15 +86,13 @@ static struct perf_cpu_map *cpu_map__new_sysconf(void) =20 nr_cpus_conf =3D sysconf(_SC_NPROCESSORS_CONF); if (nr_cpus !=3D nr_cpus_conf) { - pr_warning("Number of online CPUs (%d) differs from the number configure= d (%d) the CPU map will only cover the first %d CPUs.", + pr_warning("Number of online CPUs (%zu) differs from the number configur= ed (%zu) the CPU map will only cover the first %zu CPUs.", nr_cpus, nr_cpus_conf, nr_cpus); } =20 cpus =3D perf_cpu_map__alloc(nr_cpus); if (cpus !=3D NULL) { - int i; - - for (i =3D 0; i < nr_cpus; ++i) + for (size_t i =3D 0; i < nr_cpus; ++i) RC_CHK_ACCESS(cpus)->map[i].cpu =3D i; } =20 @@ -132,7 +130,7 @@ static int cmp_cpu(const void *a, const void *b) return cpu_a->cpu - cpu_b->cpu; } =20 -static struct perf_cpu __perf_cpu_map__cpu(const struct perf_cpu_map *cpus= , int idx) +static struct perf_cpu __perf_cpu_map__cpu(const struct perf_cpu_map *cpus= , size_t idx) { return RC_CHK_ACCESS(cpus)->map[idx]; } @@ -247,13 +245,13 @@ static int __perf_cpu_map__nr(const struct perf_cpu_m= ap *cpus) return RC_CHK_ACCESS(cpus)->nr; } =20 -struct perf_cpu perf_cpu_map__cpu(const struct perf_cpu_map *cpus, int idx) +struct perf_cpu perf_cpu_map__cpu(const struct perf_cpu_map *cpus, size_t = idx) { struct perf_cpu result =3D { .cpu =3D -1 }; =20 - if (cpus && idx < __perf_cpu_map__nr(cpus)) + if (cpus && idx < (size_t)__perf_cpu_map__nr(cpus)) return __perf_cpu_map__cpu(cpus, idx); =20 return result; diff --git a/tools/lib/perf/evsel.c b/tools/lib/perf/evsel.c index c475319e2e41..d647ca25a6db 100644 --- a/tools/lib/perf/evsel.c +++ b/tools/lib/perf/evsel.c @@ -71,7 +71,7 @@ int perf_evsel__alloc_fd(struct perf_evsel *evsel, int nc= pus, int nthreads) return evsel->fd !=3D NULL ? 0 : -ENOMEM; } =20 -static int perf_evsel__alloc_mmap(struct perf_evsel *evsel, int ncpus, int= nthreads) +static int perf_evsel__alloc_mmap(struct perf_evsel *evsel, size_t ncpus, = size_t nthreads) { evsel->mmap =3D xyarray__new(ncpus, nthreads, sizeof(struct perf_mmap)); =20 @@ -83,7 +83,7 @@ sys_perf_event_open(struct perf_event_attr *attr, pid_t pid, struct perf_cpu cpu, int group_fd, unsigned long flags) { - return syscall(__NR_perf_event_open, attr, pid, cpu.cpu, group_fd, flags); + return (int)syscall(__NR_perf_event_open, attr, pid, cpu.cpu, group_fd, f= lags); } =20 static int get_group_fd(struct perf_evsel *evsel, int cpu_map_idx, int thr= ead, int *group_fd) @@ -179,11 +179,9 @@ int perf_evsel__open(struct perf_evsel *evsel, struct = perf_cpu_map *cpus, return err; } =20 -static void perf_evsel__close_fd_cpu(struct perf_evsel *evsel, int cpu_map= _idx) +static void perf_evsel__close_fd_cpu(struct perf_evsel *evsel, size_t cpu_= map_idx) { - int thread; - - for (thread =3D 0; thread < xyarray__max_y(evsel->fd); ++thread) { + for (size_t thread =3D 0; thread < xyarray__max_y(evsel->fd); ++thread) { int *fd =3D FD(evsel, cpu_map_idx, thread); =20 if (fd && *fd >=3D 0) { @@ -195,7 +193,7 @@ static void perf_evsel__close_fd_cpu(struct perf_evsel = *evsel, int cpu_map_idx) =20 void perf_evsel__close_fd(struct perf_evsel *evsel) { - for (int idx =3D 0; idx < xyarray__max_x(evsel->fd); idx++) + for (size_t idx =3D 0; idx < xyarray__max_x(evsel->fd); idx++) perf_evsel__close_fd_cpu(evsel, idx); } =20 @@ -224,13 +222,11 @@ void perf_evsel__close_cpu(struct perf_evsel *evsel, = int cpu_map_idx) =20 void perf_evsel__munmap(struct perf_evsel *evsel) { - int idx, thread; - if (evsel->fd =3D=3D NULL || evsel->mmap =3D=3D NULL) return; =20 - for (idx =3D 0; idx < xyarray__max_x(evsel->fd); idx++) { - for (thread =3D 0; thread < xyarray__max_y(evsel->fd); thread++) { + for (size_t idx =3D 0; idx < xyarray__max_x(evsel->fd); idx++) { + for (size_t thread =3D 0; thread < xyarray__max_y(evsel->fd); thread++) { int *fd =3D FD(evsel, idx, thread); =20 if (fd =3D=3D NULL || *fd < 0) @@ -246,7 +242,7 @@ void perf_evsel__munmap(struct perf_evsel *evsel) =20 int perf_evsel__mmap(struct perf_evsel *evsel, int pages) { - int ret, idx, thread; + int ret; struct perf_mmap_param mp =3D { .prot =3D PROT_READ | PROT_WRITE, .mask =3D (pages * page_size) - 1, @@ -258,8 +254,8 @@ int perf_evsel__mmap(struct perf_evsel *evsel, int page= s) if (perf_evsel__alloc_mmap(evsel, xyarray__max_x(evsel->fd), xyarray__max= _y(evsel->fd)) < 0) return -ENOMEM; =20 - for (idx =3D 0; idx < xyarray__max_x(evsel->fd); idx++) { - for (thread =3D 0; thread < xyarray__max_y(evsel->fd); thread++) { + for (size_t idx =3D 0; idx < xyarray__max_x(evsel->fd); idx++) { + for (size_t thread =3D 0; thread < xyarray__max_y(evsel->fd); thread++) { int *fd =3D FD(evsel, idx, thread); struct perf_mmap *map; struct perf_cpu cpu =3D perf_cpu_map__cpu(evsel->cpus, idx); @@ -415,7 +411,7 @@ int perf_evsel__read(struct perf_evsel *evsel, int cpu_= map_idx, int thread, } =20 static int perf_evsel__ioctl(struct perf_evsel *evsel, int ioc, void *arg, - int cpu_map_idx, int thread) + size_t cpu_map_idx, size_t thread) { int *fd =3D FD(evsel, cpu_map_idx, thread); =20 @@ -427,11 +423,9 @@ static int perf_evsel__ioctl(struct perf_evsel *evsel,= int ioc, void *arg, =20 static int perf_evsel__run_ioctl(struct perf_evsel *evsel, int ioc, void *arg, - int cpu_map_idx) + size_t cpu_map_idx) { - int thread; - - for (thread =3D 0; thread < xyarray__max_y(evsel->fd); thread++) { + for (size_t thread =3D 0; thread < xyarray__max_y(evsel->fd); thread++) { int err =3D perf_evsel__ioctl(evsel, ioc, arg, cpu_map_idx, thread); =20 if (err) @@ -463,10 +457,9 @@ int perf_evsel__enable_thread(struct perf_evsel *evsel= , int thread) =20 int perf_evsel__enable(struct perf_evsel *evsel) { - int i; int err =3D 0; =20 - for (i =3D 0; i < xyarray__max_x(evsel->fd) && !err; i++) + for (size_t i =3D 0; i < xyarray__max_x(evsel->fd) && !err; i++) err =3D perf_evsel__run_ioctl(evsel, PERF_EVENT_IOC_ENABLE, NULL, i); return err; } @@ -478,10 +471,9 @@ int perf_evsel__disable_cpu(struct perf_evsel *evsel, = int cpu_map_idx) =20 int perf_evsel__disable(struct perf_evsel *evsel) { - int i; int err =3D 0; =20 - for (i =3D 0; i < xyarray__max_x(evsel->fd) && !err; i++) + for (size_t i =3D 0; i < xyarray__max_x(evsel->fd) && !err; i++) err =3D perf_evsel__run_ioctl(evsel, PERF_EVENT_IOC_DISABLE, NULL, i); return err; } @@ -512,7 +504,7 @@ struct perf_event_attr *perf_evsel__attr(struct perf_ev= sel *evsel) return &evsel->attr; } =20 -int perf_evsel__alloc_id(struct perf_evsel *evsel, int ncpus, int nthreads) +int perf_evsel__alloc_id(struct perf_evsel *evsel, size_t ncpus, size_t nt= hreads) { if (ncpus =3D=3D 0 || nthreads =3D=3D 0) return 0; diff --git a/tools/lib/perf/include/internal/cpumap.h b/tools/lib/perf/incl= ude/internal/cpumap.h index e2be2d17c32b..624c8163cc84 100644 --- a/tools/lib/perf/include/internal/cpumap.h +++ b/tools/lib/perf/include/internal/cpumap.h @@ -21,7 +21,7 @@ DECLARE_RC_STRUCT(perf_cpu_map) { struct perf_cpu map[]; }; =20 -struct perf_cpu_map *perf_cpu_map__alloc(int nr_cpus); +struct perf_cpu_map *perf_cpu_map__alloc(size_t nr_cpus); int perf_cpu_map__idx(const struct perf_cpu_map *cpus, struct perf_cpu cpu= ); bool perf_cpu_map__is_subset(const struct perf_cpu_map *a, const struct pe= rf_cpu_map *b); =20 diff --git a/tools/lib/perf/include/internal/evsel.h b/tools/lib/perf/inclu= de/internal/evsel.h index ea78defa77d0..ed04a5d4b032 100644 --- a/tools/lib/perf/include/internal/evsel.h +++ b/tools/lib/perf/include/internal/evsel.h @@ -139,7 +139,7 @@ void perf_evsel__free_fd(struct perf_evsel *evsel); int perf_evsel__read_size(struct perf_evsel *evsel); int perf_evsel__apply_filter(struct perf_evsel *evsel, const char *filter); =20 -int perf_evsel__alloc_id(struct perf_evsel *evsel, int ncpus, int nthreads= ); +int perf_evsel__alloc_id(struct perf_evsel *evsel, size_t ncpus, size_t nt= hreads); void perf_evsel__free_id(struct perf_evsel *evsel); =20 bool perf_evsel__attr_has_per_thread_sample_period(struct perf_evsel *evse= l); diff --git a/tools/lib/perf/include/internal/lib.h b/tools/lib/perf/include= /internal/lib.h index 85471a4b900f..60253b81699f 100644 --- a/tools/lib/perf/include/internal/lib.h +++ b/tools/lib/perf/include/internal/lib.h @@ -4,7 +4,7 @@ =20 #include <sys/types.h> =20 -extern unsigned int page_size; +extern size_t page_size; =20 ssize_t readn(int fd, void *buf, size_t n); ssize_t writen(int fd, const void *buf, size_t n); diff --git a/tools/lib/perf/include/internal/mmap.h b/tools/lib/perf/includ= e/internal/mmap.h index 5f08cab61ece..4780691c65f3 100644 --- a/tools/lib/perf/include/internal/mmap.h +++ b/tools/lib/perf/include/internal/mmap.h @@ -23,7 +23,7 @@ typedef void (*libperf_unmap_cb_t)(struct perf_mmap *map); */ struct perf_mmap { void *base; - int mask; + size_t mask; int fd; struct perf_cpu cpu; refcount_t refcnt; @@ -40,7 +40,7 @@ struct perf_mmap { =20 struct perf_mmap_param { int prot; - int mask; + size_t mask; }; =20 size_t perf_mmap__mmap_len(struct perf_mmap *map); diff --git a/tools/lib/perf/include/internal/threadmap.h b/tools/lib/perf/i= nclude/internal/threadmap.h index df748baf9eda..c223432be7a5 100644 --- a/tools/lib/perf/include/internal/threadmap.h +++ b/tools/lib/perf/include/internal/threadmap.h @@ -18,6 +18,6 @@ struct perf_thread_map { struct thread_map_data map[]; }; =20 -struct perf_thread_map *perf_thread_map__realloc(struct perf_thread_map *m= ap, int nr); +struct perf_thread_map *perf_thread_map__realloc(struct perf_thread_map *m= ap, size_t nr); =20 #endif /* __LIBPERF_INTERNAL_THREADMAP_H */ diff --git a/tools/lib/perf/include/internal/xyarray.h b/tools/lib/perf/inc= lude/internal/xyarray.h index f10af3da7b21..f8f6e1facf91 100644 --- a/tools/lib/perf/include/internal/xyarray.h +++ b/tools/lib/perf/include/internal/xyarray.h @@ -14,11 +14,11 @@ struct xyarray { char contents[] __aligned(8); }; =20 -struct xyarray *xyarray__new(int xlen, int ylen, size_t entry_size); +struct xyarray *xyarray__new(size_t xlen, size_t ylen, size_t entry_size); void xyarray__delete(struct xyarray *xy); void xyarray__reset(struct xyarray *xy); =20 -static inline void *__xyarray__entry(struct xyarray *xy, int x, int y) +static inline void *__xyarray__entry(struct xyarray *xy, size_t x, size_t = y) { return &xy->contents[x * xy->row_size + y * xy->entry_size]; } @@ -30,12 +30,12 @@ static inline void *xyarray__entry(struct xyarray *xy, = size_t x, size_t y) return __xyarray__entry(xy, x, y); } =20 -static inline int xyarray__max_y(struct xyarray *xy) +static inline size_t xyarray__max_y(struct xyarray *xy) { return xy->max_y; } =20 -static inline int xyarray__max_x(struct xyarray *xy) +static inline size_t xyarray__max_x(struct xyarray *xy) { return xy->max_x; } diff --git a/tools/lib/perf/include/perf/cpumap.h b/tools/lib/perf/include/= perf/cpumap.h index 8c1ab0f9194e..51bf70f639ad 100644 --- a/tools/lib/perf/include/perf/cpumap.h +++ b/tools/lib/perf/include/perf/cpumap.h @@ -5,6 +5,7 @@ #include <perf/core.h> #include <stdbool.h> #include <stdint.h> +#include <stdlib.h> =20 /** A wrapper around a CPU to avoid confusion with the perf_cpu_map's map'= s indices. */ struct perf_cpu { @@ -47,7 +48,7 @@ LIBPERF_API void perf_cpu_map__put(struct perf_cpu_map *m= ap); * perf_cpu_map__cpu - get the CPU value at the given index. Returns -1 if= index * is invalid. */ -LIBPERF_API struct perf_cpu perf_cpu_map__cpu(const struct perf_cpu_map *c= pus, int idx); +LIBPERF_API struct perf_cpu perf_cpu_map__cpu(const struct perf_cpu_map *c= pus, size_t idx); /** * perf_cpu_map__nr - for an empty map returns 1, as perf_cpu_map__cpu ret= urns a * cpu of -1 for an invalid index, this makes an empty = map diff --git a/tools/lib/perf/lib.c b/tools/lib/perf/lib.c index 696fb0ea67c6..b759f9caee7a 100644 --- a/tools/lib/perf/lib.c +++ b/tools/lib/perf/lib.c @@ -5,7 +5,7 @@ #include <linux/kernel.h> #include <internal/lib.h> =20 -unsigned int page_size; +size_t page_size; =20 static ssize_t ion(bool is_read, int fd, void *buf, size_t n) { diff --git a/tools/lib/perf/mmap.c b/tools/lib/perf/mmap.c index c1a51d925e0e..3af5150f6ccf 100644 --- a/tools/lib/perf/mmap.c +++ b/tools/lib/perf/mmap.c @@ -109,11 +109,11 @@ void perf_mmap__consume(struct perf_mmap *map) perf_mmap__put(map); } =20 -static int overwrite_rb_find_range(void *buf, int mask, u64 *start, u64 *e= nd) +static int overwrite_rb_find_range(void *buf, size_t mask, u64 *start, u64= *end) { struct perf_event_header *pheader; u64 evt_head =3D *start; - int size =3D mask + 1; + size_t size =3D mask + 1; =20 pr_debug2("%s: buf=3D%p, start=3D%"PRIx64"\n", __func__, buf, *start); pheader =3D (struct perf_event_header *)(buf + (*start & mask)); @@ -157,7 +157,7 @@ static int __perf_mmap__read_init(struct perf_mmap *md) if ((md->end - md->start) < md->flush) return -EAGAIN; =20 - size =3D md->end - md->start; + size =3D (unsigned long)(md->end - md->start); if (size > (unsigned long)(md->mask) + 1) { if (!md->overwrite) { WARN_ONCE(1, "failed to keep up with mmap data. (warn only once)\n"); @@ -212,7 +212,7 @@ static union perf_event *perf_mmap__read(struct perf_mm= ap *map, { unsigned char *data =3D map->base + page_size; union perf_event *event =3D NULL; - int diff =3D end - *startp; + s64 diff =3D end - *startp; =20 if (diff >=3D (int)sizeof(event->header)) { size_t size; @@ -228,8 +228,7 @@ static union perf_event *perf_mmap__read(struct perf_mm= ap *map, * be inside due to u64 alignment of output. */ if ((*startp & map->mask) + size !=3D ((*startp + size) & map->mask)) { - unsigned int offset =3D *startp; - unsigned int len =3D size, cpy; + u64 offset =3D *startp, len =3D size, cpy; void *dst =3D map->event_copy; =20 if (size > map->event_copy_sz) { @@ -242,7 +241,7 @@ static union perf_event *perf_mmap__read(struct perf_mm= ap *map, =20 do { cpy =3D min(map->mask + 1 - (offset & map->mask), len); - memcpy(dst, &data[offset & map->mask], cpy); + memcpy(dst, &data[offset & map->mask], (size_t)cpy); offset +=3D cpy; dst +=3D cpy; len -=3D cpy; diff --git a/tools/lib/perf/threadmap.c b/tools/lib/perf/threadmap.c index 07968f3ea093..21c50737bbc2 100644 --- a/tools/lib/perf/threadmap.c +++ b/tools/lib/perf/threadmap.c @@ -7,7 +7,7 @@ #include <asm/bug.h> #include <stdio.h> =20 -static void perf_thread_map__reset(struct perf_thread_map *map, int start,= int nr) +static void perf_thread_map__reset(struct perf_thread_map *map, size_t sta= rt, size_t nr) { size_t size =3D (nr - start) * sizeof(map->map[0]); =20 @@ -15,7 +15,7 @@ static void perf_thread_map__reset(struct perf_thread_map= *map, int start, int n map->err_thread =3D -1; } =20 -struct perf_thread_map *perf_thread_map__realloc(struct perf_thread_map *m= ap, int nr) +struct perf_thread_map *perf_thread_map__realloc(struct perf_thread_map *m= ap, size_t nr) { size_t size =3D sizeof(*map) + sizeof(map->map[0]) * nr; int start =3D map ? map->nr : 0; diff --git a/tools/lib/perf/xyarray.c b/tools/lib/perf/xyarray.c index dcd901d154bb..35b2088da9c4 100644 --- a/tools/lib/perf/xyarray.c +++ b/tools/lib/perf/xyarray.c @@ -4,7 +4,7 @@ #include <stdlib.h> #include <string.h> =20 -struct xyarray *xyarray__new(int xlen, int ylen, size_t entry_size) +struct xyarray *xyarray__new(size_t xlen, size_t ylen, size_t entry_size) { size_t row_size =3D ylen * entry_size; struct xyarray *xy =3D zalloc(sizeof(*xy) + xlen * row_size); --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-oa1-f74.google.com (mail-oa1-f74.google.com [209.85.160.74]) (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 2904A21B199 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:24:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531893; cv=none; b=CnXpq1T6qDaxE5C/zVBI9rpvR2THLJ4scM1szqWUVOWBNwU72MjlavQmOglM34DWi3kL8kdOL+iLYzg/8VKVsX3H3iwFFm7NrDUy3+UW7GJB1JJSEXRrPe3JQ+wnSvFCgN2EiQUDUEArlaiAPPgAMzlxEohexxwO35bZ306lZIw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531893; c=relaxed/simple; bh=0P58XmLkpByBZvdI5TWdtrNeDfsj05v0r9rxb/JMquo=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=kA1g+o/KwMst8H1GGuLXGx3L2i8St5NmcQHeAisarbUsKtQ32iroASZfuUYjJdAJU0yrlTOSd6v3HetgzTiD508vDhLTkIrNjfGa/ty2KhGH/ZkA8sWcdVvEReavabsC9NhXypoR4qY+MmAP+6w1moAWdq4ZMvTZ5BswK6JQlFk= 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=RUeNIbkc; arc=none smtp.client-ip=209.85.160.74 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="RUeNIbkc" Received: by mail-oa1-f74.google.com with SMTP id 586e51a60fabf-2c24c595a08so4162804fac.3 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:24:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531891; x=1744136691; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=J47yx8VBSVt15VBEKEnq1pVWwRSrja1JAZojE6DwMo8=; b=RUeNIbkccYmEtcHNR0OECELDLaz1sS0ZlZGsws4t8c6EpNb6GK0eYy6jYdcVyELeWq DUScYSXFBRqy2F66VbZDlS0itZYkWUT1cdPfB+4ydZF9iGKlmJ46im6KdZjilUX8/1GY zt1eo0JVWQuZLSNFzLI+vrFxkrgLpGT2V+UhzjtJX9whwu/RmmlWLkmOfTUzVzlF+AkK q9wB7chFLoC73RRNWEfK2/tL5QSuVIPL95D0tQy08sEYJHlYNu6Ceidw82zWwMGjhftB uIZlxaqTS4VlBn8Sq2Yl7Cc47Z1wg79MJ3dgdla146FeqMTjbtEXbNnuq0wDidC1+YTt RSKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531891; x=1744136691; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=J47yx8VBSVt15VBEKEnq1pVWwRSrja1JAZojE6DwMo8=; b=ib+jLNhR3FVGdFOoAQ2odchgu1r8YVI7O7xTA3j/mrM9KCLPf+dFhnbrJg3L8R/BiW aQeSToalcoWxYUBb+bW5fg6GR6FeavBKPoofgmSvtZwxses3aY+MI9oErkoz8Z1lG4RZ kG+0hW9LOmv2xuC8vwhmaycC2+WqK/L/Ze+DsDCHzUOUxgnG4Cz/hyEcvEwlILK7AMLh 6ShOXjTq2oNj4EAqg7QMcepavhJ8mCFUjuOUIGzarA9/FqAC8o2ehaIEhly6v+pWkBag 7Td6p+OHiQz9UjieIcDosb/eAuVNklvsPHaYbnAul3fcg28d28ivcDoTIGK0cUfuoWls A8Ow== X-Forwarded-Encrypted: i=1; AJvYcCUQo03eAupjUKsvkiDfH790AmsY+jHHLQF4/j3CKq4fQ6pTap7CMTvxfiqTsi3fj3avAqd2TAASRujonjE=@vger.kernel.org X-Gm-Message-State: AOJu0Yz5ndjeM/UiROFHbUNhygPCXwUAinAtlOtH4AT5sOWSjya/q94v 9zuC4rY8HyuYNJw9EX+aR9pCHpGmTC+7DiTERYL38dbpmepHI2w3UDKCF22mgj5Hf9h1KsKkSul rWzQPkg== X-Google-Smtp-Source: AGHT+IFbktdPc4EqMVUHFkxbKhOxMWhYPSzPPMPttQJuIG02RbiHk4MphqSQaB7uAgigA6m1vE8+hZ5rQgVO X-Received: from oabwh31.prod.google.com ([2002:a05:6871:a69f:b0:2ba:b7af:e2be]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6870:6120:b0:2b6:16f7:6488 with SMTP id 586e51a60fabf-2cbcf7e0959mr8992443fac.34.1743531891042; Tue, 01 Apr 2025 11:24:51 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:05 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-8-irogers@google.com> Subject: [PATCH v1 07/48] tools subcmd: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Move mput_char out of header file to its only use in help.c, while changing its argument types. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/lib/subcmd/help.c | 28 ++++++++++++++++------------ tools/lib/subcmd/help.h | 6 ------ tools/lib/subcmd/parse-options.c | 16 ++++++++-------- 3 files changed, 24 insertions(+), 26 deletions(-) diff --git a/tools/lib/subcmd/help.c b/tools/lib/subcmd/help.c index 8561b0f01a24..555b91ada0f9 100644 --- a/tools/lib/subcmd/help.c +++ b/tools/lib/subcmd/help.c @@ -125,13 +125,11 @@ static void get_term_dimensions(struct winsize *ws) ws->ws_col =3D 80; } =20 -static void pretty_print_string_list(struct cmdnames *cmds, int longest) +static void pretty_print_string_list(struct cmdnames *cmds, size_t longest) { - int cols =3D 1, rows; - int space =3D longest + 1; /* min 1 SP between words */ + size_t cols =3D 1, rows, max_cols; + size_t space =3D longest + 1; /* min 1 SP between words */ struct winsize win; - int max_cols; - int i, j; =20 get_term_dimensions(&win); max_cols =3D win.ws_col - 1; /* don't print *on* the edge */ @@ -140,12 +138,12 @@ static void pretty_print_string_list(struct cmdnames = *cmds, int longest) cols =3D max_cols / space; rows =3D (cmds->cnt + cols - 1) / cols; =20 - for (i =3D 0; i < rows; i++) { + for (size_t i =3D 0; i < rows; i++) { printf(" "); =20 - for (j =3D 0; j < cols; j++) { - unsigned int n =3D j * rows + i; - unsigned int size =3D space; + for (size_t j =3D 0; j < cols; j++) { + size_t n =3D j * rows + i; + int size =3D (int)space; =20 if (n >=3D cmds->cnt) break; @@ -180,7 +178,7 @@ static void list_commands_in_dir(struct cmdnames *cmds, const char *path, const char *prefix) { - int prefix_len; + size_t prefix_len; DIR *dir =3D opendir(path); struct dirent *de; char *buf =3D NULL; @@ -194,7 +192,7 @@ static void list_commands_in_dir(struct cmdnames *cmds, astrcatf(&buf, "%s/", path); =20 while ((de =3D readdir(dir)) !=3D NULL) { - int entlen; + size_t entlen; =20 if (!strstarts(de->d_name, prefix)) continue; @@ -250,10 +248,16 @@ void load_command_list(const char *prefix, exclude_cmds(other_cmds, main_cmds); } =20 +static void mput_char(char c, size_t num) +{ + while (num--) + putchar(c); +} + void list_commands(const char *title, struct cmdnames *main_cmds, struct cmdnames *other_cmds) { - unsigned int i, longest =3D 0; + size_t i, longest =3D 0; =20 for (i =3D 0; i < main_cmds->cnt; i++) if (longest < main_cmds->names[i]->len) diff --git a/tools/lib/subcmd/help.h b/tools/lib/subcmd/help.h index 355c066c8d49..258b3a143cbc 100644 --- a/tools/lib/subcmd/help.h +++ b/tools/lib/subcmd/help.h @@ -14,12 +14,6 @@ struct cmdnames { } **names; }; =20 -static inline void mput_char(char c, unsigned int num) -{ - while(num--) - putchar(c); -} - void load_command_list(const char *prefix, struct cmdnames *main_cmds, struct cmdnames *other_cmds); diff --git a/tools/lib/subcmd/parse-options.c b/tools/lib/subcmd/parse-opti= ons.c index 555d617c1f50..add46b81a131 100644 --- a/tools/lib/subcmd/parse-options.c +++ b/tools/lib/subcmd/parse-options.c @@ -201,7 +201,7 @@ static int get_value(struct parse_opt_ctx_t *p, return 0; =20 case OPTION_SET_UINT: - *(unsigned int *)opt->value =3D unset ? 0 : opt->defval; + *(unsigned int *)opt->value =3D unset ? 0 : (unsigned int)opt->defval; return 0; =20 case OPTION_SET_PTR: @@ -256,12 +256,12 @@ static int get_value(struct parse_opt_ctx_t *p, return 0; } if (opt->flags & PARSE_OPT_OPTARG && !p->opt) { - *(int *)opt->value =3D opt->defval; + *(int *)opt->value =3D (int)opt->defval; return 0; } if (get_arg(p, opt, flags, &arg)) return -1; - *(int *)opt->value =3D strtol(arg, (char **)&s, 10); + *(int *)opt->value =3D (int)strtol(arg, (char **)&s, 10); if (*s) return opterror(opt, "expects a numerical value", flags); return 0; @@ -272,14 +272,14 @@ static int get_value(struct parse_opt_ctx_t *p, return 0; } if (opt->flags & PARSE_OPT_OPTARG && !p->opt) { - *(unsigned int *)opt->value =3D opt->defval; + *(unsigned int *)opt->value =3D (unsigned int)opt->defval; return 0; } if (get_arg(p, opt, flags, &arg)) return -1; if (arg[0] =3D=3D '-') return opterror(opt, "expects an unsigned numerical value", flags); - *(unsigned int *)opt->value =3D strtol(arg, (char **)&s, 10); + *(unsigned int *)opt->value =3D (unsigned int)strtol(arg, (char **)&s, 1= 0); if (*s) return opterror(opt, "expects a numerical value", flags); return 0; @@ -770,9 +770,9 @@ static void print_option_help(const struct option *opts= , int full) break; } =20 - if (pos <=3D USAGE_OPTS_WIDTH) - pad =3D USAGE_OPTS_WIDTH - pos; - else { + if (pos <=3D USAGE_OPTS_WIDTH) { + pad =3D (int)(USAGE_OPTS_WIDTH - pos); + } else { fputc('\n', stderr); pad =3D USAGE_OPTS_WIDTH; } --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.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 BA7762116FA for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:24:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531895; cv=none; b=uaR+/u5gF0ZIaYYg90Y7FdQrESLaC6xHlOrfm2/dhLEGMI2WX9e7jWhFnrMcbF88jfbZEl/4JJHi/iRzuePegbKJKX26oOpZWJ6F+h93K3z0ZTC+WrVpn4g6GZYLOi5fUkMObXoqeWE2Dx1U98q3hz2KvMZ1YL1vpfADEYqhh0U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531895; c=relaxed/simple; bh=evtKcJO6JgreVhXQ519ZpEqcukEoNZa/Zt1QGZHfhNE=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=G9y5Pxzf1wWcKj6w2hVgBEWJZY+9tS/OJlen40LtOfR8bVb+r/4FtGFccg5E39mxmpyjvyWI+JkN7EB3R4vcYg/BrssBxssGmi6XpATXQ4zazPPt2sLSyNaklwTyHZobZ+2NUPI4iuI+xy6/UIWgwyhUfcuPqHCgP0VoYiTZm2A= 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=BHlkfEaR; arc=none smtp.client-ip=209.85.214.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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="BHlkfEaR" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-22647ff3cf5so95124335ad.0 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:24:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531893; x=1744136693; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=G+pFNUFuvg3sBu986hGcTsi3XWrtdH4pSJphzXQPDGw=; b=BHlkfEaRDmu+vRulq/hRCDvs+m8nLCe9LQWMfKX+OAqidq/3mkLYxmfJ7VucK+bssY 8VG8sqQ6Dwu+51yJX2scY7j9YhSxBs4CBN+Nvyf9xs4JpuOxm2V8UZVuzxrstroVGvQv ls76lBCTY0Aibo2PlRoxYCNIrL9U6ZDaPAxqPFWS4IYA2mXwV+2oa/2MEyL71T0vtuAg anmYYBdRYW0lhrmtADcAp2YNu8OKDJbVP0u9jmdJ86j7SP5H/3WpQ/OTfSVzExr0NP0m wStG/tqs/ZiILm+6fACYKlNQWIwA4DIDu1XraHCWEVCMCGsakb/Bkflbt9LuSL3kIZVn TA6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531893; x=1744136693; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=G+pFNUFuvg3sBu986hGcTsi3XWrtdH4pSJphzXQPDGw=; b=w06fWgcik39tfy8fauvAeuxGf2e+MU7zwRi8S8xu/q8qIBRfIy1HbLqyPwS5QbmYBY wiFJJVHsi6t/mjbiu4H3Myi4QFp7N9ogs9LMvTLV6BBzzhSaV/74mbeqoJ/osAB0ywf9 W2WBtksngswJybyS1rupKJTONA5Qf9qYKzy3xtG++cRrZYVm7rNTz6Akk1cYLw1RX4tF amxuwOPkBwpdUf8gGE1qgAmi8rCGPEjtG+XVsn4YgFxvA2LyOxyw1jEYKSE4qCqYi0UK TVadsfarAVhm4BdhDh6hEsXQDq0y6hWYU6Qv6Hm3QfmZOzWZCNP97MBEv3NQER5pwC7+ hNEw== X-Forwarded-Encrypted: i=1; AJvYcCUqw8HjTx9YXYpNgkobXQEsKWWArIPPJc7/Tji9tT1oo1Ael9DD3mV7hpGa2+mKfzQnsHDnDi93L2v2gek=@vger.kernel.org X-Gm-Message-State: AOJu0YxFGeMm+EOkJUfwnGaaeSfmj6VTXnP8bI/+O8YcI4yUZIhf8Byl pbrROWBXkZDmu8mWQP2/j2UkrhF6zIRrap2Pl6q8nrqJI3kJZPqaNYvn9VhN2oONufCuiZjmQw9 3EWuIwg== X-Google-Smtp-Source: AGHT+IEGuoaOgsEiiCmj+DYkQlzD6TAEH+/gDN4mTjdSDcZNHVUirS5RJWIVMLKioVyAkZjKmJMVmsLL2Kq0 X-Received: from pfbln13.prod.google.com ([2002:a05:6a00:3ccd:b0:736:47b8:9b88]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:903:2446:b0:223:525b:2a7 with SMTP id d9443c01a7336-2292f95f084mr213479705ad.15.1743531892980; Tue, 01 Apr 2025 11:24:52 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:06 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-9-irogers@google.com> Subject: [PATCH v1 08/48] perf bench: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/bench/breakpoint.c | 8 +++++--- tools/perf/bench/epoll-wait.c | 3 ++- tools/perf/bench/evlist-open-close.c | 8 ++++---- tools/perf/bench/find-bit-bench.c | 5 +++-- tools/perf/bench/futex.h | 4 ++-- tools/perf/bench/inject-buildid.c | 8 ++++---- tools/perf/bench/mem-functions.c | 2 +- tools/perf/bench/pmu-scan.c | 12 ++++++------ tools/perf/bench/sched-messaging.c | 4 ++-- tools/perf/bench/sched-pipe.c | 15 +++++++++------ tools/perf/bench/sched-seccomp-notify.c | 2 +- tools/perf/bench/synthesize.c | 6 +++--- tools/perf/builtin-bench.c | 2 +- 13 files changed, 43 insertions(+), 36 deletions(-) diff --git a/tools/perf/bench/breakpoint.c b/tools/perf/bench/breakpoint.c index dfd18f5db97d..72802b334eeb 100644 --- a/tools/perf/bench/breakpoint.c +++ b/tools/perf/bench/breakpoint.c @@ -57,7 +57,7 @@ static int breakpoint_setup(void *addr) attr.bp_addr =3D (unsigned long)addr; attr.bp_type =3D HW_BREAKPOINT_RW; attr.bp_len =3D HW_BREAKPOINT_LEN_1; - fd =3D syscall(SYS_perf_event_open, &attr, 0, -1, -1, 0); + fd =3D (int)syscall(SYS_perf_event_open, &attr, 0, -1, -1, 0); =20 if (fd < 0) fd =3D -errno; @@ -111,7 +111,8 @@ static void *breakpoint_thread(void *arg) // then starts nparallel threads which create and join bench_repeat batche= s of nthreads threads. int bench_breakpoint_thread(int argc, const char **argv) { - unsigned int i, result_usec; + unsigned int i; + long result_usec; int repeat =3D bench_repeat; struct breakpoint *breakpoints; pthread_t *parallel; @@ -197,7 +198,8 @@ static const char * const enable_usage[] =3D { // and then disables and enables the breakpoint bench_repeat times. int bench_breakpoint_enable(int argc, const char **argv) { - unsigned int i, nthreads, result_usec, done =3D 0; + unsigned int i, nthreads, done =3D 0; + long result_usec; char watched; int fd; pthread_t *threads; diff --git a/tools/perf/bench/epoll-wait.c b/tools/perf/bench/epoll-wait.c index 20fe4f72b4af..5ea3e0b2daf2 100644 --- a/tools/perf/bench/epoll-wait.c +++ b/tools/perf/bench/epoll-wait.c @@ -182,7 +182,8 @@ static void shuffle(void *array, size_t n, size_t size) =20 static void *workerfn(void *arg) { - int fd, ret, r; + int fd, ret; + ssize_t r; struct worker *w =3D (struct worker *) arg; unsigned long ops =3D w->ops; struct epoll_event ev; diff --git a/tools/perf/bench/evlist-open-close.c b/tools/perf/bench/evlist= -open-close.c index 5a27691469ed..770d9db176ee 100644 --- a/tools/perf/bench/evlist-open-close.c +++ b/tools/perf/bench/evlist-open-close.c @@ -192,16 +192,16 @@ static char *bench__repeat_event_string(const char *e= vstr, int n) { char sbuf[STRERR_BUFSIZE]; struct strbuf buf; - int i, str_size =3D strlen(evstr), - final_size =3D str_size * n + n, - err =3D strbuf_init(&buf, final_size); + size_t str_size =3D strlen(evstr); + size_t final_size =3D str_size * n + n; + int err =3D strbuf_init(&buf, final_size); =20 if (err) { pr_err("strbuf_init: %s\n", str_error_r(err, sbuf, sizeof(sbuf))); goto out_error; } =20 - for (i =3D 0; i < n; i++) { + for (int i =3D 0; i < n; i++) { err =3D strbuf_add(&buf, evstr, str_size); if (err) { pr_err("strbuf_add: %s\n", str_error_r(err, sbuf, sizeof(sbuf))); diff --git a/tools/perf/bench/find-bit-bench.c b/tools/perf/bench/find-bit-= bench.c index 7e25b0e413f6..59b00e89f71b 100644 --- a/tools/perf/bench/find-bit-bench.c +++ b/tools/perf/bench/find-bit-bench.c @@ -31,7 +31,7 @@ static const char *const bench_usage[] =3D { static unsigned int accumulator; static unsigned int use_of_val; =20 -static noinline void workload(int val) +static noinline void workload(unsigned long val) { use_of_val +=3D val; accumulator++; @@ -59,8 +59,9 @@ static int do_for_each_set_bit(unsigned int num_bits) u64 runtime_us; struct stats fb_time_stats, tb_time_stats; double time_average, time_stddev; - unsigned int bit, i, j; + unsigned int i, j; unsigned int set_bits, skip; + unsigned long bit; =20 init_stats(&fb_time_stats); init_stats(&tb_time_stats); diff --git a/tools/perf/bench/futex.h b/tools/perf/bench/futex.h index ebdc2b032afc..6d9076e091eb 100644 --- a/tools/perf/bench/futex.h +++ b/tools/perf/bench/futex.h @@ -49,14 +49,14 @@ static inline int futex_syscall(volatile u_int32_t *uaddr, int op, u_int32_t val, struct tim= espec *timeout, volatile u_int32_t *uaddr2, int val3, int opflags) { - return syscall(SYS_futex, uaddr, op | opflags, val, timeout, uaddr2, val3= ); + return (int)syscall(SYS_futex, uaddr, op | opflags, val, timeout, uaddr2,= val3); } =20 static inline int futex_syscall_nr_requeue(volatile u_int32_t *uaddr, int op, u_int32_t val,= int nr_requeue, volatile u_int32_t *uaddr2, int val3, int opflags) { - return syscall(SYS_futex, uaddr, op | opflags, val, nr_requeue, uaddr2, v= al3); + return (int)syscall(SYS_futex, uaddr, op | opflags, val, nr_requeue, uadd= r2, val3); } =20 /** diff --git a/tools/perf/bench/inject-buildid.c b/tools/perf/bench/inject-bu= ildid.c index f55c07e4be94..b78de817e721 100644 --- a/tools/perf/bench/inject-buildid.c +++ b/tools/perf/bench/inject-buildid.c @@ -175,7 +175,7 @@ static ssize_t synthesize_mmap(struct bench_data *data,= struct bench_dso *dso, u union perf_event event; size_t len =3D offsetof(struct perf_record_mmap2, filename); u64 *id_hdr_ptr =3D (void *)&event; - int ts_idx; + size_t ts_idx; =20 len +=3D roundup(strlen(dso->name) + 1, 8) + bench_id_hdr_size; =20 @@ -250,14 +250,14 @@ static void *data_reader(void *arg) struct bench_data *data =3D arg; char buf[8192]; int flag; - int n; =20 flag =3D fcntl(data->output_pipe[0], F_GETFL); fcntl(data->output_pipe[0], F_SETFL, flag | O_NONBLOCK); =20 /* read out data from child */ while (true) { - n =3D read(data->output_pipe[0], buf, sizeof(buf)); + ssize_t n =3D read(data->output_pipe[0], buf, sizeof(buf)); + if (n > 0) continue; if (n =3D=3D 0) @@ -451,7 +451,7 @@ static void do_inject_loop(struct bench_data *data, boo= l build_id_all) static int do_inject_loops(struct bench_data *data) { =20 - srand(time(NULL)); + srand((int)time(NULL)); symbol__init(NULL); =20 bench_sample_type =3D PERF_SAMPLE_IDENTIFIER | PERF_SAMPLE_IP; diff --git a/tools/perf/bench/mem-functions.c b/tools/perf/bench/mem-functi= ons.c index 19d45c377ac1..672b76eb8f99 100644 --- a/tools/perf/bench/mem-functions.c +++ b/tools/perf/bench/mem-functions.c @@ -82,7 +82,7 @@ static int init_cycles(void) =20 static u64 get_cycles(void) { - int ret; + ssize_t ret; u64 clk; =20 ret =3D read(cycles_fd, &clk, sizeof(u64)); diff --git a/tools/perf/bench/pmu-scan.c b/tools/perf/bench/pmu-scan.c index 9e4d36486f62..4a885d4bd279 100644 --- a/tools/perf/bench/pmu-scan.c +++ b/tools/perf/bench/pmu-scan.c @@ -19,8 +19,8 @@ static unsigned int iterations =3D 100; =20 struct pmu_scan_result { char *name; - int nr_aliases; - int nr_formats; + size_t nr_aliases; + size_t nr_formats; int nr_caps; bool is_core; }; @@ -63,7 +63,7 @@ static int save_result(void) list_for_each(list, &pmu->format) r->nr_formats++; =20 - pr_debug("pmu[%d] name=3D%s, nr_caps=3D%d, nr_aliases=3D%d, nr_formats= =3D%d\n", + pr_debug("pmu[%d] name=3D%s, nr_caps=3D%d, nr_aliases=3D%zu, nr_formats= =3D%zu\n", nr_pmus, r->name, r->nr_caps, r->nr_aliases, r->nr_formats); nr_pmus++; } @@ -77,7 +77,7 @@ static int check_result(bool core_only) struct pmu_scan_result *r; struct perf_pmu *pmu; struct list_head *list; - int nr; + size_t nr; =20 for (int i =3D 0; i < nr_pmus; i++) { r =3D &results[i]; @@ -98,7 +98,7 @@ static int check_result(bool core_only) =20 nr =3D perf_pmu__num_events(pmu); if (nr !=3D r->nr_aliases) { - pr_err("Unmatched number of event aliases in %s: expect %d vs got %d\n", + pr_err("Unmatched number of event aliases in %s: expect %zu vs got %zu\= n", pmu->name, r->nr_aliases, nr); return -1; } @@ -107,7 +107,7 @@ static int check_result(bool core_only) list_for_each(list, &pmu->format) nr++; if (nr !=3D r->nr_formats) { - pr_err("Unmatched number of event formats in %s: expect %d vs got %d\n", + pr_err("Unmatched number of event formats in %s: expect %zu vs got %zu\= n", pmu->name, r->nr_formats, nr); return -1; } diff --git a/tools/perf/bench/sched-messaging.c b/tools/perf/bench/sched-me= ssaging.c index 93dcd9dba3d0..a2eb47944f44 100644 --- a/tools/perf/bench/sched-messaging.c +++ b/tools/perf/bench/sched-messaging.c @@ -102,7 +102,7 @@ static void *sender(struct sender_context *ctx) /* Now pump to every receiver. */ for (i =3D 0; i < nr_loops; i++) { for (j =3D 0; j < ctx->num_fds; j++) { - int ret, done =3D 0; + ssize_t ret, done =3D 0; =20 again: ret =3D write(ctx->out_fds[j], data + done, @@ -133,7 +133,7 @@ static void *receiver(struct receiver_context* ctx) /* Receive them all */ for (i =3D 0; i < ctx->num_packets; i++) { char data[DATASIZE]; - int ret, done =3D 0; + ssize_t ret, done =3D 0; =20 again: ret =3D read(ctx->in_fds[0], data + done, DATASIZE - done); diff --git a/tools/perf/bench/sched-pipe.c b/tools/perf/bench/sched-pipe.c index 70139036d68f..b847213fd616 100644 --- a/tools/perf/bench/sched-pipe.c +++ b/tools/perf/bench/sched-pipe.c @@ -102,7 +102,8 @@ static const char * const bench_sched_pipe_usage[] =3D { static int enter_cgroup(int nr) { char buf[32]; - int fd, len, ret; + int fd; + ssize_t ret, len; int saved_errno; struct cgroup *cgrp; pid_t pid; @@ -118,7 +119,7 @@ static int enter_cgroup(int nr) cgrp =3D cgrps[nr]; =20 if (threaded) - pid =3D syscall(__NR_gettid); + pid =3D (pid_t)syscall(__NR_gettid); else pid =3D getpid(); =20 @@ -172,23 +173,25 @@ static void exit_cgroup(int nr) =20 static inline int read_pipe(struct thread_data *td) { - int ret, m; + ssize_t ret; + int m; retry: if (nonblocking) { ret =3D epoll_wait(td->epoll_fd, &td->epoll_ev, 1, -1); if (ret < 0) - return ret; + return (int)ret; } ret =3D read(td->pipe_read, &m, sizeof(int)); if (nonblocking && ret < 0 && errno =3D=3D EWOULDBLOCK) goto retry; - return ret; + return (int)ret; } =20 static void *worker_thread(void *__tdata) { struct thread_data *td =3D __tdata; - int i, ret, m =3D 0; + int i, m =3D 0; + ssize_t ret; =20 ret =3D enter_cgroup(td->nr); if (ret < 0) { diff --git a/tools/perf/bench/sched-seccomp-notify.c b/tools/perf/bench/sch= ed-seccomp-notify.c index 269c1f4a6852..4f0c68b366e3 100644 --- a/tools/perf/bench/sched-seccomp-notify.c +++ b/tools/perf/bench/sched-seccomp-notify.c @@ -43,7 +43,7 @@ static const char * const bench_seccomp_usage[] =3D { =20 static int seccomp(unsigned int op, unsigned int flags, void *args) { - return syscall(__NR_seccomp, op, flags, args); + return (int)syscall(__NR_seccomp, op, flags, args); } =20 static int user_notif_syscall(int nr, unsigned int flags) diff --git a/tools/perf/bench/synthesize.c b/tools/perf/bench/synthesize.c index 9b333276cbdb..484ba825fcf4 100644 --- a/tools/perf/bench/synthesize.c +++ b/tools/perf/bench/synthesize.c @@ -120,7 +120,7 @@ static int run_single_threaded(void) session =3D perf_session__new(NULL, NULL); if (IS_ERR(session)) { pr_err("Session creation failed.\n"); - return PTR_ERR(session); + return (int)PTR_ERR(session); } threads =3D thread_map__new_by_pid(getpid()); if (!threads) { @@ -163,7 +163,7 @@ static int do_run_multi_threaded(struct target *target, for (i =3D 0; i < multi_iterations; i++) { session =3D perf_session__new(NULL, NULL); if (IS_ERR(session)) - return PTR_ERR(session); + return (int)PTR_ERR(session); =20 atomic_set(&event_count, 0); gettimeofday(&start, NULL); @@ -210,7 +210,7 @@ static int run_multi_threaded(void) int err; =20 if (max_threads =3D=3D UINT_MAX) - max_threads =3D sysconf(_SC_NPROCESSORS_ONLN); + max_threads =3D (int)sysconf(_SC_NPROCESSORS_ONLN); =20 puts( "Computing performance of multi threaded perf event synthesis by\n" diff --git a/tools/perf/builtin-bench.c b/tools/perf/builtin-bench.c index 2c1a9f3d847a..2f6a34908273 100644 --- a/tools/perf/builtin-bench.c +++ b/tools/perf/builtin-bench.c @@ -212,7 +212,7 @@ static int bench_str2int(const char *str) static int run_bench(const char *coll_name, const char *bench_name, bench_= fn_t fn, int argc, const char **argv) { - int size; + size_t size; char *name; int ret; =20 --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.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 1AD3921C19A for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:24:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531897; cv=none; b=jRyW21ycdReg6V6d65CgHHb5RogymIn6kudG83VyOlNwcAhYHiZ6mkA0Jl44eV17PCWnbPiZRfh9lkyFBkW4lwG1Klifz6FzPBOLeocDHGToCjI4cyDSosP3cLJluzJyqG+NGcoNTFkmMjKJ/KhlP3/lSk61jkouFkDVgfKN7NA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531897; c=relaxed/simple; bh=AORnD1om4C2sypJLzjCz8efPFZxPS6C3udp8jTr5i34=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=fkjc3MoyEVGkLc0AgbM2DpYhOJur9kLcUivuNej/SM44FwDTLrKOo2pPmPlG33aQRijwcIhIamKaTOXnCvn/p0WasjGI4IubZHZgNBwqpxB+HlQ0asyzwMLUPc+s+QbfO5sJMcXrcGXvr+BzRpd1oRP7Nq7Clp6WMFyXr9DbQEs= 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=etnY6pWf; arc=none smtp.client-ip=209.85.214.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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="etnY6pWf" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-2240c997059so134714385ad.0 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:24:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531895; x=1744136695; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=1ougT7jDU8A9cudDjFwokt57F5i+izAS3bT+Nyxperg=; b=etnY6pWfB4PNfoe/W0mWeQxb0Uj4HpUj4DitoagiherBLjvNEG17F0xK3W6uv17P3U mnMAYTjVf/Mm0QjgbT6pwQFm/f7Iq8eKqvq4P5eq/K7EeMlpoTFS8bDvp62BneWQdPvk xCduFf6toPfK8vA07XxhTf6s1rFhQxJQhhbLtw+a7pwRmxde93K3bgIijXO0g3KrL/in DVkOeUpwKL6TbIjZi6QVvjd3JWYVi75Ns4hIyhAVpio/UGxvHJc5URiHny98Sp2FvSnz Ov5zdaJjRxWs+yZiopv7aQwWPuIw7pJ+NovItkPGEbcadZ+E5s7g8rBANNnkY0aNh/jL cmeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531895; x=1744136695; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=1ougT7jDU8A9cudDjFwokt57F5i+izAS3bT+Nyxperg=; b=brjD7imMLj9Df5KDdt7oIG2lCPdJMU+8PhRZ09tpYj4sw6sGpAcyCqnhFm8o3Tfpj/ 2mZYamhUSy6ECLanyC2yEnRsAxVJE/EguatTqtPecJnOWvF0NdiIHdGiC0d95BoUZ7E6 cdmz+das5reqFIW5YyONLjpbulqUlVrq82GHxQpWT4wk1y8gbjIG1fnbzv5MPVtKR8v1 +XdvcV6Sp+dpfaP7LXyFjnCCMAssqpmUofiwam9GVaEsnWbbSYp6nccqHxDxJeEwZxdO TDMg6TkHfFZGbBx+2PYaqpCoBpxoYmDGSr/J3Eoo+MyE0k04ZGV0GaBjG3rGr/+coOn/ pBBg== X-Forwarded-Encrypted: i=1; AJvYcCXycxEo0xK01XipW3+AwYFESQD3Xxv0YwmFfloKOvzidmLg45/k6bT70ZBETJ6eTO0H6fgL8CTDJU/uLuk=@vger.kernel.org X-Gm-Message-State: AOJu0YzQrKot9kgyS/Y+jTHxguA7kuAcfkPDzbMbNY7dzKJ1Q1eXQ5+/ Nwq7rP2ODctnuC7jCOUnI8ohZC69rEwnXzhA9ryhauqOCPuWMKpwW3+aJVyg7MVyD5WIIYDEnwQ PlX2B9Q== X-Google-Smtp-Source: AGHT+IHJykACnjjgWPAWibGCmtd45+SU33aGZAT7wMdq/fqMroEpb2uj9+hf6s6MhADeGdU+pE8Kf/7i45Xn X-Received: from plble11.prod.google.com ([2002:a17:902:fb0b:b0:220:e7dc:350d]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:daca:b0:223:6180:1bea with SMTP id d9443c01a7336-2292f9e601emr208087855ad.37.1743531895008; Tue, 01 Apr 2025 11:24:55 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:07 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-10-irogers@google.com> Subject: [PATCH v1 09/48] perf tests: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/tests/api-io.c | 2 +- tools/perf/tests/bp_signal.c | 6 +++--- tools/perf/tests/bp_signal_overflow.c | 6 +++--- tools/perf/tests/builtin-test.c | 9 +++++---- tools/perf/tests/code-reading.c | 4 ++-- tools/perf/tests/dso-data.c | 10 +++++----- tools/perf/tests/mmap-thread-lookup.c | 2 +- tools/perf/tests/openat-syscall-tp-fields.c | 2 +- tools/perf/tests/pmu-events.c | 2 +- tools/perf/tests/sigtrap.c | 4 ++-- tools/perf/tests/switch-tracking.c | 11 ++++++----- tools/perf/tests/vmlinux-kallsyms.c | 4 ++-- tools/perf/tests/wp.c | 4 ++-- 13 files changed, 34 insertions(+), 32 deletions(-) diff --git a/tools/perf/tests/api-io.c b/tools/perf/tests/api-io.c index 0ba3d5ccebcf..4aee1cff062e 100644 --- a/tools/perf/tests/api-io.c +++ b/tools/perf/tests/api-io.c @@ -74,7 +74,7 @@ static int setup_test(char path[PATH_MAX], const char *co= ntents, unlink(path); return -1; } - io__init(io, io->fd, io->buf, buf_size); + io__init(io, io->fd, io->buf, (unsigned int)buf_size); return 0; } =20 diff --git a/tools/perf/tests/bp_signal.c b/tools/perf/tests/bp_signal.c index 3faeb5b6fe0b..5ecac6c2d8b6 100644 --- a/tools/perf/tests/bp_signal.c +++ b/tools/perf/tests/bp_signal.c @@ -64,7 +64,7 @@ static noinline int test_function(void) { __test_function(&the_var); the_var++; - return time(NULL); + return (int)time(NULL); } =20 static void sig_handler_2(int signum __maybe_unused, @@ -151,11 +151,11 @@ static int wp_event(void *addr, int sig) static long long bp_count(int fd) { long long count; - int ret; + ssize_t ret; =20 ret =3D read(fd, &count, sizeof(long long)); if (ret !=3D sizeof(long long)) { - pr_debug("failed to read: %d\n", ret); + pr_debug("failed to read: %zd\n", ret); return TEST_FAIL; } =20 diff --git a/tools/perf/tests/bp_signal_overflow.c b/tools/perf/tests/bp_si= gnal_overflow.c index ee560e156be6..eb9021ad8177 100644 --- a/tools/perf/tests/bp_signal_overflow.c +++ b/tools/perf/tests/bp_signal_overflow.c @@ -33,7 +33,7 @@ static int overflows; =20 static noinline int test_function(void) { - return time(NULL); + return (int)time(NULL); } =20 static void sig_handler(int signum __maybe_unused, @@ -46,11 +46,11 @@ static void sig_handler(int signum __maybe_unused, static long long bp_count(int fd) { long long count; - int ret; + ssize_t ret; =20 ret =3D read(fd, &count, sizeof(long long)); if (ret !=3D sizeof(long long)) { - pr_debug("failed to read: %d\n", ret); + pr_debug("failed to read: %zd\n", ret); return TEST_FAIL; } =20 diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-tes= t.c index 14d30a5053be..4ea840580876 100644 --- a/tools/perf/tests/builtin-test.c +++ b/tools/perf/tests/builtin-test.c @@ -301,7 +301,7 @@ static int print_test_result(struct test_suite *t, int = curr_suite, int curr_test return 0; } =20 -static void finish_test(struct child_test **child_tests, int running_test,= int child_test_num, +static void finish_test(struct child_test **child_tests, size_t running_te= st, size_t child_test_num, int width) { struct child_test *child_test =3D child_tests[running_test]; @@ -349,7 +349,7 @@ static void finish_test(struct child_test **child_tests= , int running_test, int c if (perf_use_color_default) { int running =3D 0; =20 - for (int y =3D running_test; y < child_test_num; y++) { + for (size_t y =3D running_test; y < child_test_num; y++) { if (child_tests[y] =3D=3D NULL) continue; if (check_if_command_finished(&child_tests[y]->process) =3D=3D 0) @@ -478,13 +478,14 @@ static int __cmd_test(struct test_suite **suites, int= argc, const char *argv[], int err =3D 0; =20 for (struct test_suite **t =3D suites; *t; t++) { - int i, len =3D strlen(test_description(*t, -1)); + int i; + int len =3D (int)strlen(test_description(*t, -1)); =20 if (width < len) width =3D len; =20 test_suite__for_each_test_case(*t, i) { - len =3D strlen(test_description(*t, i)); + len =3D (int)strlen(test_description(*t, i)); if (width < len) width =3D len; num_tests +=3D runs_per_test; diff --git a/tools/perf/tests/code-reading.c b/tools/perf/tests/code-readin= g.c index cf6edbe697b2..0c31d5ff77e2 100644 --- a/tools/perf/tests/code-reading.c +++ b/tools/perf/tests/code-reading.c @@ -188,7 +188,7 @@ static int objdump_version(void) char *line =3D NULL; const char *fmt; FILE *f; - int ret; + ssize_t ret; =20 int version_tmp, version_num =3D 0; char *version =3D 0, *token; @@ -295,7 +295,7 @@ static int read_via_objdump(const char *filename, u64 a= ddr, void *buf, if (len) { pr_debug("objdump read too few bytes: %zd\n", len); if (!ret) - ret =3D len; + ret =3D (int)len; } =20 pclose(f); diff --git a/tools/perf/tests/dso-data.c b/tools/perf/tests/dso-data.c index a1fff4203b75..2954e06ae5b3 100644 --- a/tools/perf/tests/dso-data.c +++ b/tools/perf/tests/dso-data.c @@ -233,14 +233,14 @@ static int dsos__create(int cnt, int size, struct dso= s *dsos) return 0; } =20 -static int set_fd_limit(int n) +static int set_fd_limit(long n) { struct rlimit rlim; =20 if (getrlimit(RLIMIT_NOFILE, &rlim)) return -1; =20 - pr_debug("file limit %ld, new %d\n", (long) rlim.rlim_cur, n); + pr_debug("file limit %ld, new %ld\n", (long) rlim.rlim_cur, n); =20 rlim.rlim_cur =3D n; return setrlimit(RLIMIT_NOFILE, &rlim); @@ -249,8 +249,8 @@ static int set_fd_limit(int n) static int test__dso_data_cache(struct test_suite *test __maybe_unused, in= t subtest __maybe_unused) { struct machine machine; - long nr_end, nr =3D open_files_cnt(); - int dso_cnt, limit, i, fd; + long dso_cnt, limit, nr_end, nr =3D open_files_cnt(); + int i, fd; =20 /* Rest the internal dso open counter limit. */ reset_fd_limit(); @@ -264,7 +264,7 @@ static int test__dso_data_cache(struct test_suite *test= __maybe_unused, int subt /* and this is now our dso open FDs limit */ dso_cnt =3D limit / 2; TEST_ASSERT_VAL("failed to create dsos\n", - !dsos__create(dso_cnt, TEST_FILE_SIZE, &machine.dsos)); + !dsos__create((int)dso_cnt, TEST_FILE_SIZE, &machine.dsos)); =20 for (i =3D 0; i < (dso_cnt - 1); i++) { struct dso *dso =3D machine.dsos.dsos[i]; diff --git a/tools/perf/tests/mmap-thread-lookup.c b/tools/perf/tests/mmap-= thread-lookup.c index 446a3615d720..b328ad6973a3 100644 --- a/tools/perf/tests/mmap-thread-lookup.c +++ b/tools/perf/tests/mmap-thread-lookup.c @@ -45,7 +45,7 @@ static int thread_init(struct thread_data *td) } =20 td->map =3D map; - td->tid =3D syscall(SYS_gettid); + td->tid =3D (pid_t)syscall(SYS_gettid); =20 pr_debug("tid =3D %d, map =3D %p\n", td->tid, map); return 0; diff --git a/tools/perf/tests/openat-syscall-tp-fields.c b/tools/perf/tests= /openat-syscall-tp-fields.c index 0ef4ba7c1571..68f1498d0a47 100644 --- a/tools/perf/tests/openat-syscall-tp-fields.c +++ b/tools/perf/tests/openat-syscall-tp-fields.c @@ -119,7 +119,7 @@ static int test__syscall_openat_tp_fields(struct test_s= uite *test __maybe_unused goto out_delete_evlist; } =20 - tp_flags =3D evsel__intval(evsel, &sample, "flags"); + tp_flags =3D (int)evsel__intval(evsel, &sample, "flags"); perf_sample__exit(&sample); if (flags !=3D tp_flags) { pr_debug("%s: Expected flags=3D%#x, got %#x\n", diff --git a/tools/perf/tests/pmu-events.c b/tools/perf/tests/pmu-events.c index db004d26fcb0..2762794827ce 100644 --- a/tools/perf/tests/pmu-events.c +++ b/tools/perf/tests/pmu-events.c @@ -609,7 +609,7 @@ static int __test_uncore_pmu_event_aliases(struct perf_= pmu_test_pmu *test_pmu) pmu_add_sys_aliases(pmu); =20 /* Count how many aliases we generated */ - alias_count =3D perf_pmu__num_events(pmu); + alias_count =3D (int)perf_pmu__num_events(pmu); =20 /* Count how many aliases we expect from the known table */ for (table =3D &test_pmu->aliases[0]; *table; table++) diff --git a/tools/perf/tests/sigtrap.c b/tools/perf/tests/sigtrap.c index a67c756f90b8..b7d7735f8a72 100644 --- a/tools/perf/tests/sigtrap.c +++ b/tools/perf/tests/sigtrap.c @@ -154,13 +154,13 @@ sigtrap_handler(int signum __maybe_unused, siginfo_t = *info, void *ucontext __may { if (!__atomic_fetch_add(&ctx.signal_count, 1, __ATOMIC_RELAXED)) ctx.first_siginfo =3D *info; - __atomic_fetch_sub(&ctx.tids_want_signal, syscall(SYS_gettid), __ATOMIC_R= ELAXED); + __atomic_fetch_sub(&ctx.tids_want_signal, (pid_t)syscall(SYS_gettid), __A= TOMIC_RELAXED); } =20 static void *test_thread(void *arg) { pthread_barrier_t *barrier =3D (pthread_barrier_t *)arg; - pid_t tid =3D syscall(SYS_gettid); + pid_t tid =3D (pid_t)syscall(SYS_gettid); int i; =20 pthread_barrier_wait(barrier); diff --git a/tools/perf/tests/switch-tracking.c b/tools/perf/tests/switch-t= racking.c index 8df3f9d9ffd2..1f0f8321ae40 100644 --- a/tools/perf/tests/switch-tracking.c +++ b/tools/perf/tests/switch-tracking.c @@ -140,8 +140,8 @@ static int process_sample_event(struct evlist *evlist, =20 evsel =3D evlist__id2evsel(evlist, sample.id); if (evsel =3D=3D switch_tracking->switch_evsel) { - next_tid =3D evsel__intval(evsel, &sample, "next_pid"); - prev_tid =3D evsel__intval(evsel, &sample, "prev_pid"); + next_tid =3D (int)evsel__intval(evsel, &sample, "next_pid"); + prev_tid =3D (int)evsel__intval(evsel, &sample, "prev_pid"); cpu =3D sample.cpu; pr_debug3("sched_switch: cpu: %d prev_tid %d next_tid %d\n", cpu, prev_tid, next_tid); @@ -262,9 +262,10 @@ static int compar(const void *a, const void *b) { const struct event_node *nodea =3D a; const struct event_node *nodeb =3D b; - s64 cmp =3D nodea->event_time - nodeb->event_time; =20 - return cmp; + if (nodea->event_time =3D=3D nodeb->event_time) + return 0; + return nodea->event_time < nodeb->event_time ? -1 : 1; } =20 static int process_events(struct evlist *evlist, @@ -398,7 +399,7 @@ static int test__switch_tracking(struct test_suite *tes= t __maybe_unused, int sub =20 switch_evsel =3D evlist__add_sched_switch(evlist, true); if (IS_ERR(switch_evsel)) { - err =3D PTR_ERR(switch_evsel); + err =3D (int)PTR_ERR(switch_evsel); pr_debug("Failed to create event %s\n", sched_switch); goto out_err; } diff --git a/tools/perf/tests/vmlinux-kallsyms.c b/tools/perf/tests/vmlinux= -kallsyms.c index 74cdbd2ce9d0..fbdb463e965d 100644 --- a/tools/perf/tests/vmlinux-kallsyms.c +++ b/tools/perf/tests/vmlinux-kallsyms.c @@ -82,7 +82,7 @@ static bool is_ignored_symbol(const char *name, char type) return true; =20 for (p =3D ignored_suffixes; *p; p++) { - int l =3D strlen(name) - strlen(*p); + ssize_t l =3D strlen(name) - strlen(*p); =20 if (l >=3D 0 && !strcmp(name + l, *p)) return true; @@ -313,7 +313,7 @@ static int test__vmlinux_matches_kallsyms(struct test_s= uite *test __maybe_unused * _really_ have a problem. */ s64 skew =3D mem_end - UM(pair->end); - if (llabs(skew) >=3D page_size) + if (llabs(skew) >=3D (s64)page_size) pr_debug("WARN: %#" PRIx64 ": diff end addr for %s v: %#" PRIx64 " k:= %#" PRIx64 "\n", mem_start, sym->name, mem_end, UM(pair->end)); diff --git a/tools/perf/tests/wp.c b/tools/perf/tests/wp.c index 6c178985e37f..d5dd17eb5c05 100644 --- a/tools/perf/tests/wp.c +++ b/tools/perf/tests/wp.c @@ -31,10 +31,10 @@ volatile u8 data2[3]; #ifndef __s390x__ static int wp_read(int fd, long long *count, int size) { - int ret =3D read(fd, count, size); + ssize_t ret =3D read(fd, count, size); =20 if (ret !=3D size) { - pr_debug("failed to read: %d\n", ret); + pr_debug("failed to read: %zd\n", ret); return -1; } return 0; --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pj1-f74.google.com (mail-pj1-f74.google.com [209.85.216.74]) (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 5502B21CC5D for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:24:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531900; cv=none; b=qJkS5BqYHNgyGn4Exi/YUT7t06Q6Q05KwQYwvRnn3qFSIWhJAZ72cnIkrv9/ONVfkxTafe6Pcnk4IyNCUdp8Z3Y0eNtp6+fxxIn6E/zC09DyWvXNn+T727UbDYVCK1CKYefpRo50fQ34oClU5Kj/CzSLK5y9wH7UkbNR9H90MFk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531900; c=relaxed/simple; bh=kmNVR4zeOOpO/adWGmYOhs1mY+UCF848xhXAeMRA2wo=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=iMu6mN74TkPE2dTT9+TJLAwWxSPFoYOd1Woencld0nLUxOeBxRZc6Sy1t4EV8sTdzmPg0bRwMsb5x3uQoW+vehtT9eTa87lq+v4XDPH4qmouF7KrT95wiIhmO2aLV4cYkmdgG3Fj/1Q0IQGsP95w+9W3BzUlrQ4xPKz4LHtOJFA= 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=NuLDqFTr; arc=none smtp.client-ip=209.85.216.74 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="NuLDqFTr" Received: by mail-pj1-f74.google.com with SMTP id 98e67ed59e1d1-2ff6167e9ccso873906a91.1 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:24:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531897; x=1744136697; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=KS6qg+8+wkhJeo4s42YYsDUvg3Cm4W0s8RV/R5t5q+Y=; b=NuLDqFTrc0cPUIimah0+fFxdj8HIBCyHVDbq7eKqtRiFGUmwzda/t4GrdMK1UsgrJZ Dp6mytZNW+vIZI0Os87K6bi4qmVl/Y7DzYFE1t1FcPYtAbJ7F5EcDS4rykuWg3SgvAf/ kBr0r+qcekTd7cX9kgM/YRTx6+79vb9WoIzAoC5S1NDLOk5h2Wti3v/q5rT5m5EbFzlp DBq+2ORS2RruiiaZNc9vYpyKbefH5agxPzyDwrep7HFSG6ynhpOo6qEdpZ7VRfx3qTf5 bky8g1bzcSuL27p8kRyWONhPW185Ks+K8q9bi9P3y2y9cNPHzMcStVNrboMWoKGwU9aF zdLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531897; x=1744136697; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=KS6qg+8+wkhJeo4s42YYsDUvg3Cm4W0s8RV/R5t5q+Y=; b=bifw5FbiQip9g1uUDguZIflbSWstZMdzDnbABQsQDNU7wrpubnTqqE85hrlKbL7Das MRv79FHo6FUzZrMJYbAganqfm3vQC9i1di4jKzYj2W8KCefP45JYhH+nuqCBJUw6Tgrc foE1xvh5b/6IkCQHUzsjQnU3iKPbgYLcpGMZ7aybbpKASWNSuRgfFzm1jREbC3VuaAgD oC63CN65S6LOEKW/lAJeNPtCkvF6egTgN99f7z+kaoKBHVnysgHHjsKlsGBotdwnJwvG 6UFkkI11P9oVzewoaUKSwjmuc9ydFRZ6CnVKGELACCxdf1nKl1iLpoKL9wrXQszK4koI dCJw== X-Forwarded-Encrypted: i=1; AJvYcCV8sQPu1CIvCtyUayGv3luy4vDAVPb7OfjTRRNlz/qcQPgtva7Ed1tWTX8NPYa2BiTJVU1sMPGZsY60B/M=@vger.kernel.org X-Gm-Message-State: AOJu0YxNfd0xau1hlHIZcEn82l/by2R8CIE9H6nX3ISmyVFomUvFL0jy eOEtM0y+vxUuuFQOQ5NHyMy2X/BHDzUMfzsyfK7H67Z1R14dB1jYbbF+aSQY5MAmLvFpDkbDAn2 ZTBx/hA== X-Google-Smtp-Source: AGHT+IHTEehxHw2PCChqQgDiqY6du8NDpeM+ZHytwu6pJ7Rh5TrWdgqkwtyEAaElPPm068GquggpCYI6Fs3g X-Received: from pjboi14.prod.google.com ([2002:a17:90b:3a0e:b0:2e5:5ffc:1c36]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:4d09:b0:2ff:7b28:a51c with SMTP id 98e67ed59e1d1-305321701e5mr15551772a91.34.1743531897419; Tue, 01 Apr 2025 11:24:57 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:08 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-11-irogers@google.com> Subject: [PATCH v1 10/48] perf arch x86: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/arch/x86/tests/bp-modify.c | 2 +- tools/perf/arch/x86/util/intel-bts.c | 4 +- tools/perf/arch/x86/util/intel-pt.c | 10 ++--- tools/perf/arch/x86/util/iostat.c | 2 +- tools/perf/arch/x86/util/kvm-stat.c | 6 +-- tools/perf/arch/x86/util/perf_regs.c | 3 +- tools/perf/arch/x86/util/topdown.c | 2 +- tools/perf/util/intel-bts.c | 4 +- .../util/intel-pt-decoder/intel-pt-decoder.c | 30 +++++++-------- .../intel-pt-decoder/intel-pt-insn-decoder.c | 2 +- .../perf/util/intel-pt-decoder/intel-pt-log.c | 2 +- .../intel-pt-decoder/intel-pt-pkt-decoder.c | 2 +- tools/perf/util/intel-pt.c | 38 +++++++++---------- tools/perf/util/intel-tpebs.c | 6 +-- 14 files changed, 57 insertions(+), 56 deletions(-) diff --git a/tools/perf/arch/x86/tests/bp-modify.c b/tools/perf/arch/x86/te= sts/bp-modify.c index 0924ccd9e36d..0bbc81fe9b1d 100644 --- a/tools/perf/arch/x86/tests/bp-modify.c +++ b/tools/perf/arch/x86/tests/bp-modify.c @@ -37,7 +37,7 @@ static int spawn_child(void) * waits in signal for parent to trace it, * then it calls bp_1 and quits. */ - int err =3D ptrace(PTRACE_TRACEME, 0, NULL, NULL); + int err =3D (int)ptrace(PTRACE_TRACEME, 0, NULL, NULL); =20 if (err) { pr_debug("failed to PTRACE_TRACEME\n"); diff --git a/tools/perf/arch/x86/util/intel-bts.c b/tools/perf/arch/x86/uti= l/intel-bts.c index 85c8186300c8..1692ee735109 100644 --- a/tools/perf/arch/x86/util/intel-bts.c +++ b/tools/perf/arch/x86/util/intel-bts.c @@ -169,7 +169,7 @@ static int intel_bts_recording_options(struct auxtrace_= record *itr, size_t sz =3D opts->auxtrace_snapshot_size; =20 sz =3D round_up(sz, page_size) / page_size; - opts->auxtrace_mmap_pages =3D roundup_pow_of_two(sz); + opts->auxtrace_mmap_pages =3D (unsigned int)roundup_pow_of_two(sz); } if (opts->auxtrace_snapshot_size > opts->auxtrace_mmap_pages * (size_t)page_size) { @@ -347,7 +347,7 @@ static int intel_bts_snapshot_finish(struct auxtrace_re= cord *itr) =20 static bool intel_bts_first_wrap(u64 *data, size_t buf_size) { - int i, a, b; + size_t i, a, b; =20 b =3D buf_size >> 3; a =3D b - 512; diff --git a/tools/perf/arch/x86/util/intel-pt.c b/tools/perf/arch/x86/util= /intel-pt.c index 8f235d8b67b6..842dba02f082 100644 --- a/tools/perf/arch/x86/util/intel-pt.c +++ b/tools/perf/arch/x86/util/intel-pt.c @@ -418,7 +418,7 @@ static int intel_pt_track_switches(struct evlist *evlis= t) =20 evsel =3D evlist__add_sched_switch(evlist, true); if (IS_ERR(evsel)) { - err =3D PTR_ERR(evsel); + err =3D (int)PTR_ERR(evsel); pr_debug2("%s: failed to create %s, error =3D %d\n", __func__, sched_switch, err); return err; @@ -692,7 +692,7 @@ static int intel_pt_recording_options(struct auxtrace_r= ecord *itr, size_t sz =3D opts->auxtrace_snapshot_size; =20 sz =3D round_up(sz, page_size) / page_size; - opts->auxtrace_mmap_pages =3D roundup_pow_of_two(sz); + opts->auxtrace_mmap_pages =3D (unsigned int)roundup_pow_of_two(sz); } if (opts->auxtrace_snapshot_size > opts->auxtrace_mmap_pages * (size_t)page_size) { @@ -726,7 +726,7 @@ static int intel_pt_recording_options(struct auxtrace_r= ecord *itr, if (!opts->auxtrace_mmap_pages) { size_t sz =3D round_up(max_sz, page_size) / page_size; =20 - opts->auxtrace_mmap_pages =3D roundup_pow_of_two(sz); + opts->auxtrace_mmap_pages =3D (unsigned int)roundup_pow_of_two(sz); } if (max_sz > opts->auxtrace_mmap_pages * (size_t)page_size) { pr_err("Sample size %zu must not be greater than AUX area tracing mmap = size %zu\n", @@ -772,7 +772,7 @@ static int intel_pt_recording_options(struct auxtrace_r= ecord *itr, =20 if (!opts->auxtrace_snapshot_mode && !opts->auxtrace_sample_mode) { size_t aw =3D opts->auxtrace_mmap_pages * (size_t)page_size / 4; - u32 aux_watermark =3D aw > UINT_MAX ? UINT_MAX : aw; + u32 aux_watermark =3D aw > UINT_MAX ? UINT_MAX : (u32)aw; =20 intel_pt_evsel->core.attr.aux_watermark =3D aux_watermark; } @@ -1093,7 +1093,7 @@ static bool intel_pt_wrapped(struct intel_pt_recordin= g *ptr, int idx, =20 static bool intel_pt_first_wrap(u64 *data, size_t buf_size) { - int i, a, b; + size_t i, a, b; =20 b =3D buf_size >> 3; a =3D b - 512; diff --git a/tools/perf/arch/x86/util/iostat.c b/tools/perf/arch/x86/util/i= ostat.c index 7442a2cd87ed..ed508698dc22 100644 --- a/tools/perf/arch/x86/util/iostat.c +++ b/tools/perf/arch/x86/util/iostat.c @@ -305,7 +305,7 @@ static int iostat_event_group(struct evlist *evl, uncore_iio_%x/event=3D0x83,umask=3D0x01,ch_mask=3D0xF,fc_mask=3D0x07/,\ uncore_iio_%x/event=3D0xc0,umask=3D0x04,ch_mask=3D0xF,fc_mask=3D0x07/,\ uncore_iio_%x/event=3D0xc0,umask=3D0x01,ch_mask=3D0xF,fc_mask=3D0x07/}"; - const int len_template =3D strlen(iostat_cmd_template) + 1; + const size_t len_template =3D strlen(iostat_cmd_template) + 1; struct evsel *evsel =3D NULL; int metrics_count =3D iostat_metrics_count(); char *iostat_cmd =3D calloc(len_template, 1); diff --git a/tools/perf/arch/x86/util/kvm-stat.c b/tools/perf/arch/x86/util= /kvm-stat.c index 424716518b75..6e97198b055a 100644 --- a/tools/perf/arch/x86/util/kvm-stat.c +++ b/tools/perf/arch/x86/util/kvm-stat.c @@ -31,7 +31,7 @@ static void mmio_event_get_key(struct evsel *evsel, struc= t perf_sample *sample, struct event_key *key) { key->key =3D evsel__intval(evsel, sample, "gpa"); - key->info =3D evsel__intval(evsel, sample, "type"); + key->info =3D (int)evsel__intval(evsel, sample, "type"); } =20 #define KVM_TRACE_MMIO_READ_UNSATISFIED 0 @@ -94,7 +94,7 @@ static void ioport_event_get_key(struct evsel *evsel, struct event_key *key) { key->key =3D evsel__intval(evsel, sample, "port"); - key->info =3D evsel__intval(evsel, sample, "rw"); + key->info =3D (int)evsel__intval(evsel, sample, "rw"); } =20 static bool ioport_event_begin(struct evsel *evsel, @@ -138,7 +138,7 @@ static void msr_event_get_key(struct evsel *evsel, struct event_key *key) { key->key =3D evsel__intval(evsel, sample, "ecx"); - key->info =3D evsel__intval(evsel, sample, "write"); + key->info =3D (int)evsel__intval(evsel, sample, "write"); } =20 static bool msr_event_begin(struct evsel *evsel, diff --git a/tools/perf/arch/x86/util/perf_regs.c b/tools/perf/arch/x86/uti= l/perf_regs.c index 12fd93f04802..ed0c564dad7e 100644 --- a/tools/perf/arch/x86/util/perf_regs.c +++ b/tools/perf/arch/x86/util/perf_regs.c @@ -195,7 +195,8 @@ static void sdt_rename_register(char *sdt_reg, int sdt_= len, char *uprobe_reg) int arch_sdt_arg_parse_op(char *old_op, char **new_op) { char new_reg[SDT_REG_NAME_SIZE] =3D {0}; - int new_len =3D 0, ret; + int ret; + size_t new_len =3D 0; /* * rm[0]: +/-NUM(REG) * rm[1]: +/- diff --git a/tools/perf/arch/x86/util/topdown.c b/tools/perf/arch/x86/util/= topdown.c index d1c654839049..c93c35c46145 100644 --- a/tools/perf/arch/x86/util/topdown.c +++ b/tools/perf/arch/x86/util/topdown.c @@ -43,7 +43,7 @@ bool arch_is_topdown_slots(const struct evsel *evsel) =20 bool arch_is_topdown_metrics(const struct evsel *evsel) { - int config =3D evsel->core.attr.config; + __u64 config =3D evsel->core.attr.config; const char *name_from_config; struct perf_pmu *pmu; =20 diff --git a/tools/perf/util/intel-bts.c b/tools/perf/util/intel-bts.c index 3625c6224750..2598df776d4e 100644 --- a/tools/perf/util/intel-bts.c +++ b/tools/perf/util/intel-bts.c @@ -850,9 +850,9 @@ int intel_bts_process_auxtrace_info(union perf_event *e= vent, bts->session =3D session; bts->machine =3D &session->machines.host; /* No kvm support */ bts->auxtrace_type =3D auxtrace_info->type; - bts->pmu_type =3D auxtrace_info->priv[INTEL_BTS_PMU_TYPE]; + bts->pmu_type =3D (u32)auxtrace_info->priv[INTEL_BTS_PMU_TYPE]; bts->tc.time_shift =3D auxtrace_info->priv[INTEL_BTS_TIME_SHIFT]; - bts->tc.time_mult =3D auxtrace_info->priv[INTEL_BTS_TIME_MULT]; + bts->tc.time_mult =3D (u32)auxtrace_info->priv[INTEL_BTS_TIME_MULT]; bts->tc.time_zero =3D auxtrace_info->priv[INTEL_BTS_TIME_ZERO]; bts->cap_user_time_zero =3D auxtrace_info->priv[INTEL_BTS_CAP_USER_TIME_ZERO]; diff --git a/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c b/tools/pe= rf/util/intel-pt-decoder/intel-pt-decoder.c index e733f6b1f7ac..abb891f778cb 100644 --- a/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c +++ b/tools/perf/util/intel-pt-decoder/intel-pt-decoder.c @@ -841,7 +841,7 @@ static int intel_pt_calc_cyc_cb(struct intel_pt_pkt_inf= o *pkt_info) if (!data->have_tma) return 0; =20 - mtc =3D pkt_info->packet.payload; + mtc =3D (uint32_t)pkt_info->packet.payload; if (decoder->mtc_shift > 8 && data->fixup_last_mtc) { data->fixup_last_mtc =3D false; intel_pt_fixup_last_mtc(mtc, decoder->mtc_shift, @@ -904,7 +904,7 @@ static int intel_pt_calc_cyc_cb(struct intel_pt_pkt_inf= o *pkt_info) if (!decoder->tsc_ctc_ratio_d) return 0; =20 - ctc =3D pkt_info->packet.payload; + ctc =3D (uint32_t)pkt_info->packet.payload; fc =3D pkt_info->packet.count; ctc_rem =3D ctc & decoder->ctc_rem_mask; =20 @@ -930,7 +930,7 @@ static int intel_pt_calc_cyc_cb(struct intel_pt_pkt_inf= o *pkt_info) return 0; =20 case INTEL_PT_CBR: - cbr =3D pkt_info->packet.payload; + cbr =3D (uint32_t)pkt_info->packet.payload; if (data->cbr && data->cbr !=3D cbr) return 1; data->cbr =3D cbr; @@ -1268,7 +1268,7 @@ static void intel_pt_mode_exec_status(struct intel_pt= _decoder *decoder) { bool iflag =3D decoder->packet.count & INTEL_PT_IFLAG; =20 - decoder->exec_mode =3D decoder->packet.payload; + decoder->exec_mode =3D (int)decoder->packet.payload; decoder->iflag =3D iflag; decoder->next_iflag =3D iflag; decoder->state.from_iflag =3D iflag; @@ -1279,7 +1279,7 @@ static void intel_pt_mode_exec(struct intel_pt_decode= r *decoder) { bool iflag =3D decoder->packet.count & INTEL_PT_IFLAG; =20 - decoder->exec_mode =3D decoder->packet.payload; + decoder->exec_mode =3D (int)decoder->packet.payload; decoder->next_iflag =3D iflag; } =20 @@ -1331,7 +1331,7 @@ static bool intel_pt_fup_event(struct intel_pt_decode= r *decoder, bool no_tip) if (!ip && decoder->pge) decoder->state.type |=3D INTEL_PT_BRANCH; decoder->state.cfe_type =3D decoder->fup_cfe_pkt.count; - decoder->state.cfe_vector =3D decoder->fup_cfe_pkt.payload; + decoder->state.cfe_vector =3D (int)decoder->fup_cfe_pkt.payload; decoder->state.evd_cnt =3D decoder->evd_cnt; decoder->state.evd =3D decoder->evd; decoder->evd_cnt =3D 0; @@ -1906,7 +1906,7 @@ static inline void intel_pt_mtc_cyc_cnt_upd(struct in= tel_pt_decoder *decoder) =20 static void intel_pt_calc_tma(struct intel_pt_decoder *decoder) { - uint32_t ctc =3D decoder->packet.payload; + uint32_t ctc =3D (uint32_t)decoder->packet.payload; uint32_t fc =3D decoder->packet.count; uint32_t ctc_rem =3D ctc & decoder->ctc_rem_mask; =20 @@ -1943,7 +1943,7 @@ static void intel_pt_calc_mtc_timestamp(struct intel_= pt_decoder *decoder) if (!decoder->have_tma) return; =20 - mtc =3D decoder->packet.payload; + mtc =3D (uint32_t)decoder->packet.payload; =20 if (decoder->mtc_shift > 8 && decoder->fixup_last_mtc) { decoder->fixup_last_mtc =3D false; @@ -2044,7 +2044,7 @@ static void intel_pt_bbp(struct intel_pt_decoder *dec= oder) memset(decoder->state.items.mask, 0, sizeof(decoder->state.items.mask)); decoder->state.items.is_32_bit =3D false; } - decoder->blk_type =3D decoder->packet.payload; + decoder->blk_type =3D (enum intel_pt_blk_type)decoder->packet.payload; decoder->blk_type_pos =3D intel_pt_blk_type_pos(decoder->blk_type); if (decoder->blk_type =3D=3D INTEL_PT_GP_REGS) decoder->state.items.is_32_bit =3D decoder->packet.count; @@ -2488,12 +2488,12 @@ static uint64_t intel_pt_calc_expected_tsc(struct i= ntel_pt_decoder *decoder, static uint64_t intel_pt_expected_tsc(struct intel_pt_decoder *decoder, struct intel_pt_vm_tsc_info *data) { - uint32_t ctc =3D data->tma_packet.payload; + uint32_t ctc =3D (uint32_t)data->tma_packet.payload; uint32_t fc =3D data->tma_packet.count; =20 return intel_pt_calc_expected_tsc(decoder, ctc, fc, decoder->ctc_timestamp, - data->ctc_delta, data->last_ctc); + data->ctc_delta, (uint32_t)data->last_ctc); } =20 static void intel_pt_translate_vm_tsc(struct intel_pt_decoder *decoder, @@ -2889,7 +2889,7 @@ static int intel_pt_vm_time_correlation(struct intel_= pt_decoder *decoder) break; =20 case INTEL_PT_BBP: - decoder->blk_type =3D decoder->packet.payload; + decoder->blk_type =3D (enum intel_pt_blk_type)decoder->packet.payload; break; =20 case INTEL_PT_BIP: @@ -3825,7 +3825,7 @@ static int intel_pt_part_psb(struct intel_pt_decoder = *decoder) if (i > decoder->len) continue; if (!memcmp(end - i, INTEL_PT_PSB_STR, i)) - return i; + return (int)i; } return 0; } @@ -3839,7 +3839,7 @@ static int intel_pt_rest_psb(struct intel_pt_decoder = *decoder, int part_psb) memcmp(decoder->buf, psb + part_psb, rest_psb)) return 0; =20 - return rest_psb; + return (int)rest_psb; } =20 static int intel_pt_get_split_psb(struct intel_pt_decoder *decoder, @@ -3898,7 +3898,7 @@ static int intel_pt_scan_for_psb(struct intel_pt_deco= der *decoder) continue; } =20 - decoder->pkt_step =3D next - decoder->buf; + decoder->pkt_step =3D (int)(next - decoder->buf); return intel_pt_get_next_packet(decoder); } } diff --git a/tools/perf/util/intel-pt-decoder/intel-pt-insn-decoder.c b/too= ls/perf/util/intel-pt-decoder/intel-pt-insn-decoder.c index 8fabddc1c0da..03e34afb69a3 100644 --- a/tools/perf/util/intel-pt-decoder/intel-pt-insn-decoder.c +++ b/tools/perf/util/intel-pt-decoder/intel-pt-insn-decoder.c @@ -193,7 +193,7 @@ int intel_pt_get_insn(const unsigned char *buf, size_t = len, int x86_64, struct insn insn; int ret; =20 - ret =3D insn_decode(&insn, buf, len, + ret =3D insn_decode(&insn, buf, (int)len, x86_64 ? INSN_MODE_64 : INSN_MODE_32); if (ret < 0 || insn.length > len) return -1; diff --git a/tools/perf/util/intel-pt-decoder/intel-pt-log.c b/tools/perf/u= til/intel-pt-decoder/intel-pt-log.c index ef55d6232cf0..324692a45d42 100644 --- a/tools/perf/util/intel-pt-decoder/intel-pt-log.c +++ b/tools/perf/util/intel-pt-decoder/intel-pt-log.c @@ -232,7 +232,7 @@ void __intel_pt_log_insn(struct intel_pt_insn *intel_pt= _insn, uint64_t ip) =20 if (len > INTEL_PT_INSN_BUF_SZ) len =3D INTEL_PT_INSN_BUF_SZ; - intel_pt_print_data(intel_pt_insn->buf, len, ip, 8); + intel_pt_print_data(intel_pt_insn->buf, (int)len, ip, 8); if (intel_pt_insn_desc(intel_pt_insn, desc, INTEL_PT_INSN_DESC_MAX) > 0) fprintf(f, "%s\n", desc); else diff --git a/tools/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.c b/tool= s/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.c index 94fb16cf9e0c..8f2d7aab9ca4 100644 --- a/tools/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.c +++ b/tools/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.c @@ -713,7 +713,7 @@ int intel_pt_pkt_desc(const struct intel_pt_pkt *packet= , char *buf, if (ret < 0) return ret; blen -=3D ret; - return buf_len - blen; + return (int)(buf_len - blen); } case INTEL_PT_TIP_PGD: case INTEL_PT_TIP_PGE: diff --git a/tools/perf/util/intel-pt.c b/tools/perf/util/intel-pt.c index 4e8a9b172fbc..037ccedf5d89 100644 --- a/tools/perf/util/intel-pt.c +++ b/tools/perf/util/intel-pt.c @@ -557,7 +557,7 @@ static int intel_pt_config_div(const char *var, const c= har *value, void *data) if (!strcmp(var, "intel-pt.cache-divisor")) { val =3D strtol(value, NULL, 0); if (val > 0 && val <=3D INT_MAX) - *d =3D val; + *d =3D (int)val; } =20 return 0; @@ -589,7 +589,7 @@ static unsigned int intel_pt_cache_size(struct dso *dso, return 10; if (size > (1 << 21)) return 21; - return 32 - __builtin_clz(size); + return 32 - __builtin_clz((unsigned int)size); } =20 static struct auxtrace_cache *intel_pt_cache(struct dso *dso, @@ -635,7 +635,7 @@ static int intel_pt_cache_add(struct dso *dso, struct m= achine *machine, e->rel =3D intel_pt_insn->rel; memcpy(e->insn, intel_pt_insn->buf, INTEL_PT_INSN_BUF_SZ); =20 - err =3D auxtrace_cache__add(c, offset, &e->entry); + err =3D auxtrace_cache__add(c, (u32)offset, &e->entry); if (err) auxtrace_cache__free_entry(c, e); =20 @@ -650,7 +650,7 @@ intel_pt_cache_lookup(struct dso *dso, struct machine *= machine, u64 offset) if (!c) return NULL; =20 - return auxtrace_cache__lookup(dso__auxtrace_cache(dso), offset); + return auxtrace_cache__lookup(dso__auxtrace_cache(dso), (u32)offset); } =20 static void intel_pt_cache_invalidate(struct dso *dso, struct machine *mac= hine, @@ -661,7 +661,7 @@ static void intel_pt_cache_invalidate(struct dso *dso, = struct machine *machine, if (!c) return; =20 - auxtrace_cache__remove(dso__auxtrace_cache(dso), offset); + auxtrace_cache__remove(dso__auxtrace_cache(dso), (u32)offset); } =20 static inline bool intel_pt_guest_kernel_ip(uint64_t ip) @@ -1101,7 +1101,7 @@ static unsigned int intel_pt_mtc_period(struct intel_= pt *pt) =20 evlist__for_each_entry(pt->session->evlist, evsel) { if (intel_pt_get_config(pt, &evsel->core.attr, &config)) - return (config & pt->mtc_freq_bits) >> shift; + return (unsigned int)((config & pt->mtc_freq_bits) >> shift); } return 0; } @@ -2424,7 +2424,7 @@ static int intel_pt_synth_pebs_sample(struct intel_pt= _queue *ptq) struct intel_pt_pebs_event *pe; struct intel_pt *pt =3D ptq->pt; int err =3D -EINVAL; - int hw_id; + size_t hw_id; =20 if (!items->has_applicable_counters || !items->applicable_counters) { if (!pt->single_pebs) @@ -2435,9 +2435,10 @@ static int intel_pt_synth_pebs_sample(struct intel_p= t_queue *ptq) for_each_set_bit(hw_id, (unsigned long *)&items->applicable_counters, INT= EL_PT_MAX_PEBS) { pe =3D &ptq->pebs[hw_id]; if (!pe->evsel) { - if (!pt->single_pebs) - pr_err("PEBS-via-PT record with no matching event, hw_id %d\n", + if (!pt->single_pebs) { + pr_err("PEBS-via-PT record with no matching event, hw_id %zu\n", hw_id); + } return intel_pt_synth_single_pebs_sample(ptq); } err =3D intel_pt_do_synth_pebs_sample(ptq, pe->evsel, pe->id); @@ -3272,7 +3273,7 @@ static int intel_pt_process_switch(struct intel_pt *p= t, if (evsel !=3D pt->switch_evsel) return 0; =20 - tid =3D evsel__intval(evsel, sample, "next_pid"); + tid =3D (pid_t)evsel__intval(evsel, sample, "next_pid"); cpu =3D sample->cpu; =20 intel_pt_log("sched_switch: cpu %d tid %d time %"PRIu64" tsc %#"PRIx64"\n= ", @@ -4258,14 +4259,14 @@ int intel_pt_process_auxtrace_info(union perf_event= *event, pt->session =3D session; pt->machine =3D &session->machines.host; /* No kvm support */ pt->auxtrace_type =3D auxtrace_info->type; - pt->pmu_type =3D auxtrace_info->priv[INTEL_PT_PMU_TYPE]; + pt->pmu_type =3D (u32)auxtrace_info->priv[INTEL_PT_PMU_TYPE]; pt->tc.time_shift =3D auxtrace_info->priv[INTEL_PT_TIME_SHIFT]; - pt->tc.time_mult =3D auxtrace_info->priv[INTEL_PT_TIME_MULT]; + pt->tc.time_mult =3D (u32)auxtrace_info->priv[INTEL_PT_TIME_MULT]; pt->tc.time_zero =3D auxtrace_info->priv[INTEL_PT_TIME_ZERO]; pt->cap_user_time_zero =3D auxtrace_info->priv[INTEL_PT_CAP_USER_TIME_ZER= O]; pt->tsc_bit =3D auxtrace_info->priv[INTEL_PT_TSC_BIT]; pt->noretcomp_bit =3D auxtrace_info->priv[INTEL_PT_NORETCOMP_BIT]; - pt->have_sched_switch =3D auxtrace_info->priv[INTEL_PT_HAVE_SCHED_SWITCH]; + pt->have_sched_switch =3D (int)auxtrace_info->priv[INTEL_PT_HAVE_SCHED_SW= ITCH]; pt->snapshot_mode =3D auxtrace_info->priv[INTEL_PT_SNAPSHOT_MODE]; pt->per_cpu_mmaps =3D auxtrace_info->priv[INTEL_PT_PER_CPU_MMAPS]; intel_pt_print_info(&auxtrace_info->priv[0], INTEL_PT_PMU_TYPE, @@ -4274,8 +4275,8 @@ int intel_pt_process_auxtrace_info(union perf_event *= event, if (intel_pt_has(auxtrace_info, INTEL_PT_CYC_BIT)) { pt->mtc_bit =3D auxtrace_info->priv[INTEL_PT_MTC_BIT]; pt->mtc_freq_bits =3D auxtrace_info->priv[INTEL_PT_MTC_FREQ_BITS]; - pt->tsc_ctc_ratio_n =3D auxtrace_info->priv[INTEL_PT_TSC_CTC_N]; - pt->tsc_ctc_ratio_d =3D auxtrace_info->priv[INTEL_PT_TSC_CTC_D]; + pt->tsc_ctc_ratio_n =3D (u32)auxtrace_info->priv[INTEL_PT_TSC_CTC_N]; + pt->tsc_ctc_ratio_d =3D (u32)auxtrace_info->priv[INTEL_PT_TSC_CTC_D]; pt->cyc_bit =3D auxtrace_info->priv[INTEL_PT_CYC_BIT]; intel_pt_print_info(&auxtrace_info->priv[0], INTEL_PT_MTC_BIT, INTEL_PT_CYC_BIT); @@ -4283,7 +4284,7 @@ int intel_pt_process_auxtrace_info(union perf_event *= event, =20 if (intel_pt_has(auxtrace_info, INTEL_PT_MAX_NONTURBO_RATIO)) { pt->max_non_turbo_ratio =3D - auxtrace_info->priv[INTEL_PT_MAX_NONTURBO_RATIO]; + (unsigned int)auxtrace_info->priv[INTEL_PT_MAX_NONTURBO_RATIO]; intel_pt_print_info(&auxtrace_info->priv[0], INTEL_PT_MAX_NONTURBO_RATIO, INTEL_PT_MAX_NONTURBO_RATIO); @@ -4418,12 +4419,11 @@ int intel_pt_process_auxtrace_info(union perf_event= *event, u64 tsc_freq =3D intel_pt_ns_to_ticks(pt, 1000000000); =20 if (!pt->max_non_turbo_ratio) - pt->max_non_turbo_ratio =3D - (tsc_freq + 50000000) / 100000000; + pt->max_non_turbo_ratio =3D (unsigned int)((tsc_freq + 50000000) / 1000= 00000); intel_pt_log("TSC frequency %"PRIu64"\n", tsc_freq); intel_pt_log("Maximum non-turbo ratio %u\n", pt->max_non_turbo_ratio); - pt->cbr2khz =3D tsc_freq / pt->max_non_turbo_ratio / 1000; + pt->cbr2khz =3D (unsigned int)(tsc_freq / pt->max_non_turbo_ratio / 1000= ); } =20 err =3D intel_pt_setup_time_ranges(pt, session->itrace_synth_opts); diff --git a/tools/perf/util/intel-tpebs.c b/tools/perf/util/intel-tpebs.c index 2c421b475b3b..27916368a0c7 100644 --- a/tools/perf/util/intel-tpebs.c +++ b/tools/perf/util/intel-tpebs.c @@ -235,7 +235,7 @@ int tpebs_start(struct evlist *evsel_list) continue; =20 pr_debug("tpebs: Retire_latency of event %s is required\n", evsel->name); - for (i =3D strlen(evsel->name) - 1; i > 0; i--) { + for (i =3D (int)strlen(evsel->name) - 1; i > 0; i--) { if (evsel->name[i] =3D=3D 'R') break; } @@ -293,7 +293,7 @@ int tpebs_start(struct evlist *evsel_list) } /* Wait for perf record initialization.*/ len =3D strlen(EVLIST_CTL_CMD_ENABLE_TAG); - ret =3D write(control_fd[1], EVLIST_CTL_CMD_ENABLE_TAG, len); + ret =3D (int)write(control_fd[1], EVLIST_CTL_CMD_ENABLE_TAG, len); if (ret !=3D len) { pr_err("perf record control write control message failed\n"); goto out; @@ -319,7 +319,7 @@ int tpebs_start(struct evlist *evsel_list) goto out; } =20 - ret =3D read(ack_fd[0], ack_buf, sizeof(ack_buf)); + ret =3D (int)read(ack_fd[0], ack_buf, sizeof(ack_buf)); if (ret > 0) ret =3D strcmp(ack_buf, EVLIST_CTL_CMD_ACK_TAG); else { --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (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 C942221D3D2 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:24:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531902; cv=none; b=uKgY4vwTrmsYViha9d4HNB3WQVJUyULy1JvfFT+q3RbLXxUj7qF36EXnH68H4H2HFhkgcODfdRAdI8bnHXE+I/eea45eIxpn77qNLXexAG2/B3kVjHrrPRdos8CUamnWUM7USyg6sSQGQsdaj8ebJ9LFbbxEVyYOoaJxY4zzqsY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531902; c=relaxed/simple; bh=G1beShr2OJE3B99IVVRLG7JvNtyE0vRd7w9ReDXBJPQ=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=cRmCDWA92C10aRY9AATsp6EBHJmuj5UiBUUeW3hjNksLj38+ZWaX2GaDUv8Ob8//MLrni7brl6ppSh+2jIQw0+8kqcrNlT3QnA+hy6qNszhC6TXWQEs6M4zV+VbGYemDUK0zDiEjso83amb8zfzqAvii2S/AmBxsn1CKjQj8wYo= 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=m+ofP6MR; arc=none smtp.client-ip=209.85.216.73 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="m+ofP6MR" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-2ff7cf599beso10929924a91.0 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:24:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531899; x=1744136699; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=xyvB/hrRudd3aX9cJ1p0ixiv1zuMhB3nN0i+ysTn1DI=; b=m+ofP6MRgfMxiChrBfeWbzDsNgYFkZvhVkKbEQ4M/+yZfml7Bhxg40y+sllyTIXUFO OYPLxjdkSfy39vefCO9CRSHd9aBO03tmUV79iQyCwKvZweHs/1yCL65l6zwk1oyJw1AT PNzqkBM1Y+K4xjy0qXE3qNK9nioSgrblytWYpF43Os2NN5ocBAv58KC2Cbe/Z8EYEwxO utOncuPB9M8F1wexYeSeD3tH8RJS/2vWeLp8/CrSnAlFqoDWkOGynxyldcxxBC8aknfZ OKrfGzhEggF4jj2EXGYwpBIm9jILd00bdO42U2b6btGP/jtu8jAVzZvKSIorq3uajDti whbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531899; x=1744136699; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=xyvB/hrRudd3aX9cJ1p0ixiv1zuMhB3nN0i+ysTn1DI=; b=KSjygVVcl4GeOFFyn7Op+o+Py3iXIlUKfrmIYuBLWTDH8HFCf4GUbjyp9np1z4J2eR mdpFu5ZBhPC3cQrOBIfGGlTMd0FEnc5Hj0J4WQhxGUR2wT7MjwNcer+WZHkvLau1VKCV TEtO+6rSskFWUHZIutwXMyvjfj1+SxuWYPjmPuQSjU4ij3NHfMMgNWveQMtt62j/pVn1 hIcHkHsLrG8kk87m6yTHljIprMtRlqFbrACXuDhf0O20jDlHef2pyVcpSZW+bXAXFNoW FoSrZDXc6BRgz1WgEXuKpSoGEnDIso+G1xWcTWtF1pPRN3O2w4S0biAOguI9t9updMQy rk2g== X-Forwarded-Encrypted: i=1; AJvYcCVw9Rn3kFZEIWlnSCfiKIjWyuJ0duhWFJW5Y8SnA1MGVUMGnPfHrDdgRLuVaanCCZMhtpm4Bu3llD3k1uA=@vger.kernel.org X-Gm-Message-State: AOJu0YziW3N5cgG7bj5MVBfKeG3bevxK1kD443FpktxSxnjkdY6o79b0 jTn43YGEFP4LqxaTC/E6AlaVaIN/JUa+aWSyy+2u6f2Mfmf13fyQm28DBKeK0OpmQO6Fr3dBnBF b0p1a7Q== X-Google-Smtp-Source: AGHT+IFqNyoO9wg1AcwskU/SqQSwLTGoj2ZZZrlovJNkz+5uOGhYMYbqeQpgsHNNLM6uCXnMYqikFnYyzlT6 X-Received: from pfbmc41.prod.google.com ([2002:a05:6a00:76a9:b0:736:4313:e6bc]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:1701:b0:736:a8db:93bb with SMTP id d2e1a72fcca58-7398034e617mr15291484b3a.5.1743531899092; Tue, 01 Apr 2025 11:24:59 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:09 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-12-irogers@google.com> Subject: [PATCH v1 11/48] perf arm-spe: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- .../util/arm-spe-decoder/arm-spe-decoder.c | 4 ++-- .../arm-spe-decoder/arm-spe-pkt-decoder.c | 2 +- tools/perf/util/arm-spe.c | 24 +++++++++---------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c b/tools/perf= /util/arm-spe-decoder/arm-spe-decoder.c index 688fe6d75244..58107970b215 100644 --- a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c +++ b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c @@ -117,7 +117,7 @@ static int arm_spe_get_data(struct arm_spe_decoder *dec= oder) if (!decoder->len) pr_debug("No more data\n"); =20 - return decoder->len; + return (int)decoder->len; } =20 static int arm_spe_get_next_packet(struct arm_spe_decoder *decoder) @@ -187,7 +187,7 @@ static int arm_spe_read_record(struct arm_spe_decoder *= decoder) break; case ARM_SPE_COUNTER: if (idx =3D=3D SPE_CNT_PKT_HDR_INDEX_TOTAL_LAT) - decoder->record.latency =3D payload; + decoder->record.latency =3D (u32)payload; break; case ARM_SPE_CONTEXT: decoder->record.context_id =3D payload; diff --git a/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c b/tools/= perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c index 13cadb2f1cea..a6d04ad50db6 100644 --- a/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c +++ b/tools/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.c @@ -63,7 +63,7 @@ static int arm_spe_get_payload(const unsigned char *buf, = size_t len, default: return ARM_SPE_BAD_PACKET; } =20 - return 1 + ext_hdr + payload_len; + return 1 + ext_hdr + (int)payload_len; } =20 static int arm_spe_get_pad(struct arm_spe_pkt *packet) diff --git a/tools/perf/util/arm-spe.c b/tools/perf/util/arm-spe.c index 2a9775649cc2..561bef7b4628 100644 --- a/tools/perf/util/arm-spe.c +++ b/tools/perf/util/arm-spe.c @@ -786,7 +786,7 @@ static bool arm_spe__synth_ds(struct arm_spe_queue *spe= q, } =20 for (i =3D 0; i < ARRAY_SIZE(data_source_handles); i++) { - if (is_midr_in_range_list(midr, data_source_handles[i].midr_ranges)) { + if (is_midr_in_range_list((u32)midr, data_source_handles[i].midr_ranges)= ) { data_source_handles[i].ds_synth(record, data_src); return true; } @@ -956,7 +956,7 @@ static int arm_spe_run_decoder(struct arm_spe_queue *sp= eq, u64 *timestamp) */ record =3D &speq->decoder->record; if (!spe->timeless_decoding && record->context_id !=3D (u64)-1) { - ret =3D arm_spe_set_tid(speq, record->context_id); + ret =3D arm_spe_set_tid(speq, (pid_t)record->context_id); if (ret) return ret; =20 @@ -1344,8 +1344,8 @@ static u64 **arm_spe__alloc_metadata(struct perf_reco= rd_auxtrace_info *info, } =20 *ver =3D ptr[ARM_SPE_HEADER_VERSION]; - hdr_sz =3D ptr[ARM_SPE_HEADER_SIZE]; - *nr_cpu =3D ptr[ARM_SPE_CPUS_NUM]; + hdr_sz =3D (int)ptr[ARM_SPE_HEADER_SIZE]; + *nr_cpu =3D (int)ptr[ARM_SPE_CPUS_NUM]; =20 metadata =3D calloc(*nr_cpu, sizeof(*metadata)); if (!metadata) @@ -1353,7 +1353,7 @@ static u64 **arm_spe__alloc_metadata(struct perf_reco= rd_auxtrace_info *info, =20 /* Locate the start address of per CPU metadata */ ptr +=3D hdr_sz; - per_cpu_sz =3D (metadata_size - (hdr_sz * sizeof(u64))) / (*nr_cpu); + per_cpu_sz =3D (int)((metadata_size - (hdr_sz * sizeof(u64))) / (*nr_cpu)= ); =20 for (i =3D 0; i < *nr_cpu; i++) { metadata[i] =3D arm_spe__alloc_per_cpu_metadata(ptr, per_cpu_sz); @@ -1405,7 +1405,7 @@ static void arm_spe_free(struct perf_session *session) auxtrace_heap__free(&spe->heap); arm_spe_free_events(session); session->auxtrace =3D NULL; - arm_spe__free_metadata(spe->metadata, spe->metadata_nr_cpu); + arm_spe__free_metadata(spe->metadata, (int)spe->metadata_nr_cpu); free(spe); } =20 @@ -1451,8 +1451,8 @@ static void arm_spe_print_info(struct arm_spe *spe, _= _u64 *arr) hdr_size =3D ARM_SPE_AUXTRACE_V1_PRIV_MAX; hdr_fmts =3D metadata_hdr_v1_fmts; } else { - cpu_num =3D arr[ARM_SPE_CPUS_NUM]; - hdr_size =3D arr[ARM_SPE_HEADER_SIZE]; + cpu_num =3D (unsigned int)arr[ARM_SPE_CPUS_NUM]; + hdr_size =3D (unsigned int)arr[ARM_SPE_HEADER_SIZE]; hdr_fmts =3D metadata_hdr_fmts; } =20 @@ -1466,7 +1466,7 @@ static void arm_spe_print_info(struct arm_spe *spe, _= _u64 *arr) * are fixed. The sequential parameter size is decided by the * field 'ARM_SPE_CPU_NR_PARAMS'. */ - cpu_size =3D (ARM_SPE_CPU_NR_PARAMS + 1) + arr[ARM_SPE_CPU_NR_PARAMS]; + cpu_size =3D (unsigned int)((ARM_SPE_CPU_NR_PARAMS + 1) + arr[ARM_SPE_CP= U_NR_PARAMS]); for (i =3D 0; i < cpu_size; i++) fprintf(stdout, metadata_per_cpu_fmts[i], arr[i]); arr +=3D cpu_size; @@ -1731,9 +1731,9 @@ int arm_spe_process_auxtrace_info(union perf_event *e= vent, spe->machine =3D &session->machines.host; /* No kvm support */ spe->auxtrace_type =3D auxtrace_info->type; if (metadata_ver =3D=3D 1) - spe->pmu_type =3D auxtrace_info->priv[ARM_SPE_PMU_TYPE]; + spe->pmu_type =3D (u32)auxtrace_info->priv[ARM_SPE_PMU_TYPE]; else - spe->pmu_type =3D auxtrace_info->priv[ARM_SPE_PMU_TYPE_V2]; + spe->pmu_type =3D (u32)auxtrace_info->priv[ARM_SPE_PMU_TYPE_V2]; spe->metadata =3D metadata; spe->metadata_ver =3D metadata_ver; spe->metadata_nr_cpu =3D nr_cpu; @@ -1752,7 +1752,7 @@ int arm_spe_process_auxtrace_info(union perf_event *e= vent, * "time_cycles" only if they are contained in the event. */ spe->tc.time_shift =3D tc->time_shift; - spe->tc.time_mult =3D tc->time_mult; + spe->tc.time_mult =3D (u32)tc->time_mult; spe->tc.time_zero =3D tc->time_zero; =20 if (event_contains(*tc, time_cycles)) { --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (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 05213212FBF for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531905; cv=none; b=aFqkd0qhJ6SyOiejnI+1qfXKfzhep5kN+QsLHHAFN6cGXRBEZElzTyh2uPA8rp/0fm04H8S5wxiGk0QCIA3dt1f0z/p39zwWFnNG4IEhzbyl/u3jkhYPH0CaBbYYXE+Hg2s1dJb8HAipwzJl6a2xWMhjB0krrOBIM7zpu9bnrIE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531905; c=relaxed/simple; bh=e3BkgPAkqE+Kp/vXNmX/XI4nBMU0yuH5Qm5nv6a9TaA=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=Taq28Zb48gDPmR0SJT4fl7xqn3cIS+xWtBsZHlaM006V5iSWUGWSC46yEYSQCTg8xDRo41hLR73OznsTm7W/P9Bxw1YiIeUrL9DsNyEaWA+iZwMpIxbbIgGGx+V01q4tbKBMsYHzSnoaVgzxKk85LmAEM3ZSTcXLHVwSx7UlcH4= 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=QDfidZrB; arc=none smtp.client-ip=209.85.216.73 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="QDfidZrB" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-3011bee1751so9920074a91.1 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531901; x=1744136701; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=K+vBHbW/FwL1p41VAXGiycxaCCSO3f+EE4EkyfyOYnA=; b=QDfidZrBWXv1VOEG4x0IbipxLench/VLxBX6ppTNzpMhsu22cZVpgN4ozzQ3TUjm12 649iRDIQuokEK5KHAb1NUb1JZalUj5mnj7zMGv0g2ZiAopdc3yS7lPv4+jPKZGzzdR8V uRDU4WWvaE3X/XzwpF0oc+9ivrv40cFi2pxX1JIp17216+nNmqxvtsBhwd950hgUbaSQ 65rAnyKhHzPJl+eWFhuO5pofcxT2LXblDQOr/DvSC9gIvW7GXzX8QvAjd8mu5QxGnpCg uC4M065RZCrm/+WjebSnMfexmf5FwF4U3azQf/kNaMTfJLVRJ0+7H6XE3NMjjXyKZbQ6 SLEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531901; x=1744136701; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=K+vBHbW/FwL1p41VAXGiycxaCCSO3f+EE4EkyfyOYnA=; b=TYuPIDiQT4fAwrFvbqR9CSDBe61gEX8xbBGkKnlUerMAN6mSgAXfU0SvF4PFY43uXd HUbWCLU6r6oIUGQ80CJUgV/BqWysYOau3yBypT8Hzxnsq+nR7fC6p62qD+43AZVLfCsz 8mn8QLbdE6QtypLClSJ1FrQVSxHyeYK/xMKqRJS0SFnsmiZmcLrls+sBCUvCVcr1Jw/5 xRhdAZfnch7Fu4RRQSLclsbyyYVr5ZFds5+QdCvI78mvgG3L7qOgKnJWR43Gt+x0L5dO GDHgnYgpKrrR7skzB+2uPItSXDDvhg3mb5lcGatRqkFIn75DUVhWzUN/qep6jk2XfLrR qdng== X-Forwarded-Encrypted: i=1; AJvYcCW6iK8otcDpumXewOWrGZzb18uzaSxic0qnKse/4J80cSydOJTCCzNRwXx46RjpyAG0GrgvLVXCAoCpyaQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yw9LvPdto7lawtKeFh0nKCe6SpACvwm5wWINaRqu2vREGZxZVTE P2wf/kwfENntLGNHKjxxq+DAFg5+kBOHhAlKvRNY0dXq7ik5CU5l3dRGHlzL8mz7synug4KbJHo l7Yw5pw== X-Google-Smtp-Source: AGHT+IHBDO0PeVL+eplLtAI/D2saD6Cu4dY5ZVAjzRa4AOgzGhUqSaGB3wMEsiw5znX3wm1s5DqofXPBmxDq X-Received: from pjbdb4.prod.google.com ([2002:a17:90a:d644:b0:2ef:8055:93d9]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:3e85:b0:2ee:f80c:6889 with SMTP id 98e67ed59e1d1-3053215d1b9mr21863883a91.33.1743531901110; Tue, 01 Apr 2025 11:25:01 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:10 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-13-irogers@google.com> Subject: [PATCH v1 12/48] perf trace: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-trace.c | 98 ++++++++++--------- tools/perf/trace/beauty/arch_prctl.c | 2 +- tools/perf/trace/beauty/eventfd.c | 2 +- tools/perf/trace/beauty/fcntl.c | 5 +- tools/perf/trace/beauty/flock.c | 2 +- tools/perf/trace/beauty/fs_at_flags.c | 4 +- tools/perf/trace/beauty/futex_op.c | 2 +- tools/perf/trace/beauty/futex_val3.c | 2 +- tools/perf/trace/beauty/ioctl.c | 2 +- tools/perf/trace/beauty/kcmp.c | 8 +- tools/perf/trace/beauty/mmap.c | 2 +- tools/perf/trace/beauty/mode_t.c | 2 +- tools/perf/trace/beauty/msg_flags.c | 2 +- tools/perf/trace/beauty/open_flags.c | 2 +- tools/perf/trace/beauty/perf_event_open.c | 4 +- tools/perf/trace/beauty/pid.c | 2 +- tools/perf/trace/beauty/pkey_alloc.c | 2 +- tools/perf/trace/beauty/prctl.c | 10 +- tools/perf/trace/beauty/sched_policy.c | 2 +- tools/perf/trace/beauty/seccomp.c | 4 +- tools/perf/trace/beauty/signum.c | 2 +- tools/perf/trace/beauty/socket.c | 6 +- tools/perf/trace/beauty/socket_type.c | 2 +- tools/perf/trace/beauty/statx.c | 2 +- .../beauty/tracepoints/x86_irq_vectors.c | 3 +- tools/perf/trace/beauty/tracepoints/x86_msr.c | 3 +- tools/perf/trace/beauty/waitid_options.c | 2 +- 27 files changed, 94 insertions(+), 85 deletions(-) diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c index 6ac51925ea42..b0ec3b9d0e9b 100644 --- a/tools/perf/builtin-trace.c +++ b/tools/perf/builtin-trace.c @@ -553,7 +553,7 @@ static struct evsel *perf_evsel__raw_syscall_newtp(cons= t char *direction, void * =20 size_t strarray__scnprintf_suffix(struct strarray *sa, char *bf, size_t si= ze, const char *intfmt, bool show_suffix, int val) { - int idx =3D val - sa->offset; + int idx =3D (int)(val - sa->offset); =20 if (idx < 0 || idx >=3D sa->nr_entries || sa->entries[idx] =3D=3D NULL) { size_t printed =3D scnprintf(bf, size, intfmt, val); @@ -567,7 +567,7 @@ size_t strarray__scnprintf_suffix(struct strarray *sa, = char *bf, size_t size, co =20 size_t strarray__scnprintf(struct strarray *sa, char *bf, size_t size, con= st char *intfmt, bool show_prefix, int val) { - int idx =3D val - sa->offset; + int idx =3D (int)(val - sa->offset); =20 if (idx < 0 || idx >=3D sa->nr_entries || sa->entries[idx] =3D=3D NULL) { size_t printed =3D scnprintf(bf, size, intfmt, val); @@ -583,7 +583,8 @@ static size_t __syscall_arg__scnprintf_strarray(char *b= f, size_t size, const char *intfmt, struct syscall_arg *arg) { - return strarray__scnprintf(arg->parm, bf, size, intfmt, arg->show_string_= prefix, arg->val); + return strarray__scnprintf(arg->parm, bf, size, intfmt, arg->show_string_= prefix, + (int)arg->val); } =20 static size_t syscall_arg__scnprintf_strarray(char *bf, size_t size, @@ -621,7 +622,7 @@ size_t strarrays__scnprintf(struct strarrays *sas, char= *bf, size_t size, const =20 for (i =3D 0; i < sas->nr_entries; ++i) { struct strarray *sa =3D sas->entries[i]; - int idx =3D val - sa->offset; + int idx =3D (int)(val - sa->offset); =20 if (idx >=3D 0 && idx < sa->nr_entries) { if (sa->entries[idx] =3D=3D NULL) @@ -658,7 +659,7 @@ bool strarray__strtoul_flags(struct strarray *sa, char = *bf, size_t size, u64 *re *ret =3D 0; =20 while (size !=3D 0) { - int toklen =3D size; + size_t toklen =3D size; =20 sep =3D memchr(tok, '|', size); if (sep !=3D NULL) { @@ -707,7 +708,8 @@ bool strarrays__strtoul(struct strarrays *sas, char *bf= , size_t size, u64 *ret) size_t syscall_arg__scnprintf_strarrays(char *bf, size_t size, struct syscall_arg *arg) { - return strarrays__scnprintf(arg->parm, bf, size, "%d", arg->show_string_p= refix, arg->val); + return strarrays__scnprintf(arg->parm, bf, size, "%d", arg->show_string_p= refix, + (int)arg->val); } =20 #ifndef AT_FDCWD @@ -717,7 +719,7 @@ size_t syscall_arg__scnprintf_strarrays(char *bf, size_= t size, static size_t syscall_arg__scnprintf_fd_at(char *bf, size_t size, struct syscall_arg *arg) { - int fd =3D arg->val; + int fd =3D (int)arg->val; const char *prefix =3D "AT_FD"; =20 if (fd =3D=3D AT_FDCWD) @@ -859,7 +861,7 @@ static size_t syscall_arg__scnprintf_access_mode(char *= bf, size_t size, bool show_prefix =3D arg->show_string_prefix; const char *suffix =3D "_OK"; size_t printed =3D 0; - int mode =3D arg->val; + int mode =3D (int)arg->val; =20 if (mode =3D=3D F_OK) /* 0 */ return scnprintf(bf, size, "F%s", show_prefix ? suffix : ""); @@ -901,7 +903,7 @@ static size_t syscall_arg__scnprintf_pipe_flags(char *b= f, size_t size, { bool show_prefix =3D arg->show_string_prefix; const char *prefix =3D "O_"; - int printed =3D 0, flags =3D arg->val; + int printed =3D 0, flags =3D (int)arg->val; =20 #define P_FLAG(n) \ if (flags & O_##n) { \ @@ -933,7 +935,7 @@ static size_t syscall_arg__scnprintf_getrandom_flags(ch= ar *bf, size_t size, { bool show_prefix =3D arg->show_string_prefix; const char *prefix =3D "GRND_"; - int printed =3D 0, flags =3D arg->val; + int printed =3D 0, flags =3D (int)arg->val; =20 #define P_FLAG(n) \ if (flags & GRND_##n) { \ @@ -979,7 +981,7 @@ static bool syscall_arg__strtoul_btf_enum(char *bf, siz= e_t size, struct syscall_ =20 for (int i =3D 0; i < btf_vlen(bt); ++i, ++be) { const char *name =3D btf__name_by_offset(btf, be->name_off); - int max_len =3D max(size, strlen(name)); + size_t max_len =3D max(size, strlen(name)); =20 if (strncmp(name, bf, max_len) =3D=3D 0) { *val =3D be->val; @@ -1717,7 +1719,7 @@ static int thread__read_fd_path(struct thread *thread= , int fd) { char linkname[PATH_MAX], pathname[PATH_MAX]; struct stat st; - int ret; + ssize_t ret; =20 if (thread__pid(thread) =3D=3D thread__tid(thread)) { scnprintf(linkname, sizeof(linkname), @@ -1764,7 +1766,7 @@ static const char *thread__fd_path(struct thread *thr= ead, int fd, =20 size_t syscall_arg__scnprintf_fd(char *bf, size_t size, struct syscall_arg= *arg) { - int fd =3D arg->val; + int fd =3D (int)arg->val; size_t printed =3D scnprintf(bf, size, "%d", fd); const char *path =3D thread__fd_path(arg->thread, fd, arg->trace); =20 @@ -1794,7 +1796,7 @@ size_t pid__scnprintf_fd(struct trace *trace, pid_t p= id, int fd, char *bf, size_ static size_t syscall_arg__scnprintf_close_fd(char *bf, size_t size, struct syscall_arg *arg) { - int fd =3D arg->val; + int fd =3D (int)arg->val; size_t printed =3D syscall_arg__scnprintf_fd(bf, size, arg); struct thread_trace *ttrace =3D thread__priv(arg->thread); =20 @@ -2067,11 +2069,11 @@ syscall_arg_fmt__init_array(struct syscall_arg_fmt = *arg, struct tep_format_field bool *use_btf) { struct tep_format_field *last_field =3D NULL; - int len; =20 for (; field; field =3D field->next, ++arg) { - last_field =3D field; + size_t len; =20 + last_field =3D field; if (arg->scnprintf) continue; =20 @@ -2171,7 +2173,7 @@ static int syscall__read_info(struct syscall *sc, str= uct trace *trace) */ if (IS_ERR(sc->tp_format)) { sc->nonexistent =3D true; - err =3D PTR_ERR(sc->tp_format); + err =3D (int)PTR_ERR(sc->tp_format); sc->tp_format =3D NULL; return err; } @@ -2440,7 +2442,8 @@ static size_t syscall__scnprintf_args(struct syscall = *sc, char *bf, size_t size, =20 if (trace->force_btf || default_scnprintf =3D=3D NULL || default_scnpri= ntf =3D=3D SCA_PTR) { btf_printed =3D trace__btf_scnprintf(trace, &arg, bf + printed, - size - printed, val, field->type); + size - printed, (int)val, + field->type); if (btf_printed) { printed +=3D btf_printed; continue; @@ -2654,7 +2657,7 @@ static void thread__update_stats(struct thread *threa= d, struct thread_trace *ttr } =20 stats->errnos =3D new_errnos; - stats->max_errno =3D err; + stats->max_errno =3D (int)err; } =20 ++stats->errnos[err - 1]; @@ -2686,7 +2689,7 @@ static int trace__printf_interrupted_entry(struct tra= ce *trace) ttrace->entry_pending =3D false; ++trace->nr_events_printed; =20 - return printed; + return (int)printed; } =20 static int trace__fprintf_sample(struct trace *trace, struct evsel *evsel, @@ -2753,8 +2756,8 @@ static int trace__sys_enter(struct trace *trace, stru= ct evsel *evsel, void *args; int printed =3D 0; struct thread *thread; - int id =3D perf_evsel__sc_tp_uint(evsel, id, sample), err =3D -1; - int augmented_args_size =3D 0, e_machine; + int id =3D (int)perf_evsel__sc_tp_uint(evsel, id, sample); + int err =3D -1, augmented_args_size =3D 0, e_machine; void *augmented_args =3D NULL; struct syscall *sc; struct thread_trace *ttrace; @@ -2830,11 +2833,11 @@ static int trace__fprintf_sys_enter(struct trace *t= race, struct evsel *evsel, { struct thread_trace *ttrace; struct thread *thread; - int id =3D perf_evsel__sc_tp_uint(evsel, id, sample), err =3D -1; + int id =3D (int)perf_evsel__sc_tp_uint(evsel, id, sample); struct syscall *sc; char msg[1024]; void *args, *augmented_args =3D NULL; - int augmented_args_size, e_machine; + int err =3D -1, augmented_args_size, e_machine; size_t printed =3D 0; =20 =20 @@ -2906,7 +2909,8 @@ static int trace__sys_exit(struct trace *trace, struc= t evsel *evsel, u64 duration =3D 0; bool duration_calculated =3D false; struct thread *thread; - int id =3D perf_evsel__sc_tp_uint(evsel, id, sample), err =3D -1, callcha= in_ret =3D 0, printed =3D 0; + int id =3D (int)perf_evsel__sc_tp_uint(evsel, id, sample); + int err =3D -1, callchain_ret =3D 0, printed =3D 0; int alignment =3D trace->args_alignment, e_machine; struct syscall *sc; struct thread_trace *ttrace; @@ -2928,7 +2932,7 @@ static int trace__sys_exit(struct trace *trace, struc= t evsel *evsel, thread__update_stats(thread, ttrace, id, sample, ret, trace); =20 if (!trace->fd_path_disabled && sc->is_open && ret >=3D 0 && ttrace->file= name.pending_open) { - trace__set_fd_pathname(thread, ret, ttrace->filename.name); + trace__set_fd_pathname(thread, (int)ret, ttrace->filename.name); ttrace->filename.pending_open =3D false; ++trace->stats.vfs_getname; } @@ -2983,8 +2987,8 @@ static int trace__sys_exit(struct trace *trace, struc= t evsel *evsel, } else if (ret < 0) { errno_print: { char bf[STRERR_BUFSIZE]; - const char *emsg =3D str_error_r(-ret, bf, sizeof(bf)), - *e =3D errno_to_name(evsel, -ret); + const char *emsg =3D str_error_r((int)-ret, bf, sizeof(bf)); + const char *e =3D errno_to_name(evsel, (int)-ret); =20 fprintf(trace->output, "-1 %s (%s)", e, emsg); } @@ -3003,7 +3007,7 @@ errno_print: { } else if (sc->fmt->hexret) fprintf(trace->output, "%#lx", ret); else if (sc->fmt->errpid) { - struct thread *child =3D machine__find_thread(trace->host, ret, ret); + struct thread *child =3D machine__find_thread(trace->host, (int)ret, (in= t)ret); =20 if (child !=3D NULL) { fprintf(trace->output, "%ld", ret); @@ -3063,7 +3067,7 @@ static int trace__vfs_getname(struct trace *trace, st= ruct evsel *evsel, if (f =3D=3D NULL) goto out_put; =20 - ttrace->filename.namelen =3D filename_len; + ttrace->filename.namelen =3D (unsigned int)filename_len; ttrace->filename.name =3D f; } =20 @@ -3191,7 +3195,8 @@ static size_t trace__fprintf_tp_fields(struct trace *= trace, struct evsel *evsel, int offset =3D field->offset; =20 if (field->flags & TEP_FIELD_IS_DYNAMIC) { - offset =3D format_field__intval(field, sample, evsel->needs_swap); + offset =3D (int)format_field__intval(field, sample, + evsel->needs_swap); syscall_arg.len =3D offset >> 16; offset &=3D 0xffff; if (tep_field_is_relative(field->flags)) @@ -3216,7 +3221,8 @@ static size_t trace__fprintf_tp_fields(struct trace *= trace, struct evsel *evsel, if (trace->show_arg_names) printed +=3D scnprintf(bf + printed, size - printed, "%s: ", field->nam= e); =20 - btf_printed =3D trace__btf_scnprintf(trace, &syscall_arg, bf + printed, = size - printed, val, field->type); + btf_printed =3D trace__btf_scnprintf(trace, &syscall_arg, bf + printed, + size - printed, (int)val, field->type); if (btf_printed) { printed +=3D btf_printed; continue; @@ -3261,7 +3267,7 @@ static int trace__event_handler(struct trace *trace, = struct evsel *evsel, trace__fprintf_comm_tid(trace, thread, trace->output); =20 if (evsel =3D=3D trace->syscalls.events.bpf_output) { - int id =3D perf_evsel__sc_tp_uint(evsel, id, sample); + int id =3D (int)perf_evsel__sc_tp_uint(evsel, id, sample); int e_machine =3D thread ? thread__e_machine(thread, trace->host) : EM_H= OST; struct syscall *sc =3D trace__syscall_info(trace, evsel, e_machine, id); =20 @@ -4278,8 +4284,8 @@ static int trace__expand_filter(struct trace *trace, = struct evsel *evsel) =20 if (isalpha(*right)) { struct syscall_arg_fmt *fmt; - int left_size =3D tok - left, - right_size =3D right_end - right; + int left_size =3D (int)(tok - left); + int right_size =3D (int)(right_end - right); char arg[128], *type; =20 while (isspace(left[left_size - 1])) @@ -4309,7 +4315,7 @@ static int trace__expand_filter(struct trace *trace, = struct evsel *evsel) if (fmt->strtoul(right, right_size, &syscall_arg, &val)) { char *n, expansion[19]; int expansion_lenght =3D scnprintf(expansion, sizeof(expansion), "%#"= PRIx64, val); - int expansion_offset =3D right - new_filter; + int expansion_offset =3D (int)(right - new_filter); =20 pr_debug("%s", expansion); =20 @@ -4718,7 +4724,7 @@ static int trace__replay(struct trace *trace) =20 session =3D perf_session__new(&data, &trace->tool); if (IS_ERR(session)) - return PTR_ERR(session); + return (int)PTR_ERR(session); =20 if (trace->opts.target.pid) symbol_conf.pid_list_str =3D strdup(trace->opts.target.pid); @@ -4816,7 +4822,7 @@ static struct syscall_entry *syscall__sort_stats(stru= ct hashmap *syscall_stats) { struct syscall_entry *entry; struct hashmap_entry *pos; - unsigned bkt, i, nr; + size_t bkt, i, nr; =20 nr =3D syscall_stats->sz; entry =3D malloc(nr * sizeof(*entry)); @@ -4830,7 +4836,7 @@ static struct syscall_entry *syscall__sort_stats(stru= ct hashmap *syscall_stats) =20 entry[i].stats =3D ss; entry[i].msecs =3D (u64)st->n * (avg_stats(st) / NSEC_PER_MSEC); - entry[i].syscall =3D pos->key; + entry[i].syscall =3D (int)pos->key; i++; } assert(i =3D=3D nr); @@ -5011,7 +5017,6 @@ static int trace__set_filter_pids_from_option(const s= truct option *opt, const ch int unset __maybe_unused) { int ret =3D -1; - size_t i; struct trace *trace =3D opt->value; /* * FIXME: introduce a intarray class, plain parse csv and create a @@ -5022,16 +5027,16 @@ static int trace__set_filter_pids_from_option(const= struct option *opt, const ch if (list =3D=3D NULL) return -1; =20 - i =3D trace->filter_pids.nr =3D intlist__nr_entries(list) + 1; - trace->filter_pids.entries =3D calloc(i, sizeof(pid_t)); + trace->filter_pids.nr =3D intlist__nr_entries(list) + 1; + trace->filter_pids.entries =3D calloc(trace->filter_pids.nr, sizeof(pid_t= )); =20 if (trace->filter_pids.entries =3D=3D NULL) goto out; =20 trace->filter_pids.entries[0] =3D getpid(); =20 - for (i =3D 1; i < trace->filter_pids.nr; ++i) - trace->filter_pids.entries[i] =3D intlist__entry(list, i - 1)->i; + for (unsigned int i =3D 1; i < trace->filter_pids.nr; ++i) + trace->filter_pids.entries[i] =3D (pid_t)intlist__entry(list, i - 1)->i; =20 intlist__delete(list); ret =3D 0; @@ -5167,7 +5172,8 @@ static int trace__parse_events_option(const struct op= tion *opt, const char *str, struct trace *trace =3D (struct trace *)opt->value; const char *s =3D str; char *sep =3D NULL, *lists[2] =3D { NULL, NULL, }; - int len =3D strlen(str) + 1, err =3D -1, list, idx; + size_t len =3D strlen(str) + 1; + int err =3D -1, list, idx; char *strace_groups_dir =3D system_path(STRACE_GROUPS_DIR); char group_name[PATH_MAX]; const struct syscall_fmt *fmt; @@ -5623,7 +5629,7 @@ int cmd_trace(int argc, const char **argv) =20 if (callchain_param.enabled) { if (!mmap_pages_user_set && geteuid() =3D=3D 0) - trace.opts.mmap_pages =3D perf_event_mlock_kb_in_pages() * 4; + trace.opts.mmap_pages =3D (unsigned int)perf_event_mlock_kb_in_pages() = * 4; =20 symbol_conf.use_callchain =3D true; } diff --git a/tools/perf/trace/beauty/arch_prctl.c b/tools/perf/trace/beauty= /arch_prctl.c index a211348d3204..c8193e04831d 100644 --- a/tools/perf/trace/beauty/arch_prctl.c +++ b/tools/perf/trace/beauty/arch_prctl.c @@ -29,7 +29,7 @@ static size_t x86_arch_prctl__scnprintf_code(int option, = char *bf, size_t size, =20 size_t syscall_arg__scnprintf_x86_arch_prctl_code(char *bf, size_t size, s= truct syscall_arg *arg) { - unsigned long code =3D arg->val; + int code =3D (int)arg->val; =20 return x86_arch_prctl__scnprintf_code(code, bf, size, arg->show_string_pr= efix); } diff --git a/tools/perf/trace/beauty/eventfd.c b/tools/perf/trace/beauty/ev= entfd.c index 4bab106213c6..38d9e6585375 100644 --- a/tools/perf/trace/beauty/eventfd.c +++ b/tools/perf/trace/beauty/eventfd.c @@ -15,7 +15,7 @@ static size_t syscall_arg__scnprintf_eventfd_flags(char *= bf, size_t size, struct { bool show_prefix =3D arg->show_string_prefix; const char *prefix =3D "EFD_"; - int printed =3D 0, flags =3D arg->val; + int printed =3D 0, flags =3D (int)arg->val; =20 if (flags =3D=3D 0) return scnprintf(bf, size, "NONE"); diff --git a/tools/perf/trace/beauty/fcntl.c b/tools/perf/trace/beauty/fcnt= l.c index d075904dccce..6fbeeb1fcf82 100644 --- a/tools/perf/trace/beauty/fcntl.c +++ b/tools/perf/trace/beauty/fcntl.c @@ -25,7 +25,8 @@ static size_t fcntl__scnprintf_getlease(unsigned long val= , char *bf, size_t size static const char *fcntl_setlease[] =3D { "RDLCK", "WRLCK", "UNLCK", }; static DEFINE_STRARRAY(fcntl_setlease, "F_"); =20 - return strarray__scnprintf(&strarray__fcntl_setlease, bf, size, "%x", sho= w_prefix, val); + return strarray__scnprintf(&strarray__fcntl_setlease, bf, size, "%x", sho= w_prefix, + (int)val); } =20 static size_t syscall_arg__scnprintf_fcntl_getlease(char *bf, size_t size,= struct syscall_arg *arg) @@ -70,7 +71,7 @@ size_t syscall_arg__scnprintf_fcntl_cmd(char *bf, size_t = size, struct syscall_ar size_t syscall_arg__scnprintf_fcntl_arg(char *bf, size_t size, struct sysc= all_arg *arg) { bool show_prefix =3D arg->show_string_prefix; - int cmd =3D syscall_arg__val(arg, 1); + size_t cmd =3D syscall_arg__val(arg, 1); =20 if (cmd =3D=3D F_DUPFD) return syscall_arg__scnprintf_fd(bf, size, arg); diff --git a/tools/perf/trace/beauty/flock.c b/tools/perf/trace/beauty/floc= k.c index a6514a6f07cf..ace7309ee1fc 100644 --- a/tools/perf/trace/beauty/flock.c +++ b/tools/perf/trace/beauty/flock.c @@ -24,7 +24,7 @@ size_t syscall_arg__scnprintf_flock(char *bf, size_t size= , struct syscall_arg *a { bool show_prefix =3D arg->show_string_prefix; const char *prefix =3D "LOCK_"; - int printed =3D 0, op =3D arg->val; + int printed =3D 0, op =3D (int)arg->val; =20 if (op =3D=3D 0) return scnprintf(bf, size, "NONE"); diff --git a/tools/perf/trace/beauty/fs_at_flags.c b/tools/perf/trace/beaut= y/fs_at_flags.c index c200669cb944..f9ab43300171 100644 --- a/tools/perf/trace/beauty/fs_at_flags.c +++ b/tools/perf/trace/beauty/fs_at_flags.c @@ -29,7 +29,7 @@ static size_t fs_at__scnprintf_flags(unsigned long flags,= char *bf, size_t size, size_t syscall_arg__scnprintf_fs_at_flags(char *bf, size_t size, struct sy= scall_arg *arg) { bool show_prefix =3D arg->show_string_prefix; - int flags =3D arg->val; + int flags =3D (int)arg->val; =20 return fs_at__scnprintf_flags(flags, bf, size, show_prefix); } @@ -52,7 +52,7 @@ static size_t faccessat2__scnprintf_flags(unsigned long f= lags, char *bf, size_t size_t syscall_arg__scnprintf_faccessat2_flags(char *bf, size_t size, stru= ct syscall_arg *arg) { bool show_prefix =3D arg->show_string_prefix; - int flags =3D arg->val; + int flags =3D (int)arg->val; =20 return faccessat2__scnprintf_flags(flags, bf, size, show_prefix); } diff --git a/tools/perf/trace/beauty/futex_op.c b/tools/perf/trace/beauty/f= utex_op.c index 00365156782b..8c1741aab9be 100644 --- a/tools/perf/trace/beauty/futex_op.c +++ b/tools/perf/trace/beauty/futex_op.c @@ -29,7 +29,7 @@ static size_t syscall_arg__scnprintf_futex_op(char *bf, s= ize_t size, struct sysc SCF_UADDR2 =3D (1 << 4), SCF_VAL3 =3D (1 << 5), }; - int op =3D arg->val; + int op =3D (int)arg->val; int cmd =3D op & FUTEX_CMD_MASK; size_t printed =3D 0; =20 diff --git a/tools/perf/trace/beauty/futex_val3.c b/tools/perf/trace/beauty= /futex_val3.c index 9114f7620571..6f02e8d5961d 100644 --- a/tools/perf/trace/beauty/futex_val3.c +++ b/tools/perf/trace/beauty/futex_val3.c @@ -8,7 +8,7 @@ static size_t syscall_arg__scnprintf_futex_val3(char *bf, size_t size, str= uct syscall_arg *arg) { const char *prefix =3D "FUTEX_BITSET_"; - unsigned int bitset =3D arg->val; + unsigned int bitset =3D (unsigned int)arg->val; =20 if (bitset =3D=3D FUTEX_BITSET_MATCH_ANY) return scnprintf(bf, size, "%s%s", arg->show_string_prefix ? prefix : ""= , "MATCH_ANY"); diff --git a/tools/perf/trace/beauty/ioctl.c b/tools/perf/trace/beauty/ioct= l.c index e19eb6ea361d..abb959be372d 100644 --- a/tools/perf/trace/beauty/ioctl.c +++ b/tools/perf/trace/beauty/ioctl.c @@ -175,7 +175,7 @@ static size_t ioctl__scnprintf_cmd(unsigned long cmd, c= har *bf, size_t size, boo size_t syscall_arg__scnprintf_ioctl_cmd(char *bf, size_t size, struct sysc= all_arg *arg) { unsigned long cmd =3D arg->val; - int fd =3D syscall_arg__val(arg, 0); + int fd =3D (int)syscall_arg__val(arg, 0); struct file *file =3D thread__files_entry(arg->thread, fd); =20 if (file !=3D NULL) { diff --git a/tools/perf/trace/beauty/kcmp.c b/tools/perf/trace/beauty/kcmp.c index 9351f84390a1..bc81eaef4944 100644 --- a/tools/perf/trace/beauty/kcmp.c +++ b/tools/perf/trace/beauty/kcmp.c @@ -15,14 +15,14 @@ =20 size_t syscall_arg__scnprintf_kcmp_idx(char *bf, size_t size, struct sysca= ll_arg *arg) { - unsigned long fd =3D arg->val; - int type =3D syscall_arg__val(arg, 2); + int fd =3D (int)arg->val; + int type =3D (int)syscall_arg__val(arg, 2); pid_t pid; =20 if (type !=3D KCMP_FILE) return syscall_arg__scnprintf_long(bf, size, arg); =20 - pid =3D syscall_arg__val(arg, arg->idx =3D=3D 3 ? 0 : 1); /* idx1 -> pid1= , idx2 -> pid2 */ + pid =3D (pid_t)syscall_arg__val(arg, arg->idx =3D=3D 3 ? 0 : 1); /* idx1 = -> pid1, idx2 -> pid2 */ return pid__scnprintf_fd(arg->trace, pid, fd, bf, size); } =20 @@ -34,7 +34,7 @@ static size_t kcmp__scnprintf_type(int type, char *bf, si= ze_t size, bool show_pr =20 size_t syscall_arg__scnprintf_kcmp_type(char *bf, size_t size, struct sysc= all_arg *arg) { - unsigned long type =3D arg->val; + int type =3D (int)arg->val; =20 if (type !=3D KCMP_FILE) arg->mask |=3D (1 << 3) | (1 << 4); /* Ignore idx1 and idx2 */ diff --git a/tools/perf/trace/beauty/mmap.c b/tools/perf/trace/beauty/mmap.c index 3c5e97b93dd5..b3136b7b31ac 100644 --- a/tools/perf/trace/beauty/mmap.c +++ b/tools/perf/trace/beauty/mmap.c @@ -76,7 +76,7 @@ static size_t madvise__scnprintf_behavior(int behavior, c= har *bf, size_t size) static size_t syscall_arg__scnprintf_madvise_behavior(char *bf, size_t siz= e, struct syscall_arg *arg) { - return madvise__scnprintf_behavior(arg->val, bf, size); + return madvise__scnprintf_behavior((int)arg->val, bf, size); } =20 #define SCA_MADV_BHV syscall_arg__scnprintf_madvise_behavior diff --git a/tools/perf/trace/beauty/mode_t.c b/tools/perf/trace/beauty/mod= e_t.c index 29a8fadfb7f9..802f856c7bd1 100644 --- a/tools/perf/trace/beauty/mode_t.c +++ b/tools/perf/trace/beauty/mode_t.c @@ -24,7 +24,7 @@ static size_t syscall_arg__scnprintf_mode_t(char *bf, siz= e_t size, struct syscal { bool show_prefix =3D arg->show_string_prefix; const char *prefix =3D "S_"; - int printed =3D 0, mode =3D arg->val; + int printed =3D 0, mode =3D (int)arg->val; =20 #define P_MODE(n) \ if ((mode & S_##n) =3D=3D S_##n) { \ diff --git a/tools/perf/trace/beauty/msg_flags.c b/tools/perf/trace/beauty/= msg_flags.c index 2da581ff0c80..2fd0ddcd7f88 100644 --- a/tools/perf/trace/beauty/msg_flags.c +++ b/tools/perf/trace/beauty/msg_flags.c @@ -32,7 +32,7 @@ static size_t syscall_arg__scnprintf_msg_flags(char *bf, = size_t size, { bool show_prefix =3D arg->show_string_prefix; const char *prefix =3D "MSG_"; - int printed =3D 0, flags =3D arg->val; + int printed =3D 0, flags =3D (int)arg->val; =20 if (flags =3D=3D 0) return scnprintf(bf, size, "NONE"); diff --git a/tools/perf/trace/beauty/open_flags.c b/tools/perf/trace/beauty= /open_flags.c index 78f6566ef110..17ceb0f1b36a 100644 --- a/tools/perf/trace/beauty/open_flags.c +++ b/tools/perf/trace/beauty/open_flags.c @@ -79,7 +79,7 @@ size_t open__scnprintf_flags(unsigned long flags, char *b= f, size_t size, bool sh =20 size_t syscall_arg__scnprintf_open_flags(char *bf, size_t size, struct sys= call_arg *arg) { - int flags =3D arg->val; + int flags =3D (int)arg->val; =20 if (!(flags & O_CREAT)) arg->mask |=3D 1 << (arg->idx + 1); /* Mask the mode parm */ diff --git a/tools/perf/trace/beauty/perf_event_open.c b/tools/perf/trace/b= eauty/perf_event_open.c index 9f1ed989c775..d62c9d0261ad 100644 --- a/tools/perf/trace/beauty/perf_event_open.c +++ b/tools/perf/trace/beauty/perf_event_open.c @@ -20,7 +20,7 @@ static size_t syscall_arg__scnprintf_perf_flags(char *bf,= size_t size, { bool show_prefix =3D arg->show_string_prefix; const char *prefix =3D "PERF_"; - int printed =3D 0, flags =3D arg->val; + int printed =3D 0, flags =3D (int)arg->val; =20 if (flags =3D=3D 0) return 0; @@ -58,7 +58,7 @@ static int attr__fprintf(FILE *fp __maybe_unused, const c= har *name, const char * =20 args->first =3D false; args->printed +=3D printed; - return printed; + return (int)printed; } =20 static size_t perf_event_attr___scnprintf(struct perf_event_attr *attr, ch= ar *bf, size_t size, bool show_zeros __maybe_unused) diff --git a/tools/perf/trace/beauty/pid.c b/tools/perf/trace/beauty/pid.c index 8f9c9950f8ba..609a582e0221 100644 --- a/tools/perf/trace/beauty/pid.c +++ b/tools/perf/trace/beauty/pid.c @@ -2,7 +2,7 @@ =20 size_t syscall_arg__scnprintf_pid(char *bf, size_t size, struct syscall_ar= g *arg) { - int pid =3D arg->val; + int pid =3D (int)arg->val; struct trace *trace =3D arg->trace; size_t printed =3D scnprintf(bf, size, "%d", pid); struct thread *thread =3D machine__findnew_thread(trace->host, pid, pid); diff --git a/tools/perf/trace/beauty/pkey_alloc.c b/tools/perf/trace/beauty= /pkey_alloc.c index f9596ed02cc4..c597a0f26a3d 100644 --- a/tools/perf/trace/beauty/pkey_alloc.c +++ b/tools/perf/trace/beauty/pkey_alloc.c @@ -48,7 +48,7 @@ static size_t pkey_alloc__scnprintf_access_rights(int acc= ess_rights, char *bf, s =20 size_t syscall_arg__scnprintf_pkey_alloc_access_rights(char *bf, size_t si= ze, struct syscall_arg *arg) { - unsigned long cmd =3D arg->val; + int cmd =3D (int)arg->val; =20 return pkey_alloc__scnprintf_access_rights(cmd, bf, size, arg->show_strin= g_prefix); } diff --git a/tools/perf/trace/beauty/prctl.c b/tools/perf/trace/beauty/prct= l.c index 7d1aa9fd03da..7768a72134a3 100644 --- a/tools/perf/trace/beauty/prctl.c +++ b/tools/perf/trace/beauty/prctl.c @@ -26,10 +26,10 @@ static size_t prctl__scnprintf_set_mm(int option, char = *bf, size_t size, bool sh =20 size_t syscall_arg__scnprintf_prctl_arg2(char *bf, size_t size, struct sys= call_arg *arg) { - int option =3D syscall_arg__val(arg, 0); + int option =3D (int)syscall_arg__val(arg, 0); =20 if (option =3D=3D PR_SET_MM) - return prctl__scnprintf_set_mm(arg->val, bf, size, arg->show_string_pref= ix); + return prctl__scnprintf_set_mm((int)arg->val, bf, size, arg->show_string= _prefix); /* * We still don't grab the contents of pointers on entry or exit, * so just print them as hex numbers @@ -42,7 +42,7 @@ size_t syscall_arg__scnprintf_prctl_arg2(char *bf, size_t= size, struct syscall_a =20 size_t syscall_arg__scnprintf_prctl_arg3(char *bf, size_t size, struct sys= call_arg *arg) { - int option =3D syscall_arg__val(arg, 0); + int option =3D (int)syscall_arg__val(arg, 0); =20 if (option =3D=3D PR_SET_MM) return syscall_arg__scnprintf_hex(bf, size, arg); @@ -52,7 +52,7 @@ size_t syscall_arg__scnprintf_prctl_arg3(char *bf, size_t= size, struct syscall_a =20 size_t syscall_arg__scnprintf_prctl_option(char *bf, size_t size, struct s= yscall_arg *arg) { - unsigned long option =3D arg->val; + int option =3D (int)arg->val; enum { SPO_ARG2 =3D (1 << 1), SPO_ARG3 =3D (1 << 2), @@ -75,7 +75,7 @@ size_t syscall_arg__scnprintf_prctl_option(char *bf, size= _t size, struct syscall [PR_SET_PDEATHSIG] =3D all_but2, }; =20 - if (option < ARRAY_SIZE(masks)) + if (option < (int)ARRAY_SIZE(masks)) arg->mask |=3D masks[option]; =20 return prctl__scnprintf_option(option, bf, size, arg->show_string_prefix); diff --git a/tools/perf/trace/beauty/sched_policy.c b/tools/perf/trace/beau= ty/sched_policy.c index 68aa59eeed8d..69dad444fa41 100644 --- a/tools/perf/trace/beauty/sched_policy.c +++ b/tools/perf/trace/beauty/sched_policy.c @@ -23,7 +23,7 @@ static size_t syscall_arg__scnprintf_sched_policy(char *b= f, size_t size, "NORMAL", "FIFO", "RR", "BATCH", "ISO", "IDLE", "DEADLINE", }; size_t printed; - int policy =3D arg->val, + int policy =3D (int)arg->val, flags =3D policy & ~SCHED_POLICY_MASK; =20 policy &=3D SCHED_POLICY_MASK; diff --git a/tools/perf/trace/beauty/seccomp.c b/tools/perf/trace/beauty/se= ccomp.c index 637722e2796b..42c213a9eb88 100644 --- a/tools/perf/trace/beauty/seccomp.c +++ b/tools/perf/trace/beauty/seccomp.c @@ -10,7 +10,7 @@ static size_t syscall_arg__scnprintf_seccomp_op(char *bf,= size_t size, struct sy { bool show_prefix =3D arg->show_string_prefix; const char *prefix =3D "SECCOMP_SET_MODE_"; - int op =3D arg->val; + int op =3D (int)arg->val; size_t printed =3D 0; =20 switch (op) { @@ -35,7 +35,7 @@ static size_t syscall_arg__scnprintf_seccomp_flags(char *= bf, size_t size, { bool show_prefix =3D arg->show_string_prefix; const char *prefix =3D "SECCOMP_FILTER_FLAG_"; - int printed =3D 0, flags =3D arg->val; + int printed =3D 0, flags =3D (int)arg->val; =20 #define P_FLAG(n) \ if (flags & SECCOMP_FILTER_FLAG_##n) { \ diff --git a/tools/perf/trace/beauty/signum.c b/tools/perf/trace/beauty/sig= num.c index 21220c56500a..a78bceeaa23e 100644 --- a/tools/perf/trace/beauty/signum.c +++ b/tools/perf/trace/beauty/signum.c @@ -5,7 +5,7 @@ static size_t syscall_arg__scnprintf_signum(char *bf, size_= t size, struct syscal { bool show_prefix =3D arg->show_string_prefix; const char *prefix =3D "SIG"; - int sig =3D arg->val; + int sig =3D (int)arg->val; =20 switch (sig) { #define P_SIGNUM(n) case SIG##n: return scnprintf(bf, size, "%s%s", show_p= refix ? prefix : "", #n) diff --git a/tools/perf/trace/beauty/socket.c b/tools/perf/trace/beauty/soc= ket.c index b0870c7b48e5..07a0bfa164d1 100644 --- a/tools/perf/trace/beauty/socket.c +++ b/tools/perf/trace/beauty/socket.c @@ -20,10 +20,10 @@ static size_t socket__scnprintf_ipproto(int protocol, c= har *bf, size_t size, boo =20 size_t syscall_arg__scnprintf_socket_protocol(char *bf, size_t size, struc= t syscall_arg *arg) { - int domain =3D syscall_arg__val(arg, 0); + int domain =3D (int)syscall_arg__val(arg, 0); =20 if (domain =3D=3D AF_INET || domain =3D=3D AF_INET6) - return socket__scnprintf_ipproto(arg->val, bf, size, arg->show_string_pr= efix); + return socket__scnprintf_ipproto((int)arg->val, bf, size, arg->show_stri= ng_prefix); =20 return syscall_arg__scnprintf_int(bf, size, arg); } @@ -43,5 +43,5 @@ static size_t socket__scnprintf_level(int level, char *bf= , size_t size, bool sho =20 size_t syscall_arg__scnprintf_socket_level(char *bf, size_t size, struct s= yscall_arg *arg) { - return socket__scnprintf_level(arg->val, bf, size, arg->show_string_prefi= x); + return socket__scnprintf_level((int)arg->val, bf, size, arg->show_string_= prefix); } diff --git a/tools/perf/trace/beauty/socket_type.c b/tools/perf/trace/beaut= y/socket_type.c index bed8d5761ca8..2c7e3801ba34 100644 --- a/tools/perf/trace/beauty/socket_type.c +++ b/tools/perf/trace/beauty/socket_type.c @@ -23,7 +23,7 @@ static size_t syscall_arg__scnprintf_socket_type(char *bf= , size_t size, struct s bool show_prefix =3D arg->show_string_prefix; const char *prefix =3D "SOCK_"; size_t printed; - int type =3D arg->val, + int type =3D (int)arg->val, flags =3D type & ~SOCK_TYPE_MASK; =20 type &=3D SOCK_TYPE_MASK; diff --git a/tools/perf/trace/beauty/statx.c b/tools/perf/trace/beauty/stat= x.c index 24843e614b93..de47bc0c03e5 100644 --- a/tools/perf/trace/beauty/statx.c +++ b/tools/perf/trace/beauty/statx.c @@ -19,7 +19,7 @@ static size_t statx__scnprintf_mask(unsigned long mask, c= har *bf, size_t size, b size_t syscall_arg__scnprintf_statx_mask(char *bf, size_t size, struct sys= call_arg *arg) { bool show_prefix =3D arg->show_string_prefix; - int mask =3D arg->val; + int mask =3D (int)arg->val; =20 return statx__scnprintf_mask(mask, bf, size, show_prefix); } diff --git a/tools/perf/trace/beauty/tracepoints/x86_irq_vectors.c b/tools/= perf/trace/beauty/tracepoints/x86_irq_vectors.c index 8eb9bc8534ac..6430d1084dc1 100644 --- a/tools/perf/trace/beauty/tracepoints/x86_irq_vectors.c +++ b/tools/perf/trace/beauty/tracepoints/x86_irq_vectors.c @@ -13,7 +13,8 @@ static DEFINE_STRARRAY(x86_irq_vectors, "_VECTOR"); =20 static size_t x86_irq_vectors__scnprintf(unsigned long vector, char *bf, s= ize_t size, bool show_prefix) { - return strarray__scnprintf_suffix(&strarray__x86_irq_vectors, bf, size, "= %#x", show_prefix, vector); + return strarray__scnprintf_suffix(&strarray__x86_irq_vectors, bf, size, "= %#x", show_prefix, + (int)vector); } =20 size_t syscall_arg__scnprintf_x86_irq_vectors(char *bf, size_t size, struc= t syscall_arg *arg) diff --git a/tools/perf/trace/beauty/tracepoints/x86_msr.c b/tools/perf/tra= ce/beauty/tracepoints/x86_msr.c index 6b8f129579d6..2be91be1af05 100644 --- a/tools/perf/trace/beauty/tracepoints/x86_msr.c +++ b/tools/perf/trace/beauty/tracepoints/x86_msr.c @@ -23,7 +23,8 @@ static DEFINE_STRARRAYS(x86_MSRs_tables); =20 static size_t x86_MSR__scnprintf(unsigned long msr, char *bf, size_t size,= bool show_prefix) { - return strarrays__scnprintf(&strarrays__x86_MSRs_tables, bf, size, "%#x",= show_prefix, msr); + return strarrays__scnprintf(&strarrays__x86_MSRs_tables, bf, size, "%#x",= show_prefix, + (int)msr); } =20 size_t syscall_arg__scnprintf_x86_MSR(char *bf, size_t size, struct syscal= l_arg *arg) diff --git a/tools/perf/trace/beauty/waitid_options.c b/tools/perf/trace/be= auty/waitid_options.c index d4d10b33ba0e..2a920a0f41d0 100644 --- a/tools/perf/trace/beauty/waitid_options.c +++ b/tools/perf/trace/beauty/waitid_options.c @@ -7,7 +7,7 @@ static size_t syscall_arg__scnprintf_waitid_options(char *b= f, size_t size, { bool show_prefix =3D arg->show_string_prefix; const char *prefix =3D "W"; - int printed =3D 0, options =3D arg->val; + int printed =3D 0, options =3D (int)arg->val; =20 #define P_OPTION(n) \ if (options & W##n) { \ --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-ot1-f73.google.com (mail-ot1-f73.google.com [209.85.210.73]) (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 202A521E091 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531906; cv=none; b=E2uJP0TOj4fxSNFXioP9LnNS4KByTfQoLGFpe9CT88fsp3f6cgVyvPpxQ9Rqr0Q51BWaP0D/t0dY7Sv1GMjgQWEpABxqRSQq0MGxcb5w/xauTXBJpaaZLdHdzc2XRJ2PtLSN0ikjGMDSjVH/R+Zn9kN9acRkm7C+BrXsZwC1mCw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531906; c=relaxed/simple; bh=BdxBvdM8Nz1jjfzc2QOyKg4s6TJ+thWky0MjwWyO/zs=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=k7WD34n7tuUh7qtvrJr+Od6gKimQ4vODpWhg8SE8JoohoXOwjPnpFLxbbatnHRYkKLgvknzgpHFuwsLdAfp5M6yd/vNkIJHb+1TI+YZKAD+GOMPXHit8mES1z0xXmqqvexc/XZmXNDf045lFbRcpfDjQoL/4Qczbs937/Je07kk= 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=oqs2yE84; arc=none smtp.client-ip=209.85.210.73 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="oqs2yE84" Received: by mail-ot1-f73.google.com with SMTP id 46e09a7af769-72a2107154bso2238594a34.2 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531903; x=1744136703; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=5ZOeKL1qyiNLxvN/oZiofK7bOvfFp8Vu2ELG7LdRApM=; b=oqs2yE84udBic/QmNM6DVYPaI0HuSLxetxrDvRGLS2zxnlRwwA3nAOiv9A+5mvv+/X oz6VSui4jj+FSywatqhYD1r4bs1RBujHjF1BkrRjM/zDUmiboicYFF2zU8WYEeB5EwwM nAGl6ufgO2T8QnMtcIrJbKiboXg8itz1qUlrsKXayefD8uwz+lbgMvbTqaKKcAQv8TLX gZFHoPNn6GeqpjTW1PDxJArIr3wLMMIyRIE2IqDoMHHuAGeUWT0zU9j8kVjj0C4UG3iG 8TFWMvf/HNkQnmBkH5jEUb3lFe6i/HhglIBRTMm4eyX0PA12sQ0LCr4CCesNl5M9MvWl hFkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531903; x=1744136703; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=5ZOeKL1qyiNLxvN/oZiofK7bOvfFp8Vu2ELG7LdRApM=; b=GWKkW+ZTWmn9DSTPdGgwQfBhTlVmJkb3kORzXdU9vCzka69hPW08bxifUwT2PGMTYT swvmfFZtoeLw7Q+hsKGumEjlie+L+HHT6rAHO1l+6X2Y30H18oDlZfZKND3AMlG7hPcc 6StjIcGXM6aO4Z3bc+lXGx53P7PmzN/2ZGMX/a+vbttc9fV1g36YAoj2hW+eS/lnNwZi wtxyDz1RPwetIGrVxSz4VovyAEybRTOtg8BjDNwayMDnLcRAUwhypueL+Vmfyjw8QIuv hlgB8jzx/9iVjhQwZVmmWs3vmPaZftO0z7Mor1pInYCiDR3oZXobuO0K2xHjg6/6gmZr WFmA== X-Forwarded-Encrypted: i=1; AJvYcCU9debxMCQY3R5VWgl5TwSsd2x3qzJDvRQvAs7Tx8DsKzqfWR2kz4+EEVJ2LtcoOpa1uzB3G1AOZ4hFuNI=@vger.kernel.org X-Gm-Message-State: AOJu0YxqQZOR4HStAi08zg6oi406+yjaPlrrt1+vKsVTO8V5ZIdkDsrO nI9ufUtfDbL1AcOuW5rnG+wmArRftWTUshOs6tENl2SwRjEn9k7NzFbKcBpOR2THgpEzn9jmRcy cl3ca7g== X-Google-Smtp-Source: AGHT+IEJjExpoJgVVZs6Hlo908U0oi37UxrWtfgmlindyP0XfVD6VZ0siD4yNQUpQLPVE+N9T3e9cbC/UfJi X-Received: from oacmm9.prod.google.com ([2002:a05:6871:7289:b0:2b8:e735:4798]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6830:7002:b0:72b:a61c:cbb2 with SMTP id 46e09a7af769-72c6378e768mr9367054a34.10.1743531903184; Tue, 01 Apr 2025 11:25:03 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:11 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-14-irogers@google.com> Subject: [PATCH v1 13/48] perf trace-event: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/util/python.c | 4 ++-- .../scripting-engines/trace-event-python.c | 13 ++++++----- tools/perf/util/trace-event-info.c | 3 ++- tools/perf/util/trace-event-parse.c | 2 +- tools/perf/util/trace-event-read.c | 23 +++++++++---------- tools/perf/util/trace-event-scripting.c | 2 +- 6 files changed, 24 insertions(+), 23 deletions(-) diff --git a/tools/perf/util/python.c b/tools/perf/util/python.c index f3c05da25b4a..f55b2b7435ad 100644 --- a/tools/perf/util/python.c +++ b/tools/perf/util/python.c @@ -305,7 +305,7 @@ tracepoint_field(const struct pyrf_event *pe, struct te= p_format_field *field) len =3D field->size; if (field->flags & TEP_FIELD_IS_DYNAMIC) { val =3D tep_read_number(pevent, data + offset, len); - offset =3D val; + offset =3D (unsigned int)val; len =3D offset >> 16; offset &=3D 0xffff; if (tep_field_is_relative(field->flags)) @@ -599,7 +599,7 @@ static PyObject *pyrf_thread_map__item(PyObject *obj, P= y_ssize_t i) if (i >=3D perf_thread_map__nr(pthreads->threads)) return NULL; =20 - return Py_BuildValue("i", perf_thread_map__pid(pthreads->threads, i)); + return Py_BuildValue("i", (int)perf_thread_map__pid(pthreads->threads, (i= nt)i)); } =20 static PySequenceMethods pyrf_thread_map__sequence_methods =3D { diff --git a/tools/perf/util/scripting-engines/trace-event-python.c b/tools= /perf/util/scripting-engines/trace-event-python.c index 520729e78965..547eeb45a832 100644 --- a/tools/perf/util/scripting-engines/trace-event-python.c +++ b/tools/perf/util/scripting-engines/trace-event-python.c @@ -713,9 +713,10 @@ static void set_sample_datasrc_in_dict(PyObject *dict, _PyUnicode_FromString(decode)); } =20 -static void regs_map(struct regs_dump *regs, uint64_t mask, const char *ar= ch, char *bf, int size) +static void regs_map(struct regs_dump *regs, uint64_t mask, const char *ar= ch, char *bf, size_t size) { - unsigned int i =3D 0, r; + unsigned int i =3D 0; + u64 r; int printed =3D 0; =20 bf[0] =3D 0; @@ -731,7 +732,7 @@ static void regs_map(struct regs_dump *regs, uint64_t m= ask, const char *arch, ch =20 printed +=3D scnprintf(bf + printed, size - printed, "%5s:0x%" PRIx64 " ", - perf_reg_name(r, arch), val); + perf_reg_name((int)r, arch), val); } } =20 @@ -744,7 +745,7 @@ static int set_regs_in_dict(PyObject *dict, struct perf_event_attr *attr =3D &evsel->core.attr; const char *arch =3D perf_env__arch(evsel__env(evsel)); =20 - int size =3D (__sw_hweight64(attr->sample_regs_intr) * MAX_REG_SIZE) + 1; + size_t size =3D (__sw_hweight64(attr->sample_regs_intr) * MAX_REG_SIZE) += 1; char *bf =3D NULL; =20 if (sample->intr_regs) { @@ -957,7 +958,7 @@ static void python_process_tracepoint(struct perf_sampl= e *sample, Py_FatalError(handler_name); } =20 - pid =3D raw_field_value(event, "common_pid", data); + pid =3D (int)raw_field_value(event, "common_pid", data); =20 sprintf(handler_name, "%s__%s", event->system, event->name); =20 @@ -1017,7 +1018,7 @@ static void python_process_tracepoint(struct perf_sam= ple *sample, if (field->flags & TEP_FIELD_IS_DYNAMIC) { val =3D tep_read_number(scripting_context->pevent, data + offset, len); - offset =3D val; + offset =3D (unsigned int)val; len =3D offset >> 16; offset &=3D 0xffff; if (tep_field_is_relative(field->flags)) diff --git a/tools/perf/util/trace-event-info.c b/tools/perf/util/trace-eve= nt-info.c index c8755679281e..0f012890ff21 100644 --- a/tools/perf/util/trace-event-info.c +++ b/tools/perf/util/trace-event-info.c @@ -45,7 +45,8 @@ static int record_file(const char *file, ssize_t hdr_sz) unsigned long long size =3D 0; char buf[BUFSIZ], *sizep; off_t hdr_pos =3D lseek(output_fd, 0, SEEK_CUR); - int r, fd; + int fd; + ssize_t r; int err =3D -EIO; =20 fd =3D open(file, O_RDONLY); diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-ev= ent-parse.c index 9c015fc2bcfb..982cbbc57168 100644 --- a/tools/perf/util/trace-event-parse.c +++ b/tools/perf/util/trace-event-parse.c @@ -34,7 +34,7 @@ static int get_common_field(struct scripting_context *con= text, *size =3D field->size; } =20 - return tep_read_number(pevent, context->event_data + *offset, *size); + return (int)tep_read_number(pevent, context->event_data + *offset, *size); } =20 int common_lock_depth(struct scripting_context *context) diff --git a/tools/perf/util/trace-event-read.c b/tools/perf/util/trace-eve= nt-read.c index ecbbb93f0185..78a3b3801d69 100644 --- a/tools/perf/util/trace-event-read.c +++ b/tools/perf/util/trace-event-read.c @@ -25,18 +25,18 @@ static int input_fd; static ssize_t trace_data_size; static bool repipe; =20 -static int __do_read(int fd, void *buf, int size) +static int __do_read(int fd, void *buf, size_t size) { - int rsize =3D size; + int rsize =3D (int)size; =20 while (size) { - int ret =3D read(fd, buf, size); + ssize_t ret =3D read(fd, buf, size); =20 if (ret <=3D 0) return -1; =20 if (repipe) { - int retw =3D write(STDOUT_FILENO, buf, ret); + ssize_t retw =3D write(STDOUT_FILENO, buf, ret); =20 if (retw <=3D 0 || retw !=3D ret) { pr_debug("repiping input file"); @@ -51,14 +51,13 @@ static int __do_read(int fd, void *buf, int size) return rsize; } =20 -static int do_read(void *data, int size) +static int do_read(void *data, size_t size) { int r; =20 r =3D __do_read(input_fd, data, size); if (r <=3D 0) { - pr_debug("reading input file (size expected=3D%d received=3D%d)", - size, r); + pr_debug("reading input file (size expected=3D%zd received=3D%d)", size,= r); return -1; } =20 @@ -68,10 +67,10 @@ static int do_read(void *data, int size) } =20 /* If it fails, the next read will report it */ -static void skip(int size) +static void skip(unsigned long long size) { char buf[BUFSIZ]; - int r; + unsigned long long r; =20 while (size) { r =3D size > BUFSIZ ? BUFSIZ : size; @@ -86,7 +85,7 @@ static unsigned int read4(struct tep_handle *pevent) =20 if (do_read(&data, 4) < 0) return 0; - return tep_read_number(pevent, &data, 4); + return (unsigned int)tep_read_number(pevent, &data, 4); } =20 static unsigned long long read8(struct tep_handle *pevent) @@ -119,7 +118,7 @@ static char *read_string(void) } =20 if (repipe) { - int retw =3D write(STDOUT_FILENO, &c, 1); + ssize_t retw =3D write(STDOUT_FILENO, &c, 1); =20 if (retw <=3D 0 || retw !=3D r) { pr_debug("repiping input file string"); @@ -365,7 +364,7 @@ static int read_saved_cmdline(struct tep_handle *pevent) } buf[ret] =3D '\0'; =20 - parse_saved_cmdline(pevent, buf, size); + parse_saved_cmdline(pevent, buf, (unsigned int)size); ret =3D 0; out: free(buf); diff --git a/tools/perf/util/trace-event-scripting.c b/tools/perf/util/trac= e-event-scripting.c index 72abb28b7b5a..fb1fa227c98e 100644 --- a/tools/perf/util/trace-event-scripting.c +++ b/tools/perf/util/trace-event-scripting.c @@ -422,5 +422,5 @@ int perf_sample__sprintf_flags(u32 flags, char *str, si= ze_t sz) if (pos < sz) str[pos] =3D 0; =20 - return pos; + return (int)pos; } --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-ot1-f73.google.com (mail-ot1-f73.google.com [209.85.210.73]) (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 E3361220685 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531912; cv=none; b=hWJDFO4NyiRxTzVNo7fSLPgsz80h3VV820poqpQKuDh9tLoDCEYhBB20BOFJrLq8PRwkgo+uCMBzknwFvebcFFLrWUPANclYLvHWQVivmKRGo1oV+lIeRc9lel1VScxgLk3fd48rBbjLAupaiQk28Vxb3eBH32n6z8WZ0/AnRCg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531912; c=relaxed/simple; bh=qDrp7dk7UR2vIDZlNdoIiVlhsgl8sqEUeq30Rm4CVOQ=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=sOhQdlAkmTUUThjjk8NL3ZEkHWu/baCPr+M/Cdi88rPviPS2CsLiqG78Beu6fuuPs7lHI+LQN3Uur3rW823HeTVRPFTcoq3JgjTNRIIU2RAUfENKW/QzEFn9z/N5YRzsMMphznnFf43dWKj6D/FXnhgjmcKSGz6sI6VoEs8nAd4= 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=jHkKoPk3; arc=none smtp.client-ip=209.85.210.73 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="jHkKoPk3" Received: by mail-ot1-f73.google.com with SMTP id 46e09a7af769-72c0050a956so4464993a34.2 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531905; x=1744136705; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=O/8NQLM9l0NGLIoAsEqb7s+pejmq1A+sdW/bucy2qKA=; b=jHkKoPk3JY1gJYE2gugJ+bnStU+pC6nzFly5P4QGTorn7+P3vMUV68Xz14GJ4v7gHK tu1GG4YMfKOUx2ZKhMFGNaQju9imJEYtqnMOKzRoHXiuh8ixc5L1+tDuIyjYb1RezWRw VL/v6BdasqSn/KSg5wTycAbH5N97G+kCEAQ2ychU02xeupNTex/+MuchX3Qa2Z7LaXxX LzdMcOGwX6u7/XpxnH7g1njLBia2DI423eUrZWVmU1TlS3vclcet+iMF3VRCFPih5GJe BE/8c7KqZQPh9fH3QAXByOI0zbtJAylicBNBVkhPT7hplOCXf8IJnXCruZJT9e1dTBpZ pOfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531905; x=1744136705; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=O/8NQLM9l0NGLIoAsEqb7s+pejmq1A+sdW/bucy2qKA=; b=Bm4PwFgab8ynLi71lPCtZqqv5AlSD5ESfHchbHfiu+uBwOxpHFNakr7S26POLP+Ufk SOme/Jnc+O970PrUqnY0lakcwn1LRWhGm6JqlDZ9WmQxAGr5u0isfTZ4pNTpKhCHm4aG gKeWxd7TAeEu4s/m+T4Jja0k9W4r/6KU/ppsPQWYkmX1h0HtLnyADPnqcZ/dxuvhnzU1 99hdMLFocb7g7smfmzKCPY8vdhoRUJw3xSh9aANPXCcWgmU91PDEiKqRa4qxE/9sQXGG 7REt0stlshNnfzis1Asn560P+jq2enGqpEwf0vfKKMVYU/gcts+aJNrf2Du9oj8N7V6E xGWg== X-Forwarded-Encrypted: i=1; AJvYcCWyTvg3bPSQbqmk3s/p1azVENi3GW4M4SY9nV1KaFqUYU/bMG2FvPp1Y8pypjaeeQ006L35xNsR2NhP5JI=@vger.kernel.org X-Gm-Message-State: AOJu0YwciMfZwXsdy3yX7tVY1VHE6c2olo270B0Rb6unGqn1/ugH5Llc Sre9AuDVLw0pcqRp1/nbW7XwEhC7XPYord4uYIHUpWBW39OSar264POIo8AbhEuh9vf9JEUbQUC 22cJ+VA== X-Google-Smtp-Source: AGHT+IHwNaLSyfCZQ9yujF0xXANqRr9YjfymtsJ7oaqSCiXH/SKLc6pr1AzAS4LSQE5X0torr+Wm+aih3zPD X-Received: from oabvr7.prod.google.com ([2002:a05:6871:a0c7:b0:289:2c09:4e10]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6830:388c:b0:72b:8274:7c09 with SMTP id 46e09a7af769-72c6377e191mr9800632a34.4.1743531905060; Tue, 01 Apr 2025 11:25:05 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:12 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-15-irogers@google.com> Subject: [PATCH v1 14/48] perf jvmti: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/jvmti/jvmti_agent.c | 6 +++--- tools/perf/util/genelf.c | 2 +- tools/perf/util/jitdump.c | 24 +++++++++++++----------- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/tools/perf/jvmti/jvmti_agent.c b/tools/perf/jvmti/jvmti_agent.c index 526dcaf9f079..2e2be9d8a118 100644 --- a/tools/perf/jvmti/jvmti_agent.c +++ b/tools/perf/jvmti/jvmti_agent.c @@ -377,7 +377,7 @@ jvmti_write_code(void *agent, char const *sym, sym_len =3D strlen(sym) + 1; =20 rec.p.id =3D JIT_CODE_LOAD; - rec.p.total_size =3D sizeof(rec) + sym_len; + rec.p.total_size =3D (uint32_t)(sizeof(rec) + sym_len); rec.p.timestamp =3D perf_get_timestamp(); =20 rec.code_size =3D size; @@ -400,7 +400,7 @@ jvmti_write_code(void *agent, char const *sym, */ rec.code_index =3D code_generation++; =20 - ret =3D fwrite_unlocked(&rec, sizeof(rec), 1, fp); + ret =3D (int)fwrite_unlocked(&rec, sizeof(rec), 1, fp); fwrite_unlocked(sym, sym_len, 1, fp); =20 if (code) @@ -454,7 +454,7 @@ jvmti_write_debug_info(void *agent, uint64_t code, */ size +=3D nr_lines * sizeof(struct debug_entry); size +=3D flen; - rec.p.total_size =3D size; + rec.p.total_size =3D (uint32_t)size; =20 /* * If JVM is multi-threaded, multiple concurrent calls to agent diff --git a/tools/perf/util/genelf.c b/tools/perf/util/genelf.c index cdce7f173d00..6da8f3c53f7d 100644 --- a/tools/perf/util/genelf.c +++ b/tools/perf/util/genelf.c @@ -252,7 +252,7 @@ jit_write_elf(int fd, uint64_t load_addr, const char *s= ym, Elf_Shdr *shdr; uint64_t eh_frame_base_offset; char *strsym =3D NULL; - int symlen; + size_t symlen; int retval =3D -1; =20 if (elf_version(EV_CURRENT) =3D=3D EV_NONE) { diff --git a/tools/perf/util/jitdump.c b/tools/perf/util/jitdump.c index 624964f01b5f..874ced77d0a4 100644 --- a/tools/perf/util/jitdump.c +++ b/tools/perf/util/jitdump.c @@ -160,7 +160,7 @@ jit_open(struct jit_buf_desc *jd, const char *name) */ flockfile(jd->in); =20 - ret =3D fread(buf, sizeof(header), 1, jd->in); + ret =3D (int)fread(buf, sizeof(header), 1, jd->in); if (ret !=3D 1) goto error; =20 @@ -226,7 +226,7 @@ jit_open(struct jit_buf_desc *jd, const char *name) bsz =3D bs; buf =3D n; /* read extra we do not know about */ - ret =3D fread(buf, bs - bsz, 1, jd->in); + ret =3D (int)fread(buf, bs - bsz, 1, jd->in); if (ret !=3D 1) goto error; } @@ -274,7 +274,7 @@ jit_get_next_entry(struct jit_buf_desc *jd) /* * file is still locked at this point */ - ret =3D fread(prefix, sizeof(*prefix), 1, jd->in); + ret =3D (int)fread(prefix, sizeof(*prefix), 1, jd->in); if (ret !=3D 1) return NULL; =20 @@ -304,7 +304,7 @@ jit_get_next_entry(struct jit_buf_desc *jd) =20 addr =3D ((void *)jd->buf) + sizeof(*prefix); =20 - ret =3D fread(addr, bs - sizeof(*prefix), 1, jd->in); + ret =3D (int)fread(addr, bs - sizeof(*prefix), 1, jd->in); if (ret !=3D 1) return NULL; =20 @@ -398,7 +398,7 @@ static uint64_t convert_timestamp(struct jit_buf_desc *= jd, uint64_t timestamp) return timestamp; =20 tc.time_shift =3D time_conv->time_shift; - tc.time_mult =3D time_conv->time_mult; + tc.time_mult =3D (unsigned int)time_conv->time_mult; tc.time_zero =3D time_conv->time_zero; =20 /* @@ -443,8 +443,8 @@ static int jit_repipe_code_load(struct jit_buf_desc *jd= , union jr_entry *jr) nspid =3D jr->load.pid; pid =3D jr_entry_pid(jd, jr); tid =3D jr_entry_tid(jd, jr); - csize =3D jr->load.code_size; - usize =3D jd->unwinding_mapped_size; + csize =3D (int)jr->load.code_size; + usize =3D (int)jd->unwinding_mapped_size; addr =3D jr->load.code_addr; sym =3D (void *)((unsigned long)jr + sizeof(jr->load)); code =3D (unsigned long)jr + jr->load.p.total_size - csize; @@ -465,8 +465,10 @@ static int jit_repipe_code_load(struct jit_buf_desc *j= d, union jr_entry *jr) =20 size =3D PERF_ALIGN(size, sizeof(u64)); uaddr =3D (uintptr_t)code; - ret =3D jit_emit_elf(jd, filename, sym, addr, (const void *)uaddr, csize,= jd->debug_data, jd->nr_debug_entries, - jd->unwinding_data, jd->eh_frame_hdr_size, jd->unwinding_size); + ret =3D jit_emit_elf(jd, filename, sym, addr, (const void *)uaddr, csize,= jd->debug_data, + (int)jd->nr_debug_entries, jd->unwinding_data, + (uint32_t)jd->eh_frame_hdr_size, + (uint32_t)jd->unwinding_size); =20 if (jd->debug_data && jd->nr_debug_entries) { zfree(&jd->debug_data); @@ -559,8 +561,8 @@ static int jit_repipe_code_move(struct jit_buf_desc *jd= , union jr_entry *jr) =20 nspid =3D jr->load.pid; pid =3D jr_entry_pid(jd, jr); - tid =3D jr_entry_tid(jd, jr); - usize =3D jd->unwinding_mapped_size; + tid =3D (int)jr_entry_tid(jd, jr); + usize =3D (int)jd->unwinding_mapped_size; idr_size =3D jd->machine->id_hdr_size; =20 /* --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-oa1-f74.google.com (mail-oa1-f74.google.com [209.85.160.74]) (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 580E62206B8 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531910; cv=none; b=EqWJStAVSsyWaoYpc7IwImESmGk8bgIECM9cfORjDIAJviDqvzhEpc26GUV5wRTdw5LiwXSSoZg5QoF0fUjaZsizkwTX5R+sqze5HdpOy1uCwnSN81TRksEniS21W31GGohgs2tzA5tPWUmXijr0m+DQmDS/ZXS4dQVFHUt4TYQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531910; c=relaxed/simple; bh=LJ5bCbL+1daj73vhuubS5IIoYg4jtmiDU7rvTqttR9Q=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=eqUmgqIau0EKTCVt3sDfKCtT6h53iuEN4icQXy+UAwchyxl9FHyZKFConM7g8DyYtq6rOZ1WGj2qldCmHrx71EK4IVhHSJ482EoJSFJ/88ao5JSFRiiMqrDSHloZ4fvBNRgA72XuRJQ3SFBUL3LvsMnSmoPA3Lpje6B+hrUSb94= 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=Ee1gaJVF; arc=none smtp.client-ip=209.85.160.74 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="Ee1gaJVF" Received: by mail-oa1-f74.google.com with SMTP id 586e51a60fabf-2c8786a89d3so1239084fac.0 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531907; x=1744136707; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=Da5DUiJVSsEnsA3gzfAHXUpLTR3Ufuk1FvHZfSFlCg4=; b=Ee1gaJVF00LEQ6hDSsNMINNiE9yL7LSeT9izMBg/ST1mSddj4XsNBnkPsBfP5rbIT+ DW9I/XnOi8ZnRgMro8xUyxDtJmNk2zPx0WMvDlFpPqfW9qx+kkwLCwJ8G0K7Ax2DxhRx YdpTzyq3Xbt8VC+KaymsiJgT+U2aVA8jBjlIyG/bPICLP3TNP/XXXx536YrTaIOQ7vdF a/D8pdpdyLiyEW7+OMyYk2lo1rHcGca+S69xgb1NOvDXfNsz21m3HDsiMlL3fub634R2 QsGiubqsgglNohJCBKDNbQZB1MP1COP1Jgzkos7hT4ZmFSq/ROAmmuhuPoSgHyVMCY6K wqZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531907; x=1744136707; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Da5DUiJVSsEnsA3gzfAHXUpLTR3Ufuk1FvHZfSFlCg4=; b=se2gMlM2pdqeOkLI05QgG6ok5s9PzGJ6R/fl1tCXyMVE2Dn1jaiizV7g0hbt/l6rUE QY4XUpuJa8jx5TCRgka13ZHl1ntNozai3QdmpF1qqFiRcUzf/odejIDrIeQQChvTXf+9 jFFKb2ktKXwB1JqbnKWTWyZ+LGJntM2EUS+uSyyXv0Ccfjx6/ne99yOQ1r8ubEMsjbOx 5Ntqa/YOXNrZaeWme8/RTewxV0Glo4PIKlqkMplddXD2UTNhfxst8WDEVG9HcXTGgszr mz17u0FudwI41H7HF6FPFfS1uoec2Yaq80fU7xOrx3ekh6Tg0R2zFOgtw8lSnGXJ38My R99Q== X-Forwarded-Encrypted: i=1; AJvYcCXRqY3SPHdFUVG1ew6izL0HeaPgJjzBOF1P3zfcdhnyG05L8lEnkcXWhTYtcUIlnqTDJEgk5Kn5JEx36Rw=@vger.kernel.org X-Gm-Message-State: AOJu0Ywn1fBt/tutJQESXVoJhDzRbqWv2IK2HrwqOY544qR5ZZPucrrl xMh+Pnuv9zDrXKazZyEBIh9P0EOqMqZrhE21BWIKn7b6zKH/uEyIbG3RMJZEv5AdPYGeiXN8gK3 USBfoiQ== X-Google-Smtp-Source: AGHT+IHEwV4zAtKk0PBs2gzq5sOI+YyZoow9R1UWlEQXJU1TorP5CNFdlUvUeobymJBu8Fg99nd3p4RriyMG X-Received: from oabsc17.prod.google.com ([2002:a05:6871:2211:b0:2c1:665d:545e]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6871:3a0b:b0:29e:5897:e9d1 with SMTP id 586e51a60fabf-2cbcf825a7emr7646545fac.39.1743531907119; Tue, 01 Apr 2025 11:25:07 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:13 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-16-irogers@google.com> Subject: [PATCH v1 15/48] perf pmu: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/util/hwmon_pmu.c | 8 ++++---- tools/perf/util/pmu.c | 9 ++++----- tools/perf/util/pmus.c | 16 ++++++++-------- tools/perf/util/tool_pmu.c | 2 +- 4 files changed, 17 insertions(+), 18 deletions(-) diff --git a/tools/perf/util/hwmon_pmu.c b/tools/perf/util/hwmon_pmu.c index 3cce77fc8004..6245eeb593c9 100644 --- a/tools/perf/util/hwmon_pmu.c +++ b/tools/perf/util/hwmon_pmu.c @@ -170,7 +170,7 @@ bool parse_hwmon_filename(const char *filename, for (size_t i =3D 0; fn_type[i] !=3D '\0'; i++) { if (fn_type[i] >=3D '0' && fn_type[i] <=3D '9') { fn_type[i] =3D '\0'; - *number =3D strtoul(&filename[i], (char **)&fn_item, 10); + *number =3D (int)strtoul(&filename[i], (char **)&fn_item, 10); if (*fn_item =3D=3D '_') fn_item++; break; @@ -194,7 +194,7 @@ bool parse_hwmon_filename(const char *filename, return false; } =20 - *type =3D elem - &hwmon_type_strs[0]; + *type =3D (enum hwmon_type)(elem - &hwmon_type_strs[0]); if (!item) return true; =20 @@ -213,7 +213,7 @@ bool parse_hwmon_filename(const char *filename, fn_item, filename); return false; } - *item =3D elem - &hwmon_item_strs[0]; + *item =3D (enum hwmon_item)(elem - &hwmon_item_strs[0]); return true; } =20 @@ -352,7 +352,7 @@ struct perf_pmu *hwmon_pmu__new(struct list_head *pmus,= int hwmon_dir, const cha return NULL; =20 hwm->hwmon_dir_fd =3D hwmon_dir; - hwm->pmu.type =3D PERF_PMU_TYPE_HWMON_START + strtoul(sysfs_name + 5, NUL= L, 10); + hwm->pmu.type =3D PERF_PMU_TYPE_HWMON_START + (int)strtoul(sysfs_name + 5= , NULL, 10); if (hwm->pmu.type > PERF_PMU_TYPE_HWMON_END) { pr_err("Unable to encode hwmon type from %s in valid PMU type\n", sysfs_= name); goto err_out; diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c index b7ebac5ab1d1..5a940bf004fb 100644 --- a/tools/perf/util/pmu.c +++ b/tools/perf/util/pmu.c @@ -1269,7 +1269,7 @@ __u64 perf_pmu__format_bits(struct perf_pmu *pmu, con= st char *name) { struct perf_pmu_format *format =3D pmu_find_format(&pmu->format, name); __u64 bits =3D 0; - int fbit; + size_t fbit; =20 if (!format) return 0; @@ -1314,9 +1314,8 @@ static void pmu_format_value(unsigned long *format, _= _u64 value, __u64 *v, =20 static __u64 pmu_format_max_value(const unsigned long *format) { - int w; + size_t w =3D bitmap_weight(format, PERF_PMU_FORMAT_BITS); =20 - w =3D bitmap_weight(format, PERF_PMU_FORMAT_BITS); if (!w) return 0; if (w < 64) @@ -1824,7 +1823,7 @@ int perf_pmu__for_each_format(struct perf_pmu *pmu, v= oid *state, pmu_format_call if (!pmu->is_core) return 0; =20 - for (size_t i =3D 0; i < ARRAY_SIZE(terms); i++) { + for (int i =3D 0; i < (int)ARRAY_SIZE(terms); i++) { int config =3D PERF_PMU_FORMAT_VALUE_CONFIG; =20 if (i < PERF_PMU_FORMAT_VALUE_CONFIG_END) @@ -2281,7 +2280,7 @@ static void perf_pmu__compute_config_masks(struct per= f_pmu *pmu) return; =20 list_for_each_entry(format, &pmu->format, list) { - unsigned int i; + size_t i; __u64 *mask; =20 if (format->value >=3D PERF_PMU_FORMAT_VALUE_CONFIG_END) diff --git a/tools/perf/util/pmus.c b/tools/perf/util/pmus.c index b99292de7669..0b9071219376 100644 --- a/tools/perf/util/pmus.c +++ b/tools/perf/util/pmus.c @@ -59,7 +59,7 @@ static void pmu_read_sysfs(unsigned int to_read_pmus); =20 size_t pmu_name_len_no_suffix(const char *str) { - int orig_len, len; + size_t orig_len, len; bool has_hex_digits =3D false; =20 orig_len =3D len =3D strlen(str); @@ -353,7 +353,7 @@ struct perf_pmu *perf_pmus__scan_core(struct perf_pmu *= pmu) static struct perf_pmu *perf_pmus__scan_skip_duplicates(struct perf_pmu *p= mu) { bool use_core_pmus =3D !pmu || pmu->is_core; - int last_pmu_name_len =3D 0; + size_t last_pmu_name_len =3D 0; const char *last_pmu_name =3D (pmu && pmu->name) ? pmu->name : ""; =20 if (!pmu) { @@ -364,7 +364,7 @@ static struct perf_pmu *perf_pmus__scan_skip_duplicates= (struct perf_pmu *pmu) =20 if (use_core_pmus) { list_for_each_entry_continue(pmu, &core_pmus, list) { - int pmu_name_len =3D pmu_name_len_no_suffix(pmu->name ?: ""); + size_t pmu_name_len =3D pmu_name_len_no_suffix(pmu->name ?: ""); =20 if (last_pmu_name_len =3D=3D pmu_name_len && !strncmp(last_pmu_name, pmu->name ?: "", pmu_name_len)) @@ -376,7 +376,7 @@ static struct perf_pmu *perf_pmus__scan_skip_duplicates= (struct perf_pmu *pmu) pmu =3D list_prepare_entry(pmu, &other_pmus, list); } list_for_each_entry_continue(pmu, &other_pmus, list) { - int pmu_name_len =3D pmu_name_len_no_suffix(pmu->name ?: ""); + size_t pmu_name_len =3D pmu_name_len_no_suffix(pmu->name ?: ""); =20 if (last_pmu_name_len =3D=3D pmu_name_len && !strncmp(last_pmu_name, pmu->name ?: "", pmu_name_len)) @@ -581,7 +581,7 @@ static int build_format_string(void *state, const char = *name, int config, const unsigned long *bits) { struct build_format_string_args *args =3D state; - unsigned int num_bits; + size_t num_bits; int ret1, ret2 =3D 0; =20 (void)config; @@ -631,14 +631,14 @@ void perf_pmus__print_raw_pmu_events(const struct pri= nt_callbacks *print_cb, voi .long_string =3D STRBUF_INIT, .num_formats =3D 0, }; - int len =3D pmu_name_len_no_suffix(pmu->name); + size_t len =3D pmu_name_len_no_suffix(pmu->name); const char *desc =3D "(see 'man perf-list' or 'man perf-record' on how t= o encode it)"; =20 if (!pmu->is_core) desc =3D NULL; =20 - strbuf_addf(&format_args.short_string, "%.*s/", len, pmu->name); - strbuf_addf(&format_args.long_string, "%.*s/", len, pmu->name); + strbuf_addf(&format_args.short_string, "%.*s/", (int)len, pmu->name); + strbuf_addf(&format_args.long_string, "%.*s/", (int)len, pmu->name); perf_pmu__for_each_format(pmu, &format_args, build_format_string); =20 if (format_args.num_formats > 3) diff --git a/tools/perf/util/tool_pmu.c b/tools/perf/util/tool_pmu.c index 97b327d1ce4a..155eea8a0a49 100644 --- a/tools/perf/util/tool_pmu.c +++ b/tools/perf/util/tool_pmu.c @@ -103,7 +103,7 @@ enum tool_pmu_event evsel__tool_event(const struct evse= l *evsel) =20 const char *evsel__tool_pmu_event_name(const struct evsel *evsel) { - return tool_pmu__event_to_str(evsel->core.attr.config); + return tool_pmu__event_to_str((enum tool_pmu_event)evsel->core.attr.confi= g); } =20 static bool read_until_char(struct io *io, char e) --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (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 314A322154A for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531911; cv=none; b=E0HPmVmy/r+Svo1qDaKxXq6uo/eLMNTpMqUsclI0uzOOfnPuIxr08ar88ARSaMEeoyeJvztW60PllXsBzawdk1MReBoW0CMkbd6vCz2I7xqQrqHWo7sJV7QXpaKl+m/gQPWM+O1EYjH/vUfVpHhZLaO9XGGDudHlB14d+vU8Dz8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531911; c=relaxed/simple; bh=Kfkzo+5W/SAVTQiKbqJy3w6KmtcdHFUtBwo6443WHE4=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=rtm8o1lMtHSVtojZs5Jd4lySCSn+0KjCLDbXmyd+CCU/7WXMl+M24QkmB4q15SKEfjiGwO1HikuiCe6G0nnjUnCxRCvrXkOfXlHcXI68gY2sDjJLehBLr5tmNg9HmSVOVAjblIg9dAEjZEyugNPIoApGotTFzmtmkW4Cpyi87KE= 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=je75Qr+I; arc=none smtp.client-ip=209.85.216.73 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="je75Qr+I" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-2ff7cf599beso10930193a91.0 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531909; x=1744136709; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=u6gZ31IgopMBgDwwNg+Kodxz7McFENtAdZR1UxE8I14=; b=je75Qr+IVZpl0XIF0wdhzQIJHdVypl3g5/GcA29K8DcTlZN0tTGc7YbXTyTQ/Tz5r6 RCz7y/0EY5jac5+3wgCspJtd1pZThaDCrKZn1DS09yfgR2lCBsMb2KcFrUCy/qksPfND 1NRD6h070uBgjrHk+Z0rqDPsSSEoi3FR4oX9NLFQLJgbw1SBHkh7ZZlp7hNbuDMlRTpw bmFL0yP8WCEMUthaLkTYeAvdLrqeU2XVf2qPoXDmrOdrDqX3k9kVDB2FTeTBSRsmqb6m kf9ysc8NXNI96w9ir29Kdh4FBv8zdZnDDwRmhYNJxbRoZ+N+j1dtuJFDbvzg+I1R+P4W iklg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531909; x=1744136709; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=u6gZ31IgopMBgDwwNg+Kodxz7McFENtAdZR1UxE8I14=; b=EcnHfJ5ZhHRGr5qd3GAgQr0zFZ/o9D6Wq6H+jDB7GI8ImRdqRmPmWsEkMnSijzywy0 QU4URoLBvcbKfw59LGutH1X+BR+AZDNeKZrqEeZD1uNrgcjuNPzTNZ/eRLXWN1yJ9OAb w57I8qLWVOXFzwZTHLHIw/gLrV/ywz+DIHUSpKMxD+LoGJKaWQVI44GXICFTzb5pLZFZ hH/1c3ZmATO3Os3Ql2uMjSlMsvAjGHYq1c2eMBLL+C2pWXGsCfkTZi/vYAO2eP2pELQ+ GeBUa4XqVfwm3G6rJHkTL6rF92NVlTnGoX3eSmQy6tro+gQn15dDS96qXTTxpqVsf9oA dm2A== X-Forwarded-Encrypted: i=1; AJvYcCVDAnnwij6Zr7sKoMp6FfHuDG1mNFSFf/pAjqNcW8ZbrPpZjJ5XueWelZXJk6o0aISwOHs8/JQqUI9Yh7Y=@vger.kernel.org X-Gm-Message-State: AOJu0YyNJXtAkEud2uNEsu/f9iRg3HucTatyZ/Qcn90mzaS5B/nfgsMQ xlev78tRxNS3sqbsKgIgH3Dfe/53+IEQbI8pNmcn6Lb91pMatXpeGb0AHqY1oa11mIp3lw+cZn2 LGR4kzg== X-Google-Smtp-Source: AGHT+IGb9PqtJPk4RJc5mRZLPE5cwOmQxaQKgQS86YxmUT+3hYz9TaBQkDfzuiovvaXbeulfAkLi/U3sT6eX X-Received: from pfbln13.prod.google.com ([2002:a05:6a00:3ccd:b0:736:b315:f15e]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:1410:b0:736:8c0f:774f with SMTP id d2e1a72fcca58-7398047c30emr19166828b3a.22.1743531909266; Tue, 01 Apr 2025 11:25:09 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:14 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-17-irogers@google.com> Subject: [PATCH v1 16/48] perf annotate powerpc: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/arch/powerpc/annotate/instructions.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/arch/powerpc/annotate/instructions.c b/tools/perf/a= rch/powerpc/annotate/instructions.c index ca567cfdcbdb..598dc10a1751 100644 --- a/tools/perf/arch/powerpc/annotate/instructions.c +++ b/tools/perf/arch/powerpc/annotate/instructions.c @@ -18,7 +18,7 @@ static struct ins_ops *powerpc__associate_instruction_ops= (struct arch *arch, con =20 ops =3D &jump_ops; =20 - i =3D strlen(name) - 1; + i =3D (int)strlen(name) - 1; if (i < 0) return NULL; =20 --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) (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 CC92A221574 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531913; cv=none; b=qDBaMZVTUF+glHVh76bE5C0Ymb+yslhxhNggcchxtBkORKEYyGfdFamkzx+BS3oBpI30O1VAJZbmz7TrEcaBLnZ878ZjCbdZ69KpB+bSNWTe0VC7BnsZ5fTEeyBrCrgVese1WJy9ja8wzacpEUpWOuu7V9o2RzdVO6cQlfz7ATg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531913; c=relaxed/simple; bh=NVp48ELe3NGN2lOoGPuvwT3sT1wygzjzD2ZhMUU85No=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=BjfLevGdnlooLrPauMifJ9eEXz+v1QYgoRNzTb9DNE65zGQYJxBZI6ZxWJni1miOYhSASTWy3C6AsqhOnNxLhyVG3lAFtfOxwxXbz0TSMpW1c76uzVyTJOskNmnByB7PQEZrwvcBta5hE4K/eQ0qB15ixPNSlht+6HQ+pZcRqrU= 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=1b06Rgp/; arc=none smtp.client-ip=209.85.214.201 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="1b06Rgp/" Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-229668c8659so5255265ad.3 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531911; x=1744136711; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=E5DAxMj62L/j12CYFGazizxFtELcthjcSJ5gr2Eyr0M=; b=1b06Rgp/l9Lyofzk/fvBbSZRrHiDcPjfQiOoJi0jFlw21albRrf48TKDQ53O7aZEiR ukmZ7zZ4SV/79iVKeJCoVu/Wo3g5U7pWY7o/pdPS/Pw6ksFMB1M3s5J9i8LePXRxD9CS mYDR6NMiBjUHDTGqkE2j6TtIbNhXJ43N8yH/yZ/I0YOtUdukoioITZtQz/Vm98qLCGN3 jmD06mbFejDZPJBeAtMi/fokflr2UsPYl1xG3jbNgUe8JeewdVcTw9wjKSebC5YQB2MY Lhl+D3tBjf1ZV2XGxebdF8iwJBK1koBi2k4eQ5FUs0ri3jX2FphNjGNdAZZFgXIAN5XZ FLCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531911; x=1744136711; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=E5DAxMj62L/j12CYFGazizxFtELcthjcSJ5gr2Eyr0M=; b=a2t/Tqal0hlbOr7tVfOMB7LfYnLE6pAbWA/qUjsE8U4XFjpG2G+ve0I4dm/iK3Ii/f qw28ufRtebjfynKcirlMQGx/OXbpPnQF+7uC8t8kPdRCzdL8aurtFjUjkLBj5ALFvDsD ar/YjllRja5Hof49748DPJix5rm2TlRmLakt2pM+Pa9GU3nKUexXnLbL95AxDRK0pjRS VSNxkp+8OuPNkFu7yGeJ40v9+cO7QXj/wTdk0nFlNRhd/m2aomZgky5g6hKg6iaDCr42 T4wzyZMECOeBDSzU+Ity1QrNa/56ZB/cpiNJJ/FBOvE64zXGBZgmzQ9+O71bVavFwe1S /yaw== X-Forwarded-Encrypted: i=1; AJvYcCVZ/ixf+B4G7XscV5EGW2KZgeo7FVAEWMI77o7n39iB/2mD7nk4/yVafkRYt/OP73OnaM/r2jz1TRGDyF0=@vger.kernel.org X-Gm-Message-State: AOJu0YxHRBpP5o5Nqwh+y3w3ejzO+H1SE8x7yQ02u5eFmSiO4Gca8Iol K4/9PijuEH38+s64yFiDQCOqVIq7OHSPOyuzKhStEEuB3/l7O/Uy94Uz+bINTUJ90+ogRLJelPf 1gVNlFQ== X-Google-Smtp-Source: AGHT+IFFVoMjOxd6ofNhkni8FG6rogh/sedArmlUwSWu1eoBjUbWyPSvmEKMEQvbfnCT2dlrbfnCjpnKbLRm X-Received: from plbmm3.prod.google.com ([2002:a17:903:a03:b0:223:3ab:e4a0]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:d548:b0:223:5ca1:3b0b with SMTP id d9443c01a7336-2292f9f1990mr231538075ad.40.1743531911025; Tue, 01 Apr 2025 11:25:11 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:15 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-18-irogers@google.com> Subject: [PATCH v1 17/48] perf s390: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/util/s390-sample-raw.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/perf/util/s390-sample-raw.c b/tools/perf/util/s390-sampl= e-raw.c index 335217bb532b..7e5c1448ea6b 100644 --- a/tools/perf/util/s390-sample-raw.c +++ b/tools/perf/util/s390-sample-raw.c @@ -202,7 +202,7 @@ static void s390_cpumcfdg_dump(struct perf_pmu *pmu, st= ruct perf_sample *sample) color_fprintf(stdout, color, " [%#08zx] Counterset:%d" " Counters:%d\n", offset, ce.set, ce.ctr); for (i =3D 0, p =3D (u64 *)(cep + 1); i < ce.ctr; ++i, ++p) { - char *ev_name =3D get_counter_name(ce.set, i, pmu); + char *ev_name =3D get_counter_name(ce.set, (int)i, pmu); =20 color_fprintf(stdout, color, "\tCounter:%03zd %s Value:%#018"PRIx64"\n", i, @@ -258,7 +258,7 @@ static void s390_pai_all_dump(struct evsel *evsel, stru= ct perf_sample *sample) p +=3D sizeof(pai_data.event_val); offset +=3D sizeof(pai_data.event_val); =20 - ev_name =3D get_counter_name(evsel->core.attr.config, + ev_name =3D get_counter_name((int)evsel->core.attr.config, pai_data.event_nr, evsel->pmu); color_fprintf(stdout, color, "\tCounter:%03d %s Value:%#018"PRIx64"\n", pai_data.event_nr, ev_name ?: "<unknown>", --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) (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 A6757221731 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531915; cv=none; b=sJkSYqk1Rm84/5QgjXFWENiiYm8YZt5tolMzlELPaNYKFOKw/7W5hO+oZWrXwAPlToULcSv2hQpNJM5oo2q8l1BDc+w7h5+6fo/viUX+ua+vvwp/IXsvvrrR7WOQhkrxdm3exZ67G72mWfclqk15L4u0mK1v3Qn7hWspTtDbuQ8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531915; c=relaxed/simple; bh=T6l6mC3RM0ZrHMfbS2Kf7Hfndu+LH5RVvzgZUQXsNkk=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=SIc5jXaAQILOGAPBYjBEnwgaTIfrSZelZ2LxvYsK7Ec53E2LA12VIW1jJqxHv9LQU867u/VyR+FEUSLTBtJvijaK0LWH2d42BY8zB1udo8y5iPplPR6OOMri9EkhnQpIRR+v0j1cE8INzzGDP+u0L2oCyZeAfHVujwxyBPdtjqg= 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=0VCX2HNS; arc=none smtp.client-ip=209.85.214.201 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="0VCX2HNS" Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-224364f2492so101355925ad.3 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531913; x=1744136713; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=RiHQSegTWQswup2joHhVjAcAClRwR1OKlYt+E6zEsXU=; b=0VCX2HNSwwvYNijhwSFI7qVfxTy3P/22SPvRAyRF+m1CnUnXqAPoZcJdnhVs822yUf WwGsqHrDwwl8Lkl6i7/hmkGo5PjHbexWgDJVhKQxYv0qI9d8tJV1HoPvOhG4IqQXFaTb RZyVJqCIDu+0LbufCpk+cqhFuZbSk4jH8ajZeqdkDY18t922tRH/d7fcZ9PkmAHP599r 5WqjaOTEOkLYz738j8HnNxKcO1LxO5Qp81iACLfWJULxGnDqmhjuivu4q1WTdcBkD1C9 KXo9UFdsnFozi+Bb6jTCc5XkBwMquFDDo8qh99xjfQEJuuPl3iZrz+gGiyzTdQNbCPkn EhhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531913; x=1744136713; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=RiHQSegTWQswup2joHhVjAcAClRwR1OKlYt+E6zEsXU=; b=hgjlSnoJ9n0VbWzme0KQlpKtdKAqeCeMNMpNcd8qCdAApLUFtfVGsn11CmyjRRSk8r J7I/4dpC+jQ9Eb6PmNb6E0q8RE6wpLhydpxFmrT+l0+Hf2e4Ei+YwMdSlgiH0xQmxPZA GHDQ9UJNGFbPVKuCZFHHzZyBUikbpZEquaHlrVKAuTwxZ2d8PUZH352eBGWa/tohd1Cx ZxXpFoCEc1C8+ao7G5qUrPvD/6/Ft/ZSggidRQjx2rD53b0AS2wY2c42QXi0nqRQfPhW zH6Ybl3tQbZMQyR9eD9PLIGKZyDeUcTzMAjeQf0FD3pHnA6SdJKIaONfmLPuo5lFSjd5 uoKw== X-Forwarded-Encrypted: i=1; AJvYcCVeXC5IJ4pyE1GM/ivncMjsBHpqa19/bj1mCad6UIHZRQVoUljU3vcCldoR9UPomGyvqsjR8BNPeoqdpKs=@vger.kernel.org X-Gm-Message-State: AOJu0YxpH8exv4YYqcWcf4hvndJfQbqeX0FozgERZ9hOPApSqPiMewji hKjzEpN1ZoKJKhAgF49O7CmenCg66WmcUEV3gX3CLtDIn+ZczoCkaYiBnvWuDzQmW/H4lQfz4Rj 5nidkjg== X-Google-Smtp-Source: AGHT+IHuVXNTFL1S0fgMH1lBNSWzsF0SZTjMeEvmJ7oxv+GtAlWHclrPyc521uvG/b5yh+eWGUgFdZYNZ6qq X-Received: from plbjw20.prod.google.com ([2002:a17:903:2794:b0:227:e9e8:7153]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:e887:b0:223:f408:c3f8 with SMTP id d9443c01a7336-2292f960348mr234747405ad.14.1743531912769; Tue, 01 Apr 2025 11:25:12 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:16 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-19-irogers@google.com> Subject: [PATCH v1 18/48] perf cs-etm: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/util/cs-etm-base.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/perf/util/cs-etm-base.c b/tools/perf/util/cs-etm-base.c index 4abe416e3feb..3aa1ccc9e452 100644 --- a/tools/perf/util/cs-etm-base.c +++ b/tools/perf/util/cs-etm-base.c @@ -101,7 +101,7 @@ static int cs_etm__print_cpu_metadata_v1(u64 *val, int = *offset) =20 magic =3D val[i + CS_ETM_MAGIC]; /* total params to print is NR_PARAMS + common block size for v1 */ - total_params =3D val[i + CS_ETM_NR_TRC_PARAMS] + CS_ETM_COMMON_BLK_MAX_V1; + total_params =3D (int)val[i + CS_ETM_NR_TRC_PARAMS] + CS_ETM_COMMON_BLK_M= AX_V1; =20 if (magic =3D=3D __perf_cs_etmv3_magic) { for (j =3D 0; j < total_params; j++, i++) { @@ -140,7 +140,7 @@ static void cs_etm__print_auxtrace_info(u64 *val, int n= um) { int i, cpu =3D 0, version, err; =20 - version =3D val[0]; + version =3D (int)val[0]; =20 for (i =3D 0; i < CS_HEADER_VERSION_MAX; i++) fprintf(stdout, cs_etm_global_header_fmts[i], val[i]); --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pj1-f74.google.com (mail-pj1-f74.google.com [209.85.216.74]) (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 0FB2C221DB2 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531917; cv=none; b=H+7Wf7QzWWoKx6SouxNwzRdxQbIke/iZSKU4TnLB0ThKEjn63nR8ssaLNI4/oDLNUo2jaVEIKdx+fLBaEKzC6KqEXjRHdBAfCj3iq1wqGh34UvPUCXpHt0P44yGGipWC4ynA0/ASvB9d7ZK88vj3z/S0X3OFZgvjhARUsCZAzjc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531917; c=relaxed/simple; bh=aBPkQXixO3M0cdrydBjxudnkZEJYVoo2mFaStMse8lE=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=R4AaYoCvVX8ZHwOO5w+uUTYFbK56VS9UiwXhyndtYxGqx4+HHWmWn1fI+75HD2L9kV1ARZR3B+pZrG/XwybN3ahlgOoPE+iO+RN9fmTmtpeAaDq1r0o9vNih4+i8JMYYaN74lfaEUqMdDxAzgPQ1GaxWR/gnWpCTJDNqrUGLv04= 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=EF3JUXCh; arc=none smtp.client-ip=209.85.216.74 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="EF3JUXCh" Received: by mail-pj1-f74.google.com with SMTP id 98e67ed59e1d1-2ff798e8c3bso9733817a91.2 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531915; x=1744136715; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=SWLsVb2nHYRUSeH0q6KqSGJVp30MQT3KgSPSmOv1X5g=; b=EF3JUXChhBgNcj2mGWmOsf3sr5cjrUl72JHRgql96Nle2Ik9QDcyJVInL/6GCX/ql8 D35+f9v+Au4TBqy0fxT/a4vkgyIShxpTsPaNk0AUCt6fr9mvMt3wtlfutctjNbF/vFjE E3CzEpR18BsVElTmJ58fMwGRcwNEzGxTa1vxTsE7QqvA/gRQxwddMhXB782zuPMtQleG huzCdoDE50VyiPaxTQeRaQJyr0szbvrrypk8zD/cb0pMTWmiECyuRKIEx7L+pP38wsYM UDUsCEPhm69Zwrs51Jwpydt/+WUWhdNoQkB/TD6EgWhcKqXV81d7BQWMnCxmTnWmPmtV ELjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531915; x=1744136715; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=SWLsVb2nHYRUSeH0q6KqSGJVp30MQT3KgSPSmOv1X5g=; b=OiCXcCwjobZYNfkRMephzMdEKDcyT7aS8nmi1uyUKoZXx6ozMu3Wunrk3YuE2scOp8 Sss02deNoCLKWoGXjz419y7Frp66kJaF2ZQDPqIOxKy39jpqZ/vlUpMsQqZtZNmxVpoW zS3M5atiq9sensa6gs4jygUzUFgfSOk1b1bWLxjwfwLAdEvsdPNoq1EpyU9cH2i5Unse WlgPUzgMxTgxA/ZxMIGYCTYIV6pWYCvyTb1WJsoV0BYHVecK5dv3M5x8aRvZcRQamUNt GmQJHhEoJdHc5mGkSwvPZH1pn4OwpsGWpOgUCFDie8uRCZk+IgOLQFDu+ln6PYTIvi6n 6JIw== X-Forwarded-Encrypted: i=1; AJvYcCX5aRrbqMx32f+en1o7nqFg5X1G2WyG4zaQNQaHj1ZdwzaCmJBLwbJB6W8PiU6VZ7EdKUCpiQpnSEE9y6E=@vger.kernel.org X-Gm-Message-State: AOJu0YzZSccSSWZTN7iO8IV6p4USDatkGJox2JMTSj/KvydYfGefTj/2 qMz/1x0/rI8E1uucssVg9Sfx8cv0DbDPBtSj7a3oZo0/dOkbqeybEmu5HaqSDArPesJkWOU/2L3 pSGB83A== X-Google-Smtp-Source: AGHT+IGj7YkqrbDyup/KuLeb3AZ/P8HTzGtHUP1SULJ5EGEg5Fjd8pSVBH+ABj6fvvcr1nB84DffOnbaJUGo X-Received: from pjbmj3.prod.google.com ([2002:a17:90b:3683:b0:305:2d68:2be6]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:384b:b0:2ee:863e:9ffc with SMTP id 98e67ed59e1d1-305320b2429mr18702506a91.21.1743531914866; Tue, 01 Apr 2025 11:25:14 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:17 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-20-irogers@google.com> Subject: [PATCH v1 19/48] perf stat: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-stat.c | 6 +++--- tools/perf/util/metricgroup.c | 15 +++++++-------- tools/perf/util/stat-display.c | 10 +++++----- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c index 68ea7589c143..3d1171d03d32 100644 --- a/tools/perf/builtin-stat.c +++ b/tools/perf/builtin-stat.c @@ -833,7 +833,7 @@ static int __run_perf_stat(int argc, const char **argv,= int run_idx) =20 l =3D strlen(counter->unit); if (l > stat_config.unit_width) - stat_config.unit_width =3D l; + stat_config.unit_width =3D (unsigned int)l; =20 if (evsel__should_store_id(counter) && evsel__store_ids(counter, evsel_list)) { @@ -2101,7 +2101,7 @@ static int __cmd_record(const struct option stat_opti= ons[], struct opt_aggr_mode session =3D perf_session__new(data, NULL); if (IS_ERR(session)) { pr_err("Perf session creation failed\n"); - return PTR_ERR(session); + return (int)PTR_ERR(session); } =20 init_features(session); @@ -2283,7 +2283,7 @@ static int __cmd_report(int argc, const char **argv) =20 session =3D perf_session__new(&perf_stat.data, &perf_stat.tool); if (IS_ERR(session)) - return PTR_ERR(session); + return (int)PTR_ERR(session); =20 perf_stat.session =3D session; stat_config.output =3D stderr; diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c index 46920ebadfd1..1e07dcaed3d7 100644 --- a/tools/perf/util/metricgroup.c +++ b/tools/perf/util/metricgroup.c @@ -256,12 +256,10 @@ static struct metric *metric__new(const struct pmu_me= tric *pm, return NULL; } =20 -static bool contains_metric_id(struct evsel **metric_events, int num_event= s, +static bool contains_metric_id(struct evsel **metric_events, size_t num_ev= ents, const char *metric_id) { - int i; - - for (i =3D 0; i < num_events; i++) { + for (size_t i =3D 0; i < num_events; i++) { if (!strcmp(evsel__metric_id(metric_events[i]), metric_id)) return true; } @@ -355,7 +353,7 @@ static int setup_metric_events(const char *pmu, struct = hashmap *ids, =20 static bool match_metric(const char *metric_or_groups, const char *sought) { - int len; + size_t len; char *m; =20 if (!sought) @@ -570,7 +568,7 @@ static int encode_metric_id(struct strbuf *sb, const ch= ar *x) if (ret) break; =20 - ret =3D strbuf_addch(sb, '0' + (c - code_characters)); + ret =3D strbuf_addch(sb, '0' + (int)(c - code_characters)); if (ret) break; } else { @@ -1145,7 +1143,8 @@ static int metric_list_cmp(void *priv __maybe_unused,= const struct list_head *l, const struct metric *left =3D container_of(l, struct metric, nd); const struct metric *right =3D container_of(r, struct metric, nd); struct expr_id_data *data; - int i, left_count, right_count; + int i; + size_t left_count, right_count; =20 left_count =3D hashmap__size(left->pctx->ids); tool_pmu__for_each_event(i) { @@ -1159,7 +1158,7 @@ static int metric_list_cmp(void *priv __maybe_unused,= const struct list_head *l, right_count--; } =20 - return right_count - left_count; + return (int)right_count - (int)left_count; } =20 /** diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c index e852ac0d9847..0aa172cf5e39 100644 --- a/tools/perf/util/stat-display.c +++ b/tools/perf/util/stat-display.c @@ -622,7 +622,7 @@ static void print_metric_only(struct perf_stat_config *= config, struct outstate *os =3D ctx; FILE *out =3D os->fh; char buf[1024], str[1024]; - unsigned mlen =3D config->metric_only_len; + size_t mlen =3D config->metric_only_len; const char *color =3D metric_threshold_classify__color(thresh); =20 if (!valid_only_metric(unit)) @@ -635,7 +635,7 @@ static void print_metric_only(struct perf_stat_config *= config, mlen +=3D strlen(color) + sizeof(PERF_COLOR_RESET) - 1; =20 color_snprintf(str, sizeof(str), color ?: "", fmt ?: "", val); - fprintf(out, "%*s ", mlen, str); + fprintf(out, "%*s ", (int)mlen, str); os->first =3D false; } =20 @@ -954,7 +954,7 @@ static void evsel__uniquify_counter(struct evsel *count= er) =20 config =3D strchr(name, '/'); if (config) { - int len =3D config - name; + int len =3D (int)(config - name); =20 if (config[1] =3D=3D '/') { /* case: event// */ @@ -967,7 +967,7 @@ static void evsel__uniquify_counter(struct evsel *count= er) config =3D strchr(name, ':'); if (config) { /* case: event:.. */ - int len =3D config - name; + int len =3D (int)(config - name); =20 ret =3D asprintf(&new_name, "%s/%.*s/%s", pmu_name, len, name, config += 1); } else { @@ -1493,7 +1493,7 @@ static int get_precision(double num) if (num > 1) return 0; =20 - return lround(ceil(-log10(num))); + return (int)lround(ceil(-log10(num))); } =20 static void print_table(struct perf_stat_config *config, --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (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 63123221F12 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531918; cv=none; b=gY55nGS5jWPoQSWSlTK8sdqYfh9kNv6MBeyxDqR/v4pk9Oi9yaXoP3OP885aJovCocr1Bt6INVSSLaJ37HUMtKtBP/9RHegxg/uO212nzrTNose1m1HNDizuP69Ws7Mi4lLjc28d+cEDF2xep9a4VfNmMCzoaRgfQ2twp+Tt+Ps= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531918; c=relaxed/simple; bh=3ipXD9lA5krXojMgzTZJeNFbDoGDG3hIVLo9GFGHUwM=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=V+IqwgB9SbAyF9gOHFIXvGymewQU2YWstkINu6lrQzRCTT6aHpLmO/woguezIAbpcMafkjHL8qjDKCMUjiGUTHJA39LeoMKV/BFtP7mFOHY4PZM6kjje59+cWBu9ayfE9NxdRJoA1d6MB5MUG4k45Y+IvPfuQ33yW/M/wmjzcsU= 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=AVcGA6ZV; arc=none smtp.client-ip=209.85.216.73 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="AVcGA6ZV" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-30364fc706fso10157663a91.3 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531917; x=1744136717; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=qbFOgtsegWIP33hU2q1VfvbvAOcEKBmypAgL+fgEkks=; b=AVcGA6ZVORQ3ZCOyq2ThYmZfrRW33AvYDpM8Lq5jXeYMIiUtULtuREmCGtCjHtYKP0 kTSW/4SbRqKm42KRvB6ZKDG1dY1FAyikiMarp04ldKAsWXcjHmF1gIKqP2vb+b7H2Ws4 vzzomoqYT7+Oys5VmQ1DXXEmMjl3wihAfaxhUpMI9QflevBJX962stDv3AMq0t0oiTsJ ZsI2wWwpCq7iAd8SAe9e7qw35bzO5rLm4VUhOL6xw0PPIl8VkLztGhUpL6ShWxTw6qVt Rzxdex2fWoPlmH8yTvAb/1VzQrZJyzVFrrIkbM/GnDGRQ6gxT0+ByQxD0OF/8NYLX3HY D8kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531917; x=1744136717; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qbFOgtsegWIP33hU2q1VfvbvAOcEKBmypAgL+fgEkks=; b=GYs70cKcWDBOcUWL4c8/XDwoX6qwceEJn9hgC3g0Ev0n02oFtOvVe1rC8cr1QZ/JJ5 LDh5xJJQfcj+CNTijhE2LGwiEZFoALy1Iw5JiUNa1RtFXHRvBkv66eA+HZ/OkWFkCkQr 5LOmGpmiNXaGIDsxSK4pH10JxokMenRCPhhRNkwEKdp1plebSv7R0nNy0BgArAtsfmEn qXHjB5vH3tMk5R+X0RkzjBX0Ia84mpzim7iI2IxmBGKBwQ23M1AgPlxABwEoJw7LMu8M bVpPvqd/sAL/7gmiXUllEddN20LzkD4kAKnO4cXBz/rWctA7yX4eR7eol8V0J64MRPYd TYeg== X-Forwarded-Encrypted: i=1; AJvYcCVTypkvRv/M4rAWr6cGjPwk/TDUwS0QVfXMZZ2JIfp/N60SvQpxK5Do8Y65SSiaMBcqtvSYyR2A3x0Qk90=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5iWvVaBB+SwhmtiVMJInitmqZMmNlX+CQ007bbVXrn5E7cjwF zhTMsbY3REM7sFp3MZNRZKt2Tf/JslU7FdQ2jcsCiEx4KDPCsc2Wngo+UYZRSuqevRZhSbJVBiH HvpVnJA== X-Google-Smtp-Source: AGHT+IHS8CwqpCMF7HFeq4dKWZ9ly2piLbucMCbuAUmYD9n4d1+U+fgWdEeYJVD2NQ881z/O0fjUe65Qoc4e X-Received: from pjl14.prod.google.com ([2002:a17:90b:2f8e:b0:2fa:26f0:c221]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:264d:b0:305:5f55:899 with SMTP id 98e67ed59e1d1-305608774f4mr6510152a91.11.1743531916860; Tue, 01 Apr 2025 11:25:16 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:18 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-21-irogers@google.com> Subject: [PATCH v1 20/48] perf dlfilter: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/dlfilters/dlfilter-test-api-v0.c | 4 ++-- tools/perf/util/dlfilter.c | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tools/perf/dlfilters/dlfilter-test-api-v0.c b/tools/perf/dlfil= ters/dlfilter-test-api-v0.c index 4ca2d7b2ea6c..bf2a1a7b3c71 100644 --- a/tools/perf/dlfilters/dlfilter-test-api-v0.c +++ b/tools/perf/dlfilters/dlfilter-test-api-v0.c @@ -166,10 +166,10 @@ int start(void **data, void *ctx) =20 CHECK(dlargc =3D=3D 6); CHECK(!strcmp(dlargv[0], "first")); - verbose =3D strtol(dlargv[1], NULL, 0); + verbose =3D (int)strtol(dlargv[1], NULL, 0); d->ip =3D strtoull(dlargv[2], NULL, 0); d->addr =3D strtoull(dlargv[3], NULL, 0); - d->do_early =3D strtol(dlargv[4], NULL, 0); + d->do_early =3D (int)strtol(dlargv[4], NULL, 0); CHECK(!strcmp(dlargv[5], "last")); =20 pr_debug("%s API\n", __func__); diff --git a/tools/perf/util/dlfilter.c b/tools/perf/util/dlfilter.c index ddacef881af2..0e513ac7feae 100644 --- a/tools/perf/util/dlfilter.c +++ b/tools/perf/util/dlfilter.c @@ -38,7 +38,7 @@ static void al_to_d_al(struct addr_location *al, struct p= erf_dlfilter_al *d_al) else d_al->dso =3D dso__name(dso); d_al->is_64_bit =3D dso__is_64_bit(dso); - d_al->buildid_size =3D dso__bid(dso)->size; + d_al->buildid_size =3D (__u32)dso__bid(dso)->size; d_al->buildid =3D dso__bid(dso)->data; } else { d_al->dso =3D NULL; @@ -51,9 +51,9 @@ static void al_to_d_al(struct addr_location *al, struct p= erf_dlfilter_al *d_al) d_al->sym_start =3D sym->start; d_al->sym_end =3D sym->end; if (al->addr < sym->end) - d_al->symoff =3D al->addr - sym->start; + d_al->symoff =3D (__u32)(al->addr - sym->start); else if (al->map) - d_al->symoff =3D al->addr - map__start(al->map) - sym->start; + d_al->symoff =3D (__u32)(al->addr - map__start(al->map) - sym->start); else d_al->symoff =3D 0; d_al->sym_binding =3D sym->binding; @@ -290,9 +290,9 @@ static __s32 code_read(__u64 ip, struct map *map, struc= t machine *machine, void u64 offset =3D map__map_ip(map, ip); =20 if (ip + len >=3D map__end(map)) - len =3D map__end(map) - ip; + len =3D (__u32)(map__end(map) - ip); =20 - return dso__data_read_offset(map__dso(map), machine, offset, buf, len); + return (__s32)dso__data_read_offset(map__dso(map), machine, offset, buf, = len); } =20 static __s32 dlfilter__object_code(void *ctx, __u64 ip, void *buf, __u32 l= en) --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pj1-f74.google.com (mail-pj1-f74.google.com [209.85.216.74]) (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 685F2221F37 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531922; cv=none; b=ApmSXQ6Guc7WUiER8sTucweFe0dF0iTBpNv7Zesaf7RS1pLdyzfYgoA9UfsOwJMq/P1x/RQlR7uzxDh0TvWeXbVODcjFwljGA5I2AeheLbNW8yQiYFbwqphfYKEg/na5ONXdjB9VzJN/L2Q9ocNoe5LnOEnrLBAHsdgipEaaLUo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531922; c=relaxed/simple; bh=aWhjaWaNDxw7ETA3oWWKbhRWDFg1+yjRGI+RbsdYOsU=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=HRbbGN2b7O9B/5c4HD5HQt85Rc8IQV3mw+v6nx1QmU1fLj2I+w4iw5aHqPl9EUOrPbsYagBbD+UsziMCC/Wj9TLRDZJwsX0VpYfPUH26IUmIfk425VxQa7dYjSQG9G/N8qg2jFUv+no5BV0VW1sOHwJq7+R4srzS2z5P9BcpgS4= 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=SC83FC0z; arc=none smtp.client-ip=209.85.216.74 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="SC83FC0z" Received: by mail-pj1-f74.google.com with SMTP id 98e67ed59e1d1-2ff798e8c90so9669529a91.1 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531919; x=1744136719; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=PrYWWuE6sPSS+h6suzb5zsvazVTJqNriEiozkF9ksBc=; b=SC83FC0zD+JMeZrWLPf7cI24ZcrzVLovtDdmBXH5U85+Ae3X53z6Zq8os+g9TyQqGO YHwkqWHFdCnPb98e0QaDdBBoYKinvOFYpk0L1hhj1R72hwL4wpDrdWMt6E8Xw+uinnEd c8Y1tZ/9FBIic2+egYjG7drpGlZxCRHKzDtKZvAxI10Tedyzg2mR4h7qax9B5dIbcOJc gZZ4cstG97xG5bywZWULDVqq57SpP8jEXsgIl+k/+qRcUO/t0aZhwgaK3Lh/4y1pJT6v rZIvvYhtQ72ZG/q9xHibM33F3NusqBzFHFH0LN9oSfBTdg2kd9ueCPmZgYMI3Yc5+iO1 LwHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531919; x=1744136719; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=PrYWWuE6sPSS+h6suzb5zsvazVTJqNriEiozkF9ksBc=; b=pxJoXqL09ZGcatl0PXnYiL93xa0ZTe1/11srr/tlqN/ErhYV4KEpJdxlYl+SjDfPYJ 0Y82Uaz2ftTAIRojJuegwZnECgNh15djskdN6yVLQwySAXBuaiRKvWDNJLNj0WxF9iPk w0QISt+ohXYLiMwE9tMCIrjvoJgeOLTvKGap7qVaaldDlD8+0gbt/VQc4wAGXj5vUhLD CHM0Oqgeqksrj2Z5saxYw2vyBWZkZav/IeA+gEJRbtDYzgJ8toKLNG/H6NXqxyBEbB84 WemRZvh3pAxRBmMbaWAOYZcnXi/xrIO9V9/ytFqwrcBYI/P9EIgJWpsD4lg7Nu6fY3JS jBXg== X-Forwarded-Encrypted: i=1; AJvYcCXk9/pXGAdyXZTjc6403QSupecUqT6jrBy7H9t1rK9PVKI7n9sqOEhYhWGM7LaJ1E2WI6RlLmgoFVXS1wA=@vger.kernel.org X-Gm-Message-State: AOJu0YzZbqgM43nD9Zo5YHSfqUsRA/jCiu62HvoOBSlfbgPv91VMSRTf dt5v+IHV93qLmPliiHcx6To8627EeoamMKPJm4dN0UesL7bxXAkDMhzDeNVnmMf991buQDumuHB 8tZEUlA== X-Google-Smtp-Source: AGHT+IE1i0iieUCDh7eWrhy6Ik1SYOR9eTB7LYFda3ROvNxcBt4D/jdzBlQzp5ihSJVDTMonP2rg4A/ftUf8 X-Received: from pfbdf3.prod.google.com ([2002:a05:6a00:4703:b0:739:4820:6f18]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6300:668c:b0:1f5:97c3:41b9 with SMTP id adf61e73a8af0-2009f5c4a5emr19263259637.5.1743531918807; Tue, 01 Apr 2025 11:25:18 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:19 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-22-irogers@google.com> Subject: [PATCH v1 21/48] perf demangle: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/util/demangle-java.c | 4 ++-- tools/perf/util/demangle-ocaml.c | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/tools/perf/util/demangle-java.c b/tools/perf/util/demangle-jav= a.c index ddf33d58bcd3..ee20f4d08765 100644 --- a/tools/perf/util/demangle-java.c +++ b/tools/perf/util/demangle-java.c @@ -42,9 +42,9 @@ static const char *base_types['Z' - 'A' + 1] =3D { * error : NULL */ static char * -__demangle_java_sym(const char *str, const char *end, char *buf, int maxle= n, int mode) +__demangle_java_sym(const char *str, const char *end, char *buf, size_t ma= xlen, int mode) { - int rlen =3D 0; + size_t rlen =3D 0; int array =3D 0; int narg =3D 0; const char *q; diff --git a/tools/perf/util/demangle-ocaml.c b/tools/perf/util/demangle-oc= aml.c index 9d707bb60b4b..25fe755df5ab 100644 --- a/tools/perf/util/demangle-ocaml.c +++ b/tools/perf/util/demangle-ocaml.c @@ -30,8 +30,7 @@ ocaml_demangle_sym(const char *sym) { char *result; int j =3D 0; - int i; - int len; + size_t i, len; =20 if (!ocaml_is_mangled(sym)) { return NULL; --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-oa1-f74.google.com (mail-oa1-f74.google.com [209.85.160.74]) (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 F33C92222BE for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531923; cv=none; b=hDcoU4+g4ZQsWYO83hMs5LUeCXQPk4/rznz+7smEoq+8lm+elUZQhJF31QfxHJSLkqrqctVqQisKxT/ACBKyFxOG9DPVK6fF7w/LLJ1xuH63dbrI/MDDoGKQ0Yddzvys3tXLfslHVond6fq29GHtFo8aH0hOoYQwbXiih0DuSHQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531923; c=relaxed/simple; bh=4RVSKWGtcfQih+UknNAMb9Mk513Qf/LPLfe1Z5Wk/Hs=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=mETmtKXbQSXAOPVjvKIxd6+JySDPB0XO5+IfPryk38FHPD8YlY8t88tbMgj+wd9C0xLDoEbCHVpaLFAmHawpyhpcOdJlvLjmApqc7VHsDr/j7TQqC3bAlke/BTUXtjb8C6RDOMyk69+zT/c36/gQRcVHN6WS2qxriByItGQSRyY= 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=ufSITaLf; arc=none smtp.client-ip=209.85.160.74 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="ufSITaLf" Received: by mail-oa1-f74.google.com with SMTP id 586e51a60fabf-2aa17fc59d1so5681963fac.0 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531921; x=1744136721; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=N34/+E3ZGw12pVAa/alsyA6/izX5NgJHni0nGvXBgPQ=; b=ufSITaLfG1CDAZox6mIuEzrAfrQdC2t+8zHbe3lb6I6lmxl5VswSTWCoWKNYYuQMEZ XlTTlasHPq3W5DFgkubQ99e26ntSSdLND9NgMPKCeOUR3WYM2mtYE2JLRi1Q1BpEMxXN Lw8IxXjd9ytuFVWbmpqIJ/EFVXsgkXWPaN9jwZbGMWbIKbH6mg20BrIwXPqE5867sNTR fVnbgQChUqLmd5EpviC/neCxkCSm+Hu05Iu1Zhb5yCR6p1oAfTglPUkilOZ30NoaJOZq Stqa4uZWOJj8xwn7+fcwHlVCTO2X53NywdsbFtyCyFLAGH588i4+KaClYqP2ZC0fcWv9 sj0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531921; x=1744136721; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=N34/+E3ZGw12pVAa/alsyA6/izX5NgJHni0nGvXBgPQ=; b=CQd0HS3NTQCDBFkl/ZgRKFPxWqfKHIdGVEY91q0LTjPpmsTQqZ84RgvSBBO2ac8lby Vz5h2UEQRbeLaTHwmYpSd2i/SIr0I7/BRVvCN9mJwA4rCbQ29VY73uc1to56n1LNze/2 euApvuv1Gzyzyo2Bhc5b1Y4+lj+uUy3urPcueaz/yiBG63qPa0DwO303q9bWg0xmK0HZ 9ExAx8aMUs+Be+mhaZrHW+DVmF+t7F9dI3bWFhgKSZO+DSzdnw1GunMdi4zWiClvtfDi dEfxu0QodKCqoY/aVWhLJ8iSjTtWOvj8xF9J68ggPtETioNG/LL3DjSZpdkQ5hRE41Ee e48A== X-Forwarded-Encrypted: i=1; AJvYcCUZG4ZDmrZMLAytzCWfWfwn14z/KlpYbC2eZjq73m0HDjlpdttQ25P/CLeaE+VR0vZYkPG5aWrJuYXheCA=@vger.kernel.org X-Gm-Message-State: AOJu0YxgYOX5Gfe+FfMqB2Lq+uXZsXaMulh5NZf+IaxyOmyNTo92uwVE uHtt6DejDTf3w9DAJm/kJIZ2rfj0TBisYjVezOyUp3qPHhHS4mcicPEcwbcO0UZjsDkiihOQ/BF wcO2CdA== X-Google-Smtp-Source: AGHT+IHZQN/TkPazOpz69O2OfTzOMRhutI7f6IM7JKtjYAx4h6Oo/m6aJeCrTVl4+t7sC7yi/LtnKHYPftrK X-Received: from oachx16.prod.google.com ([2002:a05:6871:5310:b0:2c2:5922:a060]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6870:6f14:b0:2a3:832e:5492 with SMTP id 586e51a60fabf-2cc3822669emr2359419fac.25.1743531921129; Tue, 01 Apr 2025 11:25:21 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:20 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-23-irogers@google.com> Subject: [PATCH v1 22/48] perf ui: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/ui/hist.c | 18 ++++++++---------- tools/perf/ui/stdio/hist.c | 5 ++--- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/tools/perf/ui/hist.c b/tools/perf/ui/hist.c index ae3b7fe1dadc..72f40984e2d3 100644 --- a/tools/perf/ui/hist.c +++ b/tools/perf/ui/hist.c @@ -233,7 +233,7 @@ static int __hpp__group_sort_idx(struct hist_entry *a, = struct hist_entry *b, static int __hpp__sort(struct hist_entry *a, struct hist_entry *b, hpp_field_fn get_field) { - s64 ret; + int ret; int i, nr_members; struct evsel *evsel; u64 *fields_a, *fields_b; @@ -272,7 +272,7 @@ static int __hpp__sort(struct hist_entry *a, struct his= t_entry *b, static int __hpp__sort_acc(struct hist_entry *a, struct hist_entry *b, hpp_field_fn get_field) { - s64 ret =3D 0; + int ret =3D 0; =20 if (symbol_conf.cumulate_callchain) { /* @@ -287,7 +287,7 @@ static int __hpp__sort_acc(struct hist_entry *a, struct= hist_entry *b, !hist_entry__has_callchains(a) || !symbol_conf.use_callchain) return 0; =20 - ret =3D b->callchain->max_depth - a->callchain->max_depth; + ret =3D field_cmp(b->callchain->max_depth, a->callchain->max_depth); if (callchain_param.order =3D=3D ORDER_CALLER) ret =3D -ret; } @@ -299,6 +299,7 @@ static int hpp__width_fn(struct perf_hpp_fmt *fmt, struct hists *hists) { int len =3D fmt->user_len ?: fmt->len; + int fmt_len =3D (int)strlen(fmt->name); struct evsel *evsel =3D hists_to_evsel(hists); =20 if (symbol_conf.event_group) { @@ -314,10 +315,7 @@ static int hpp__width_fn(struct perf_hpp_fmt *fmt, len =3D max(len, nr * fmt->len); } =20 - if (len < (int)strlen(fmt->name)) - len =3D strlen(fmt->name); - - return len; + return len < fmt_len ? fmt_len : len; } =20 static int hpp__header_fn(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, @@ -341,7 +339,7 @@ int hpp_color_scnprintf(struct perf_hpp *hpp, const cha= r *fmt, ...) ret =3D percent_color_len_snprintf(hpp->buf, hpp->size, fmt, len, percent= ); va_end(args); =20 - return (ret >=3D ssize) ? (ssize - 1) : ret; + return (ret >=3D ssize) ? (int)(ssize - 1) : ret; } =20 static int hpp_entry_scnprintf(struct perf_hpp *hpp, const char *fmt, ...) @@ -354,7 +352,7 @@ static int hpp_entry_scnprintf(struct perf_hpp *hpp, co= nst char *fmt, ...) ret =3D vsnprintf(hpp->buf, hpp->size, fmt, args); va_end(args); =20 - return (ret >=3D ssize) ? (ssize - 1) : ret; + return (ret >=3D ssize) ? (int)(ssize - 1) : ret; } =20 #define __HPP_COLOR_PERCENT_FN(_type, _field, _fmttype) \ @@ -914,7 +912,7 @@ void perf_hpp__set_user_width(const char *width_list_st= r) perf_hpp_list__for_each_format(&perf_hpp_list, fmt) { char *p; =20 - int len =3D strtol(ptr, &p, 10); + int len =3D (int)strtol(ptr, &p, 10); fmt->user_len =3D len; =20 if (*p =3D=3D ',') diff --git a/tools/perf/ui/stdio/hist.c b/tools/perf/ui/stdio/hist.c index 7ac4b98e28bc..6a981f95b4ec 100644 --- a/tools/perf/ui/stdio/hist.c +++ b/tools/perf/ui/stdio/hist.c @@ -450,7 +450,7 @@ int __hist_entry__snprintf(struct hist_entry *he, struc= t perf_hpp *hpp, advance_hpp(hpp, ret); } =20 - return hpp->buf - start; + return (int)(hpp->buf - start); } =20 static int hist_entry__snprintf(struct hist_entry *he, struct perf_hpp *hp= p) @@ -612,8 +612,7 @@ static int hist_entry__fprintf(struct hist_entry *he, s= ize_t size, ret =3D fprintf(fp, "%s\n", bf); =20 if (hist_entry__has_callchains(he) && !ignore_callchains) - callchain_ret =3D hist_entry_callchain__fprintf(he, total_period, - 0, fp); + callchain_ret =3D (int)hist_entry_callchain__fprintf(he, total_period, 0= , fp); =20 ret +=3D callchain_ret; =20 --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.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 AFED32222BC for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531925; cv=none; b=KeUX35ElTWResDjWg6bT5oPkLDnb/hlBD//SCks0tLOO74FJENEFYJoWZiRJrswRVxCWCx8nTFCuSiYIW/cId9h0k/jnFWZukkNXyjnJr/LjTl76NCL/QsJWtsWOGJAhXzztzbcKeyxG+0eq1y5yvRuDGWpIsuzDc7YpALzqZuI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531925; c=relaxed/simple; bh=t4HpEKSieHMVUwdEDlATrqBNHL+SdNbdZvpQJmyECXc=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=R/baiCA4AISL9Kkn2Fn751QSfBRzl5/fmhyJb5IOVsAZcttHIBYgoobsiD59LOq6gexEZp+Z40ZpGim5ZKZ8t4Bnc4AuPa81KRA0FXUwnE2s+ttG/WGRKbOEYNp4Lwut1T3IXk3D3w9tPOBqHLC9ZcLlLOPQUrIQkzG56K02fG4= 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=eDTy+s3f; arc=none smtp.client-ip=209.85.214.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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="eDTy+s3f" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-2254bdd4982so149526245ad.1 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531923; x=1744136723; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=823XinDHeG+XrMmCNIY0vqG2lfpNgcB8RbHYxnOFvTw=; b=eDTy+s3fzmOm8hepPkwF8/U42Jjv4qDw39kiYqJlcYvqH8LhvzNdqR938TXElFVRqs JK3FFkgHjzIiGPs9uPj/XWo2uZvL0mjQg3wZcWWEzdVJUlZAFr0ucQJnBF8RiEZ95h3B uuIAdQWip6ekK0iI+I0j6Zh6myRO28zHqHFx1Jd8FjSN8FBLU2ko4p8qibuZWufBv0Ic osEUR1M0q4pz/Bjvvs+e47onnkDW+MNE/pgUQU+kUGSlYawuC0dLRmZcil5m7OHMRJqI dp3/1soK6qMWROgXV8RnuQ6EjfRUB9sEQBWT2xWQ5xhXqoIBHEcZZjDVP4GjwsdAo6ed PcbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531923; x=1744136723; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=823XinDHeG+XrMmCNIY0vqG2lfpNgcB8RbHYxnOFvTw=; b=ks7jckPvLs67wtlCMGxBx6aAGE5jhx+2Z/Kw9wVX2qPVUcJYuVdf/Qk3Rc8p+7S4RF +krVeLoXlquk7dldOasHGdalhOzCwPplRRgZNDTyOF40YgPWPF6dYbc9YkK+L2Bz9fg6 hS6RldYVOJN/+tlV9nhorPxCeDR6RpAsgUb/XzELuOZZRS25rD9jtS75Gp4GTu0oYkIS EVOYTbdUFfZhAN8llCc7D1vRZ6pYJ0+ypb6VyugaMmOr/md6njRTh/7vfNBlTRcuf8Er 9TqBJ/QU6rxM2zuuUFFU/JoMkTz1wR2VT1qM7Tr5PifYzPRmgTh86NOJ+23NuZQMrZpu WuCg== X-Forwarded-Encrypted: i=1; AJvYcCXbNQpKJReGWMJboKtEbvqfFFU957au93y54r8lQC7umHz1PYx6astibDokrS+T73FMiRbv1RP7p8XVggc=@vger.kernel.org X-Gm-Message-State: AOJu0Yxt6pZdQ4y3U9gCiTUir4bVvJPf+OaPMtCpOJR6JB77qHxtn7NP 5Yw3J2ad8T8v7sIacYzz9ar2C9COYE2iYa9081sDbzjBShkZkX/lGuALRq0TcxFJPhbv2yHet/N aVNa0qA== X-Google-Smtp-Source: AGHT+IHEy9LXSmI9P8wsEmOpH7R+FJ1KOlnv6WssH2meAhH8o5gBcQQpgs70KPc3GeKjqcWiFTxuiUNmdeE4 X-Received: from plgb17.prod.google.com ([2002:a17:902:d511:b0:223:faee:f527]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:da91:b0:220:f795:5f14 with SMTP id d9443c01a7336-2292f974a45mr190872445ad.27.1743531922818; Tue, 01 Apr 2025 11:25:22 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:21 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-24-irogers@google.com> Subject: [PATCH v1 23/48] perf annotate: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-annotate.c | 4 ++-- tools/perf/util/annotate.c | 22 +++++++++++----------- tools/perf/util/disasm.c | 11 ++++++----- 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c index 9833c2c82a2f..97943a12b6c9 100644 --- a/tools/perf/builtin-annotate.c +++ b/tools/perf/builtin-annotate.c @@ -157,7 +157,7 @@ static void process_branch_stack(struct branch_stack *b= s, struct addr_location * if (!bi) return; =20 - for (i =3D bs->nr - 1; i >=3D 0; i--) { + for (i =3D (int)bs->nr - 1; i >=3D 0; i--) { /* * XXX filter against symbol */ @@ -880,7 +880,7 @@ int cmd_annotate(int argc, const char **argv) =20 annotate.session =3D perf_session__new(&data, &annotate.tool); if (IS_ERR(annotate.session)) - return PTR_ERR(annotate.session); + return (int)PTR_ERR(annotate.session); =20 annotate.session->itrace_synth_opts =3D &itrace_synth_opts; =20 diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c index 1e59b9e5339d..c582e0ecb86f 100644 --- a/tools/perf/util/annotate.c +++ b/tools/perf/util/annotate.c @@ -337,7 +337,8 @@ static int symbol__account_br_cntr(struct annotated_bra= nch *branch, unsigned int base =3D evsel__leader(evsel)->br_cntr_idx; unsigned int off =3D offset * evsel->evlist->nr_br_cntr; u64 *branch_br_cntr =3D branch->br_cntr; - unsigned int i, mask, width; + unsigned int i, width; + u64 mask; =20 if (!br_cntr || !branch_br_cntr) return 0; @@ -360,7 +361,7 @@ static int symbol__account_cycles(u64 addr, u64 start, = struct symbol *sym, u64 br_cntr) { struct annotated_branch *branch; - unsigned offset; + unsigned int offset; int ret; =20 if (sym =3D=3D NULL) @@ -377,7 +378,7 @@ static int symbol__account_cycles(u64 addr, u64 start, = struct symbol *sym, if (start >=3D addr) start =3D 0; } - offset =3D addr - sym->start; + offset =3D (unsigned int)(addr - sym->start); ret =3D __symbol__account_cycles(branch->cycles_hist, start ? start - sym->start : 0, offset, cycles, @@ -1563,7 +1564,7 @@ static int annotation__max_ins_name(struct annotation= *notes) if (al->offset =3D=3D -1) continue; =20 - len =3D strlen(disasm_line(al)->ins.name); + len =3D (int)strlen(disasm_line(al)->ins.name); if (max_name < len) max_name =3D len; } @@ -2183,20 +2184,20 @@ static int annotation_options__add_disassemblers_st= r(struct annotation_options * { while (str && *str !=3D '\0') { const char *comma =3D strchr(str, ','); - int len =3D comma ? comma - str : (int)strlen(str); + size_t len =3D comma ? comma - str : strlen(str); bool match =3D false; =20 for (u8 i =3D 0; i < ARRAY_SIZE(perf_disassembler__strs); i++) { const char *dis_str =3D perf_disassembler__strs[i]; =20 - if (len =3D=3D (int)strlen(dis_str) && !strncmp(str, dis_str, len)) { + if (len =3D=3D strlen(dis_str) && !strncmp(str, dis_str, len)) { annotation_options__add_disassembler(options, i); match =3D true; break; } } if (!match) { - pr_err("Invalid disassembler '%.*s'\n", len, str); + pr_err("Invalid disassembler '%.*s'\n", (int)len, str); return -1; } str =3D comma ? comma + 1 : NULL; @@ -2405,7 +2406,7 @@ static int extract_reg_offset(struct arch *arch, cons= t char *str, str++; } =20 - op_loc->offset =3D strtol(str, &p, 0); + op_loc->offset =3D (int)strtol(str, &p, 0); =20 p =3D strchr(p, arch->objdump.register_char); if (p =3D=3D NULL) @@ -2515,8 +2516,7 @@ int annotate_get_insn_location(struct arch *arch, str= uct disasm_line *dl, /* FIXME: Handle other segment registers */ if (!strncmp(insn_str, "%gs:", 4)) { op_loc->segment =3D INSN_SEG_X86_GS; - op_loc->offset =3D strtol(insn_str + 4, - &p, 0); + op_loc->offset =3D (int)strtol(insn_str + 4, &p, 0); if (p && p !=3D insn_str + 4) op_loc->imm =3D true; continue; @@ -2530,7 +2530,7 @@ int annotate_get_insn_location(struct arch *arch, str= uct disasm_line *dl, if (*s =3D=3D arch->objdump.register_char) op_loc->reg1 =3D get_dwarf_regnum(s, arch->e_machine, arch->e_flags); else if (*s =3D=3D arch->objdump.imm_char) { - op_loc->offset =3D strtol(s + 1, &p, 0); + op_loc->offset =3D (int)strtol(s + 1, &p, 0); if (p && p !=3D s + 1) op_loc->imm =3D true; } diff --git a/tools/perf/util/disasm.c b/tools/perf/util/disasm.c index 8f0eb56c6fc6..7e24851a3934 100644 --- a/tools/perf/util/disasm.c +++ b/tools/perf/util/disasm.c @@ -856,7 +856,7 @@ static int ins__cmp(const void *a, const void *b) =20 static void ins__sort(struct arch *arch) { - const int nmemb =3D arch->nr_instructions; + const size_t nmemb =3D arch->nr_instructions; =20 qsort(arch->instructions, nmemb, sizeof(struct ins), ins__cmp); } @@ -864,7 +864,7 @@ static void ins__sort(struct arch *arch) static struct ins_ops *__ins__find(struct arch *arch, const char *name, st= ruct disasm_line *dl) { struct ins *ins; - const int nmemb =3D arch->nr_instructions; + const size_t nmemb =3D arch->nr_instructions; =20 if (arch__is(arch, "powerpc")) { /* @@ -1263,7 +1263,7 @@ static int dso__disassemble_filename(struct dso *dso,= char *filename, size_t fil char *build_id_filename; char *build_id_path =3D NULL; char *pos; - int len; + size_t len; =20 if (dso__symtab_type(dso) =3D=3D DSO_BINARY_TYPE__KALLSYMS && !dso__is_kcore(dso)) @@ -1754,7 +1754,8 @@ static int symbol__disassemble_raw(char *filename, st= ruct symbol *sym, u64 end =3D map__rip_2objdump(map, sym->end); u64 len =3D end - start; u64 offset; - int i, count; + int i; + ssize_t count; u8 *buf =3D NULL; char disasm_buf[512]; struct disasm_line *dl; @@ -1823,7 +1824,7 @@ static int symbol__disassemble_raw(char *filename, st= ruct symbol *sym, =20 out: free(buf); - return count < 0 ? count : 0; + return count < 0 ? (int)count : 0; =20 err: count =3D -1; --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.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 2042F222563 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531926; cv=none; b=djBbKj/PIQg+qCIhVtTe8CFGdYIvhHVID0IIV7pJDZfFR/ligmglLXBdCLC1ZS0WsCsEsbB6lQqzPTPC4yhng2fKlLcrbbiMiDSffV5EeG/4tbcHC26hDHwEXr9FxZC6C9taCuRPbciSQ82knNNvaXbyl9/rW0wtVFkENsVGBGs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531926; c=relaxed/simple; bh=OHSwmVRTG0HD488JeBe67A2CUxy+O0gCaGl1hO/MrlY=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=FLIz4EJJltrCfJGS215RtEYQAswAEz0FgkoMiVgVY8TzAoBFFWuo82vIz2XK5LR6P5+T3kpUuwDoYF9cP8BpwY7TLdoUjSOVAaoLa3DjFwHxxmUowRKrTDNcEoOZTPYqXaxfLZv2BQhMxaZU4tA5c6rKzb+9uMqUQQ6f6se2Yho= 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=NQY263Q6; arc=none smtp.client-ip=209.85.214.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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="NQY263Q6" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-224347aef79so160799925ad.2 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531925; x=1744136725; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=maDKewcfrTN/pXEuAvy1eHGZYrBP9VzStu+Vbun6bP0=; b=NQY263Q65d5AL6toZSHGWyPlpTaDtDpetDP9vuRK6xNoRJrROMGG6q8xIMGbIso4ju apI5PaqdFHojayaPnq3u3s71t4Piih/+GIc1jIXxitfnGfIPXMW14ALBp6BmuNerUA8S gROtL+tpwXmJxubiuMX++xM/QED7U5Up+H60mPdqdVs+lJ1b09cw1QrMVNnT41kbmkwf cFS9yvKshmrDyZtd+526zrxjX+/LAJ9Js129qMJTbsoMctI1vEQ1BtQ2Un/v7fHCj0dQ 7dcAdSH+riYoLAiS6C9KS8OToVkMXEr52DHmJN4oo/jvelfvJxN1tkWr/I/AIYyd2d4o PfEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531925; x=1744136725; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=maDKewcfrTN/pXEuAvy1eHGZYrBP9VzStu+Vbun6bP0=; b=MHdBtwWIpTQ4lDUc93kMjSsXLurNNoZNBGs8khr2C0EtMbT+sZcuttjIdiiKvAqkg6 tLiMbmOk0rj7UTjvX4fVnsh+9dMZRTFQp7m/+FAiMI+OA1yco8xZKVRmCxE12378rpP5 ogMRQkyWL0OzHTR+McVTAGwT97TQ4sZ/874XFGIuRrcsnUuBEw3JPVulbLZIuEttZne5 4Kdk7+3dTDYn9MA+kg9KwKkzc5UX3GQmB6kfUsyEXtPzI1mWd6fTINuZvYrSc3VVuuBl 1stsU2gNNfht7lXC8jKbcdh2vWVtsRCjRqKAMJ/fM2M4tlvjVmDLwOzuoHR05jXBPw3Q P2CA== X-Forwarded-Encrypted: i=1; AJvYcCVgmQuJ78QRxFUowGOL+iIh0Jvj687EIQGTkgoWmkDHop1sADTZVlC3ZKcXrH+SApEAf5x0Rvs1yoSFNXQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyM0YtEM0xb0hjYJtKuuO3kkbbkhPdHkxnkjvUDv/lmNdIVWu78 OO99QkKUPcwzngRQZYCt4uTj3GulGE2EjQHy4FWAZ1jIKFLxnCHt2KIJZ6ElgcS0d9x94gOQX1z gRBQsKQ== X-Google-Smtp-Source: AGHT+IFNI0r4xdlVep8eZmgL2ok0j2hkk8AtyWpy1qsBmfszW0qOT/+uO0dTUbBWJ2V47z6JGjdY7ibJE2zJ X-Received: from plpf4.prod.google.com ([2002:a17:903:3c44:b0:223:58e2:570d]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:ebc6:b0:224:c76:5e57 with SMTP id d9443c01a7336-2292f9e8652mr220203935ad.39.1743531924561; Tue, 01 Apr 2025 11:25:24 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:22 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-25-irogers@google.com> Subject: [PATCH v1 24/48] perf report: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-report.c | 4 ++-- tools/perf/util/callchain.c | 12 ++++++------ tools/perf/util/callchain.h | 2 +- tools/perf/util/srccode.c | 6 +++--- tools/perf/util/srcline.c | 2 +- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index b030ce72e13e..fff8f3db788e 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c @@ -800,7 +800,7 @@ static int count_lost_samples_event(const struct perf_t= ool *tool, evsel =3D evlist__id2evsel(rep->session->evlist, sample->id); if (evsel) { struct hists *hists =3D evsel__hists(evsel); - u32 count =3D event->lost_samples.lost; + u32 count =3D (u32)event->lost_samples.lost; =20 if (event->header.misc & PERF_RECORD_MISC_LOST_SAMPLES_BPF) hists__inc_nr_dropped_samples(hists, count); @@ -1602,7 +1602,7 @@ int cmd_report(int argc, const char **argv) =20 session =3D perf_session__new(&data, &report.tool); if (IS_ERR(session)) { - ret =3D PTR_ERR(session); + ret =3D (int)PTR_ERR(session); goto exit; } =20 diff --git a/tools/perf/util/callchain.c b/tools/perf/util/callchain.c index d7b7eef740b9..c3206b9d7b52 100644 --- a/tools/perf/util/callchain.c +++ b/tools/perf/util/callchain.c @@ -214,7 +214,7 @@ __parse_callchain_report_opt(const char *arg, bool allo= w_record_opt) =20 if (get_stack_size(tok, &size) < 0) return -1; - callchain_param.dump_size =3D size; + callchain_param.dump_size =3D (u32)size; try_stack_size =3D false; } else if (!minpcnt_set) { /* try to get the min percent */ @@ -224,7 +224,7 @@ __parse_callchain_report_opt(const char *arg, bool allo= w_record_opt) minpcnt_set =3D true; } else { /* try print limit at last */ - callchain_param.print_limit =3D strtoul(tok, &endptr, 0); + callchain_param.print_limit =3D (u32)strtoul(tok, &endptr, 0); if (tok =3D=3D endptr) return -1; } @@ -295,7 +295,7 @@ int parse_callchain_record(const char *arg, struct call= chain_param *param) unsigned long size =3D 0; =20 ret =3D get_stack_size(tok, &size); - param->dump_size =3D size; + param->dump_size =3D (u32)size; } } else if (!strncmp(name, "lbr", sizeof("lbr"))) { if (!strtok_r(NULL, ",", &saveptr)) { @@ -332,7 +332,7 @@ int perf_callchain_config(const char *var, const char *= value) int ret; =20 ret =3D get_stack_size(value, &size); - callchain_param.dump_size =3D size; + callchain_param.dump_size =3D (u32)size; =20 return ret; } @@ -817,7 +817,7 @@ split_add_child(struct callchain_node *parent, { struct callchain_node *new; struct list_head *old_tail; - unsigned int idx_total =3D idx_parents + idx_local; + u64 idx_total =3D idx_parents + idx_local; =20 /* split */ new =3D create_child(parent, true); @@ -1027,7 +1027,7 @@ merge_chain_branch(struct callchain_cursor *cursor, struct callchain_node *child; struct callchain_list *list, *next_list; struct rb_node *n; - int old_pos =3D cursor->nr; + u64 old_pos =3D cursor->nr; int err =3D 0; =20 list_for_each_entry_safe(list, next_list, &src->val, list) { diff --git a/tools/perf/util/callchain.h b/tools/perf/util/callchain.h index 86ed9e4d04f9..7a2abff6d0a5 100644 --- a/tools/perf/util/callchain.h +++ b/tools/perf/util/callchain.h @@ -65,7 +65,7 @@ struct callchain_node { struct rb_node rb_node; /* to sort nodes in an output tree */ struct rb_root rb_root_in; /* input tree of children */ struct rb_root rb_root; /* sorted output tree of children */ - unsigned int val_nr; + u64 val_nr; unsigned int count; unsigned int children_count; u64 hit; diff --git a/tools/perf/util/srccode.c b/tools/perf/util/srccode.c index 476e99896d5e..f5f8cdfd00c1 100644 --- a/tools/perf/util/srccode.c +++ b/tools/perf/util/srccode.c @@ -37,7 +37,7 @@ static LIST_HEAD(srcfile_list); static long map_total_sz; static int num_srcfiles; =20 -static int countlines(char *map, int maplen) +static int countlines(char *map, size_t maplen) { int numl; char *end =3D map + maplen; @@ -136,7 +136,7 @@ static struct srcfile *find_srcfile(char *fn) h->lines =3D calloc(h->numlines, sizeof(char *)); if (!h->lines) goto out_map; - fill_lines(h->lines, h->numlines, h->map, h->maplen); + fill_lines(h->lines, h->numlines, h->map, (int)h->maplen); list_add(&h->nd, &srcfile_list); hlist_add_head(&h->hash_nd, &srcfile_htab[hval]); map_total_sz +=3D h->maplen; @@ -166,6 +166,6 @@ char *find_sourceline(char *fn, unsigned line, int *len= p) if (!l) return NULL; p =3D memchr(l, '\n', sf->map + sf->maplen - l); - *lenp =3D p - l; + *lenp =3D (int)(p - l); return l; } diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c index f32d0d4f4bc9..b2003c5490a2 100644 --- a/tools/perf/util/srcline.c +++ b/tools/perf/util/srcline.c @@ -443,7 +443,7 @@ static int filename_split(char *filename, unsigned int = *line_nr) sep =3D strchr(filename, ':'); if (sep) { *sep++ =3D '\0'; - *line_nr =3D strtoul(sep, NULL, 0); + *line_nr =3D (unsigned int)strtoul(sep, NULL, 0); return 1; } pr_debug("addr2line missing ':' in filename split\n"); --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-oa1-f73.google.com (mail-oa1-f73.google.com [209.85.160.73]) (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 2004920E6E2 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531929; cv=none; b=R/C6YHcQopdhgFKVJBaEpqZRf2T6RIhcSOn1kdXbEcUfCm1rAcz5u3MIPxJP/x/J7q6CocMMNPXZqYQjLf/imQEfClhzs8G1otBfzqmQrdVVWeE1ALyBMWW2XqurjFP8+o4HRoaWY86rH43i3sbSj9HSeYWLJuVjMEmBm66BSN4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531929; c=relaxed/simple; bh=sjYPBHk2RL4AjpW6aV3agLcV+PsNHpxvrXhMbpH8T90=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=r6C0sbOm23Hriby/2dOSNAswBldfiAPEyheRQla1byvLwL1MailnQDYmT/KayoM/mIEA0uMJaw46cLQxl083Q2eFpioIzp4ibWihLFZr/eua2q6fTSnApgxWQBWy5Kf7BfAYhMd+oIp87WBXScSAsHwrIAaw+zald5WmoBhky00= 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=aSpcaSGg; arc=none smtp.client-ip=209.85.160.73 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="aSpcaSGg" Received: by mail-oa1-f73.google.com with SMTP id 586e51a60fabf-2c2a9abc5b2so1826805fac.1 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531927; x=1744136727; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=XWBe4FBRBVRgr9j7LcjV776a5KxBaguCaqx3R+ckSTU=; b=aSpcaSGg4mVG7/gMgAojep5acOePLSnRNjSqF7NE/s9wSYgt5bBhuzZG947md4r3kB g2ti/aCo6CqR1mlJpEBGqE0NcriL8mj5cXsxbhqqf7G8Ti1VCYeXU5bR1L74bOX1b8iK +3jv2l9eVGpR7xNCsONDqxlBof9mw5KSJPcB2hKbW/2438w8ViPqp3bpTVmcC0V1OuKu djz8U3JoZLlVcWGHIVsCi9XL2Z3cW62pOS4hjJhS8g2NXgBi+fiCb0w91QHlH4ZHIbYk 2D7hbpLFGezuaMqUzvt+gKsS8ZlhpoVHuHxpfUhzzynvCYT6Jyyh9kg3Go9WCIhxG0ay NpUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531927; x=1744136727; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=XWBe4FBRBVRgr9j7LcjV776a5KxBaguCaqx3R+ckSTU=; b=lk61jHgsDHx+ngl+kLL3tRol5MSezEJ2qz7yan+Qfn6ED28FSm0yJK1ctzvNMTDWL8 pjNe/poKYfgI5Hjkmu4Djws+6o17/zEcVAhTmG13GbPbQGeo41mHNNkO2/8Bf88/6cZB BlO8ko+T7jYqlblWzUCyboGGhSY2xB1HO/+3gDc8f+2r/lIje0lddn4FER7nenXoUW1Z P1CTW7AdNA8y0W8rzpI+4zV+69Q+48ia7PPxK/vdDnypQ9BCvtE3Z49rFDNVK21DiC78 vzDFt+N6l1F2qIpeLBQ0b2pDMe2ljrvqJqoveQp0HvT9694Oj78xthh+pb1qgPUmZznY BjxA== X-Forwarded-Encrypted: i=1; AJvYcCXRFoy5I2qYJWNR7Vfk0SIfMbZF08gsd6BSJp8D3McnuDkpuboCuHmXr4LoHmw+xMNrQi8FQ3tYTYmwH/o=@vger.kernel.org X-Gm-Message-State: AOJu0YzQOhNv0SAFBBoKpxhX15WtwJwqD8Cr/zdwilQbHL63mwfVPTx0 4HsMTUwxGUi5iSlhgwtk30wlf2oIh057zfp27YJC/o5gNAU2UbIceYFhZvAfrJq8tX8kVMyJPx2 TM5rZAg== X-Google-Smtp-Source: AGHT+IEJ2D69UYPiouVutAbkRbHVsxjAhnNCDOYzCLqniaLRZ6J5FNujGK2lT5LaK02WEQghfdvYk/R5HGWC X-Received: from oablk13.prod.google.com ([2002:a05:6870:3e0d:b0:29d:f69c:1743]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6871:293:b0:29e:40f8:ad9b with SMTP id 586e51a60fabf-2cbcf513e8dmr8987528fac.14.1743531926639; Tue, 01 Apr 2025 11:25:26 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:23 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-26-irogers@google.com> Subject: [PATCH v1 25/48] perf help: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-help.c | 4 ++-- tools/perf/util/help-unknown-cmd.c | 14 ++++++++------ tools/perf/util/levenshtein.c | 18 +++++++++--------- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/tools/perf/builtin-help.c b/tools/perf/builtin-help.c index 7be6fb6df595..05151c68191f 100644 --- a/tools/perf/builtin-help.c +++ b/tools/perf/builtin-help.c @@ -301,7 +301,7 @@ static struct cmdnames main_cmds, other_cmds; =20 void list_common_cmds_help(void) { - unsigned int i, longest =3D 0; + size_t i, longest =3D 0; =20 for (i =3D 0; i < ARRAY_SIZE(common_cmds); i++) { if (longest < strlen(common_cmds[i].name)) @@ -310,7 +310,7 @@ void list_common_cmds_help(void) =20 puts(" The most commonly used perf commands are:"); for (i =3D 0; i < ARRAY_SIZE(common_cmds); i++) { - printf(" %-*s ", longest, common_cmds[i].name); + printf(" %-*s ", (int)longest, common_cmds[i].name); puts(common_cmds[i].help); } } diff --git a/tools/perf/util/help-unknown-cmd.c b/tools/perf/util/help-unkn= own-cmd.c index a0a46e34f8d1..f0a0b8c13a92 100644 --- a/tools/perf/util/help-unknown-cmd.c +++ b/tools/perf/util/help-unknown-cmd.c @@ -24,14 +24,15 @@ static int levenshtein_compare(const void *p1, const vo= id *p2) { const struct cmdname *const *c1 =3D p1, *const *c2 =3D p2; const char *s1 =3D (*c1)->name, *s2 =3D (*c2)->name; - int l1 =3D (*c1)->len; - int l2 =3D (*c2)->len; - return l1 !=3D l2 ? l1 - l2 : strcmp(s1, s2); + ssize_t l1 =3D (*c1)->len; + ssize_t l2 =3D (*c2)->len; + + return l1 !=3D l2 ? (int)(l1 - l2) : (int)strcmp(s1, s2); } =20 static int add_cmd_list(struct cmdnames *cmds, struct cmdnames *old) { - unsigned int i, nr =3D cmds->cnt + old->cnt; + size_t nr =3D cmds->cnt + old->cnt; void *tmp; =20 if (nr > cmds->alloc) { @@ -45,7 +46,7 @@ static int add_cmd_list(struct cmdnames *cmds, struct cmd= names *old) return -1; cmds->names =3D tmp; } - for (i =3D 0; i < old->cnt; i++) + for (size_t i =3D 0; i < old->cnt; i++) cmds->names[cmds->cnt++] =3D old->names[i]; zfree(&old->names); old->cnt =3D 0; @@ -54,7 +55,8 @@ static int add_cmd_list(struct cmdnames *cmds, struct cmd= names *old) =20 const char *help_unknown_cmd(const char *cmd, struct cmdnames *main_cmds) { - unsigned int i, n =3D 0, best_similarity =3D 0; + unsigned int i, n =3D 0; + size_t best_similarity =3D 0; struct cmdnames other_cmds; =20 memset(&other_cmds, 0, sizeof(other_cmds)); diff --git a/tools/perf/util/levenshtein.c b/tools/perf/util/levenshtein.c index 6a6712635aa4..f6912b848c4a 100644 --- a/tools/perf/util/levenshtein.c +++ b/tools/perf/util/levenshtein.c @@ -44,19 +44,19 @@ int levenshtein(const char *string1, const char *string2, int w, int s, int a, int d) { - int len1 =3D strlen(string1), len2 =3D strlen(string2); + size_t len1 =3D strlen(string1), len2 =3D strlen(string2); int *row0 =3D malloc(sizeof(int) * (len2 + 1)); int *row1 =3D malloc(sizeof(int) * (len2 + 1)); int *row2 =3D malloc(sizeof(int) * (len2 + 1)); - int i, j; + int ret; =20 - for (j =3D 0; j <=3D len2; j++) - row1[j] =3D j * a; - for (i =3D 0; i < len1; i++) { + for (size_t j =3D 0; j <=3D len2; j++) + row1[j] =3D (int)j * a; + for (size_t i =3D 0; i < len1; i++) { int *dummy; =20 - row2[0] =3D (i + 1) * d; - for (j =3D 0; j < len2; j++) { + row2[0] =3D ((int)i + 1) * d; + for (size_t j =3D 0; j < len2; j++) { /* substitution */ row2[j + 1] =3D row1[j] + s * (string1[i] !=3D string2[j]); /* swap */ @@ -78,10 +78,10 @@ int levenshtein(const char *string1, const char *string= 2, row2 =3D dummy; } =20 - i =3D row1[len2]; + ret =3D row1[len2]; free(row0); free(row1); free(row2); =20 - return i; + return ret; } --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.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 BCABE22332B for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531931; cv=none; b=TkLGoXlUkQDucB4JRaDIOl4zxixwDu4Q3QF+Fq0yC5r7EC1d6Ylngft0mugk2QuS1M4C6B/QQscOqA9oOqt28TJGjwIRmi+3WyKRFmL2g85hS9TKCASi6ONlCWg5jeV6S7sPqq/pv77lXkWYLTNeZM96Vwf5pspmbwfwSTvsHZc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531931; c=relaxed/simple; bh=TQeWDd/yYWGLnY1+2vrH/bkxiRy1g+kcbMr3spHf3Ik=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=VL9xaoTL/mEhuICpKJx8vhZFU9Zqd2/x/7wsf5+hfe6hEUN4hh9sfynxUFwC7KYOEXFepYDpHMe+1U0l9nMopPnmibr6sgSq8vbzPklAamZWaEdduMgJqBRZO11AHyLJ/yoLyG9TmgZFhxEBToAWkxXnLtw3ZLE8m4NAe1WFpGE= 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=tjRh0XX7; arc=none smtp.client-ip=209.85.214.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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="tjRh0XX7" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-22651aca434so110661165ad.1 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531929; x=1744136729; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=7SpygHYpX3V6G/Y3lvn2849/ZYwPsF/CjG3vk8gdf8c=; b=tjRh0XX7J6eqS8zUzNYKOI8cruIrm+facOdIIPneshXkW3MSKgsEvdACUoVfMZP8ml PI5KfO24Udn3wiusTCluCh6oJ+fzudR9KQnrO1Z0lANFdQH0C58FIPfL7LKxCba+DEV/ tqPAusq9y3TxC29EX8wqoSQ7d3vBhFzctl2D0qqVxrJ8V5hTxpSyuN6PIQ5uVcU3/S/4 N/2dByzMNfHpVFp4kpB0XhY1rPWcuIiqF/3nlxgQpipQVwG3iSJKSbwjFAxcXZYsz/Xl fXukrmdzNeJt5fT8lFgCDmts4rE5RbcVVpa3OqMX3FNpZ2pkJBjn3NXuRLpf7IeLEAQ6 HZJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531929; x=1744136729; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=7SpygHYpX3V6G/Y3lvn2849/ZYwPsF/CjG3vk8gdf8c=; b=pdrkgCz6vGGPJYJuZ6LU4CCKjYNbb58/+G8G5Ryn1RpaiU6vlzUXkIcNcdiETOa5d/ i9InakVGF+iYvZBc39Sfq0Nyfoiw5CFwm+QNsN4VCMSE4a/pHhrvfTEUkKum7QKS0Oq4 k1LgQwbMsQ7rQM1TWmZ2oM2GTMAP0BfQ+GEfLEi0M1lXMTnwQCS3w/GSE606kLTsS4l9 6IMfsNwQTj4Kt1Uuf42Hc+LW7A3oowPJE9PAL7wUA7SvRv9DnFCwEYjnHDe/+wZltbh9 VGq/DXG+YC150AxkiJzWOOudBQmvRzU7Qe4qjFddO4zF2QAogqxxATd9UlG/ducqZCoL CmZQ== X-Forwarded-Encrypted: i=1; AJvYcCUARUEXK3R+Evjxd5KheNSXjJxb9/7I43KbYWQTBjNX7FxqFiDTTIteFBue6TX9ur/RkgztEACRS8IvebA=@vger.kernel.org X-Gm-Message-State: AOJu0Yxz/A28oWHiMsOary2QNteUS9Cfq2Y6OSw+Vn2Xdcartvju7NV4 aaEXxsYMdFugWqAVldV6OX4Q1wlMya+/AacL6l/vTLvXydK4voqQ62aH0tomoAVIoCXuhwRE1F/ CJAQS3w== X-Google-Smtp-Source: AGHT+IHidRh8ZohN9BAfCZsioNhjrSQYSS/qtPWBESRb2scl+HVatDzDtqJLadMCQ/s9lEK/qcgJBOyqMu08 X-Received: from plps15.prod.google.com ([2002:a17:902:988f:b0:223:fab5:e761]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:903:32cd:b0:224:2207:5130 with SMTP id d9443c01a7336-2292fa00e0cmr186146635ad.45.1743531928693; Tue, 01 Apr 2025 11:25:28 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:24 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-27-irogers@google.com> Subject: [PATCH v1 26/48] perf hisi-ptt: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/util/hisi-ptt.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/perf/util/hisi-ptt.c b/tools/perf/util/hisi-ptt.c index e4cc4785f744..978f5781c990 100644 --- a/tools/perf/util/hisi-ptt.c +++ b/tools/perf/util/hisi-ptt.c @@ -59,7 +59,7 @@ static void hisi_ptt_dump(struct hisi_ptt *ptt __maybe_un= used, len); =20 while (len > 0) { - pkt_len =3D hisi_ptt_pkt_desc(buf, pos, type); + pkt_len =3D hisi_ptt_pkt_desc(buf, (int)pos, type); if (!pkt_len) color_fprintf(stdout, color, " Bad packet!\n"); =20 @@ -91,10 +91,10 @@ static int hisi_ptt_process_auxtrace_event(struct perf_= session *session, struct hisi_ptt *ptt =3D container_of(session->auxtrace, struct hisi_ptt, auxtrace); int fd =3D perf_data__fd(session->data); - int size =3D event->auxtrace.size; + u64 size =3D event->auxtrace.size; void *data =3D malloc(size); off_t data_offset; - int err; + ssize_t err; =20 if (!data) return -errno; @@ -174,7 +174,7 @@ int hisi_ptt_process_auxtrace_info(union perf_event *ev= ent, ptt->session =3D session; ptt->machine =3D &session->machines.host; /* No kvm support */ ptt->auxtrace_type =3D auxtrace_info->type; - ptt->pmu_type =3D auxtrace_info->priv[0]; + ptt->pmu_type =3D (unsigned int)auxtrace_info->priv[0]; =20 ptt->auxtrace.process_event =3D hisi_ptt_process_event; ptt->auxtrace.process_auxtrace_event =3D hisi_ptt_process_auxtrace_event; --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pj1-f74.google.com (mail-pj1-f74.google.com [209.85.216.74]) (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 7CA892236EE for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531933; cv=none; b=HUZadFdsEiR03O7ynxtiHp2CqxmBio0bocjG0cp/S2AZ7Y7DN0riotk727LJcoLzJTf/5qgsVjUauWuZDyMqrdSTNC6kmb+52CSaTePpqG5pvaRQEpttidZ8+SRINxBdD+AB8kKQmtFO1DGERjrD+FU6dJDVSzPkHesxz7GWY0E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531933; c=relaxed/simple; bh=sWUkx042vT7q8/Tf+yhfO6vzKLFI6jKaDXPP/t59N9U=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=rioHARbCNzYFqZKkRqt/zTrWsVSTSGq0rpxVcSC9wbS3FAdpkgbf5B/aLT0u3hnXNLdKokgfOxagIUMlVsoJGnUcd41sBM3Wo7P5eXOKDlwaKQFbZMTysN7JDtQ5Dx2mRToIk+GJoYnErX0Lu0hWjGWWWGPr6EKyUL+tHjOwfcE= 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=MroGomDx; arc=none smtp.client-ip=209.85.216.74 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="MroGomDx" Received: by mail-pj1-f74.google.com with SMTP id 98e67ed59e1d1-30566e34290so1225101a91.3 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531931; x=1744136731; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=zjYwyfzWpXgW9pBn6lh1KuK7zJm8s0w53QTMpIqZFFg=; b=MroGomDxcLFSu01m/QjLk/slMk07bWJlZwaYJzNavqUPXsvqQnax1DT/rQbTR+Rxf8 11HeYPSrpDJTGTf42B7Bs+PBgts6ylSzQtAA+V6EfxdUwN3n4RYBG6ugO3FAVLuKxj6N uccluZDFyJK44+JVCdd8nOwUX+GBz6T/RjF0IPnwFQ623QbhzyL17HZ8irzgT5kKv5Nk 9eUwfE+ETdv05k5bLR1lrUR01HQ98Zed7H1ZzA2tkUcThZXThK0r6aO/nN4Iq8j1zgqt cy3iRbJ9GjFHvjOJlzeqIbRpeL86C5GCm6J04Caz+iofzKwxPfs5N3zrVrK8qsLcDsCE KO3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531931; x=1744136731; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=zjYwyfzWpXgW9pBn6lh1KuK7zJm8s0w53QTMpIqZFFg=; b=EjsCkkyYlVhECbkoqUO2pUQ0vpBzifjCWNZordzBf0adEOlmVOR9b1NFEkI3Umla9N TYflXWdaFk3WMX4D2zLVUob1rMJwcUHXRxoLKAiNsKgCczFqi+MLULIWmJGQuTY2rRuN HiE+JtmdJln7cXgExRJyK4AOQu/vBFrHE1Zq2lm+cGiGT9k1RxHeIzSLY+Br4NAmTS7o xN2l3WZs9TIOMMKVhu5PcNn5cvUonO5ZMpI2wpj2xS94jW78zF3PAyz+hxMmWcCj+/vO tJF/a0U7llNUjthVyQUvyYUatsPaV7K6fSiiacpzU5t+e+1Y3lBwYQGqfF49eYkE756N xCaw== X-Forwarded-Encrypted: i=1; AJvYcCW/i+I55ZaCcdyKGHAlIbXtWDaHS03bm19DG3Q82/yI1bJWWkEPwI6TiOZEIjNJ4O0eudf2wNAfSAA0a5g=@vger.kernel.org X-Gm-Message-State: AOJu0YwsgbBulNwQi6bv6kI7/fm3E216qp+6T9z0mf1Fyh0hHgiB4xBk EzsvyHNNhex9MD24vSHO9R9jQG5raoBq5G4AzLVsM/L3iJjyTatS9/0ASBvAtyZEt0NfxJ/jLEf 3D/q1hA== X-Google-Smtp-Source: AGHT+IG4Kf2Zybdapo7zsLm0EDlW1RPSa/moYNMFk0l2bCivrxDDEmzqMRibCQWMjdxRJDlbVEv7HYK4KZth X-Received: from pjbhl3.prod.google.com ([2002:a17:90b:1343:b0:2f4:4222:ebba]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:384d:b0:2ff:7b28:a519 with SMTP id 98e67ed59e1d1-30532158ee8mr19553046a91.30.1743531930453; Tue, 01 Apr 2025 11:25:30 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:25 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-28-irogers@google.com> Subject: [PATCH v1 27/48] perf probe: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/util/probe-event.c | 9 +++++---- tools/perf/util/probe-file.c | 12 +++++++----- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c index 307ad6242a4e..a733dc59c3ca 100644 --- a/tools/perf/util/probe-event.c +++ b/tools/perf/util/probe-event.c @@ -1336,7 +1336,7 @@ static int parse_line_num(char **ptr, int *val, const= char *what) const char *start =3D *ptr; =20 errno =3D 0; - *val =3D strtol(*ptr, ptr, 0); + *val =3D (int)strtol(*ptr, ptr, 0); if (errno || *ptr =3D=3D start) { semantic_error("'%s' is not a valid number.\n", what); return -EINVAL; @@ -1620,7 +1620,7 @@ static int parse_perf_probe_point(char *arg, struct p= erf_probe_event *pev) } switch (c) { case ':': /* Line number */ - pp->line =3D strtoul(arg, &tmp, 0); + pp->line =3D (int)strtoul(arg, &tmp, 0); if (*tmp !=3D '\0') { semantic_error("There is non-digit char" " in line number.\n"); @@ -2066,7 +2066,7 @@ static char *synthesize_perf_probe_point(struct perf_= probe_point *pp) { struct strbuf buf; char *tmp, *ret =3D NULL; - int len, err =3D 0; + int err =3D 0; =20 if (strbuf_init(&buf, 64) < 0) return NULL; @@ -2084,8 +2084,9 @@ static char *synthesize_perf_probe_point(struct perf_= probe_point *pp) goto out; } if (pp->file) { + size_t len =3D strlen(tmp); + tmp =3D pp->file; - len =3D strlen(tmp); if (len > 30) { tmp =3D strchr(pp->file + len - 30, '/'); tmp =3D tmp ? tmp + 1 : pp->file + len - 30; diff --git a/tools/perf/util/probe-file.c b/tools/perf/util/probe-file.c index ec8ac242fedb..2d84002710f3 100644 --- a/tools/perf/util/probe-file.c +++ b/tools/perf/util/probe-file.c @@ -167,7 +167,7 @@ int probe_file__open_both(int *kfd, int *ufd, int flag) /* Get raw string list of current kprobe_events or uprobe_events */ struct strlist *probe_file__get_rawlist(int fd) { - int ret, idx, fddup; + int ret, fddup; FILE *fp; char buf[MAX_CMDLEN]; char *p; @@ -189,6 +189,8 @@ struct strlist *probe_file__get_rawlist(int fd) goto out_close_fddup; =20 while (!feof(fp)) { + size_t idx; + p =3D fgets(buf, MAX_CMDLEN, fp); if (!p) break; @@ -307,7 +309,7 @@ static int __del_trace_probe_event(int fd, struct str_n= ode *ent) *p =3D '/'; =20 pr_debug("Writing event: %s\n", buf); - ret =3D write(fd, buf, strlen(buf)); + ret =3D (int)write(fd, buf, strlen(buf)); if (ret < 0) { ret =3D -errno; goto error; @@ -962,7 +964,7 @@ static int probe_cache_entry__write(struct probe_cache_= entry *entry, int fd) iov[0].iov_base =3D (void *)prefix; iov[0].iov_len =3D 1; iov[1].iov_base =3D entry->spev; iov[1].iov_len =3D strlen(entry->spev); iov[2].iov_base =3D (void *)"\n"; iov[2].iov_len =3D 1; - ret =3D writev(fd, iov, 3); + ret =3D (int)writev(fd, iov, 3); if (ret < (int)iov[1].iov_len + 2) goto rollback; =20 @@ -970,7 +972,7 @@ static int probe_cache_entry__write(struct probe_cache_= entry *entry, int fd) iov[0].iov_base =3D (void *)snode->s; iov[0].iov_len =3D strlen(snode->s); iov[1].iov_base =3D (void *)"\n"; iov[1].iov_len =3D 1; - ret =3D writev(fd, iov, 2); + ret =3D (int)writev(fd, iov, 2); if (ret < (int)iov[0].iov_len + 1) goto rollback; } @@ -992,7 +994,7 @@ int probe_cache__commit(struct probe_cache *pcache) int ret =3D 0; =20 /* TBD: if we do not update existing entries, skip it */ - ret =3D lseek(pcache->fd, 0, SEEK_SET); + ret =3D (int)lseek(pcache->fd, 0, SEEK_SET); if (ret < 0) goto out; =20 --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.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 6E65B22370D for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531935; cv=none; b=inqSZ9fFf9wALmyQgwnAsI39PsJJOV6WYDhdbuUlUhx5BMQ3tUPaMGSDiR3XlVmRU3Ipvokslms659zomYVBIl8kIpsnCXB5qXTUM+QNApw47Mro6dr+nD6fDXbqLfNn/7MEOR8I2d6YXWaVDqj4JjViHWFGlnwQ+W5vv2QvC78= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531935; c=relaxed/simple; bh=6iSRMZZj3v5z7XPvnu1Z2u1YsIqNAF8ssFyQ2+0Z+Rc=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=OxELUYz+YIocA0FrqxQZwtH/WHbM9Awr1VbYtRoOVEVnKD6hWPP7tXMoMzrxw32+3FxYOZeb/6p/cqR6tZv7cyUSMI9T0iR6qBwwiDRX2bHKNPZ5YH7dO3JbcpkGvtpdq6H98oMOCHYR9Gigv+QIGH192bumzybQavDDD+O5OoM= 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=HUMwJKE5; arc=none smtp.client-ip=209.85.214.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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="HUMwJKE5" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-227ea16b03dso166701935ad.3 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531933; x=1744136733; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=az0IuCUiWa/ckJI17G7Uo5hKOqaliVyKlYqJwWzsWPo=; b=HUMwJKE5ehVtRk7II8imEDsX7r7G+KYAw+N2X9RJwuipdxqUtSfHH5KHWqj38z1k9u B+vmS5psPpRMz3XEyKsIowO4AsbTOyZWBM9T+N6QICkejp5HkoX9L5QU9G3yzPXa/DdI QgUMziLOAup3j8xwX2YQduNp1YI06Knhhi2O6tFKO7sEhWCiWOSQI6JN6oK6sGZoVozg ov+H4ChARSrMC/fEieb9RJMHrlDYPD4YS8Nyh7TbTJoQKPmD+9ZURgTy6qW8zMdJ8fYz FfhIrIT6vKAx1A/bAIdYlTfKZ2W26NuoYCAjI4vj0MUjoQr8tC0HPQsMD9jjrim6VhXs U4nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531933; x=1744136733; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=az0IuCUiWa/ckJI17G7Uo5hKOqaliVyKlYqJwWzsWPo=; b=sDG64hG77tQyEsA/lEGe3xxcAmQh9PiEqBS0LNJi450Mpoj6w5LSxNVtO2RcX1jRSo XBbiIp3NamAhHm51OzHy4aNjDsjqMpmDpVSGxWH/e303gs/w4cw4lMU6fYUHYRT+acin BjdJeG3nb/ah0dKbrp6Hoki4Jvw5180Nt/2ZMKG1YElAaN6taqn23ukrq9jTsumfHXbv FQPbfU1b8Oy8DEkC69ZARDnIXjrYGaTpjyJg0sCPdZrMii2f+bT6Fp7dnimMBU6yIRJF tz8eSzOUMe/J9y4JgDEUjMigHCBIesm7zn9s0rv7K8EZ7HxViN+ZftBkcCKdENaG/qgO H2lQ== X-Forwarded-Encrypted: i=1; AJvYcCVgixXbie9YzHFWAVS7svHl8/PVDGZIkoc6JLqZeSjMotKotcZdTY4ASpaU5+QFKcvbxUiIrh5x91vWvPc=@vger.kernel.org X-Gm-Message-State: AOJu0YyYs4eOs2Heivxu4HKixdew+KlrMkw1AIf+MEP0YxjE4XWxtbx/ cnhHuC+bQGiWMCG/q7nbH7gDrnrdSgttypNujLyF5ZNTh3+kFKrkSRZJOvozDQZXxj08A5OJFDA nohELtQ== X-Google-Smtp-Source: AGHT+IHFPEAwrg2tiCWHHOiMEW4gbtvOV2RAPznerXo6Udh5LKZ1f2eE8NP4qr792/A9GrRaC2p4ssXFKeT3 X-Received: from pjbsp3.prod.google.com ([2002:a17:90b:52c3:b0:301:a339:b558]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:e541:b0:221:7b4a:475a with SMTP id d9443c01a7336-2292fa0af62mr156948135ad.52.1743531932510; Tue, 01 Apr 2025 11:25:32 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:26 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-29-irogers@google.com> Subject: [PATCH v1 28/48] perf kwork: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-kwork.c | 11 +++++------ tools/perf/util/bpf_kwork_top.c | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/tools/perf/builtin-kwork.c b/tools/perf/builtin-kwork.c index c41a68d073de..cc5488cb98e4 100644 --- a/tools/perf/builtin-kwork.c +++ b/tools/perf/builtin-kwork.c @@ -1574,8 +1574,7 @@ static void top_print_per_cpu_load(struct perf_kwork = *kwork) load =3D stat->cpus_runtime[i].load; if (test_bit(i, stat->all_cpus_bitmap) && total) { load_ratio =3D load * 10000 / total; - load_width =3D PRINT_CPU_USAGE_HIST_WIDTH * - load_ratio / 10000; + load_width =3D (int)(PRINT_CPU_USAGE_HIST_WIDTH * load_ratio / 10000); =20 printf("%%Cpu%-*d[%.*s%.*s %*.*f%%]\n", PRINT_CPU_WIDTH, i, @@ -1595,7 +1594,7 @@ static void top_print_cpu_usage(struct perf_kwork *kw= ork) u64 idle_time =3D stat->cpus_runtime[MAX_NR_CPUS].idle; u64 hardirq_time =3D stat->cpus_runtime[MAX_NR_CPUS].irq; u64 softirq_time =3D stat->cpus_runtime[MAX_NR_CPUS].softirq; - int cpus_nr =3D bitmap_weight(stat->all_cpus_bitmap, MAX_NR_CPUS); + int cpus_nr =3D (int)bitmap_weight(stat->all_cpus_bitmap, MAX_NR_CPUS); u64 cpus_total_time =3D stat->cpus_runtime[MAX_NR_CPUS].total; =20 printf("Total : %*.*f ms, %d cpus\n", @@ -1801,7 +1800,7 @@ static int perf_kwork__read_events(struct perf_kwork = *kwork) session =3D perf_session__new(&data, &kwork->tool); if (IS_ERR(session)) { pr_debug("Error creating perf session\n"); - return PTR_ERR(session); + return (int)PTR_ERR(session); } =20 symbol__init(&session->header.env); @@ -2088,8 +2087,8 @@ static void top_calc_cpu_usage(struct perf_kwork *kwo= rk) =20 top_subtract_irq_runtime(kwork, work); =20 - work->cpu_usage =3D work->total_runtime * 10000 / - stat->cpus_runtime[work->cpu].total; + work->cpu_usage =3D (u32)(work->total_runtime * + 10000 / stat->cpus_runtime[work->cpu].total); =20 top_calc_idle_time(kwork, work); next: diff --git a/tools/perf/util/bpf_kwork_top.c b/tools/perf/util/bpf_kwork_to= p.c index b6f187dd9136..808d0c84d26d 100644 --- a/tools/perf/util/bpf_kwork_top.c +++ b/tools/perf/util/bpf_kwork_top.c @@ -219,7 +219,7 @@ static void read_task_info(struct kwork_work *work) int fd; struct task_data data; struct task_key key =3D { - .pid =3D work->id, + .pid =3D (__u32)work->id, .cpu =3D work->cpu, }; =20 --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-oo1-f73.google.com (mail-oo1-f73.google.com [209.85.161.73]) (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 95CAA224236 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531937; cv=none; b=mjxpEsiKzZP0HkoIHujkgO2acTAcI13zt8rwnXhAgk2kCmOnXCfGkZrxNhKDFUR3iGXz0MmvoPdd8ivhZM9BsVKjnTogHol98QthDVgH7ppfPvTy3kIw5etgVUzCq8wdi0uERjZMRpXa3WZcoQV+uerLiUVF9A/R6XZrGygoHLI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531937; c=relaxed/simple; bh=TA9MBJKZGnM8bN2F3H667zTwUG3oMX/UHc/LW06bLSE=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=MRFr4+QiYikX5r9BX+opbBeKs8teRqHj3YePane1LbaU3fjuA9o+YBIJLQPYNbiXZLct5x9Ww3N7BI30eQp8s1E+6TXa2nPd6PexLd2zGxC6dhbd+Y5pAb2fKIKubPdTtDV6j1vU2eQcZ9ZZ2wucXUIcU0Hx2xz3nPOvIipQXio= 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=pWwfKJ8f; arc=none smtp.client-ip=209.85.161.73 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="pWwfKJ8f" Received: by mail-oo1-f73.google.com with SMTP id 006d021491bc7-5fc0058d68eso1710798eaf.0 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531935; x=1744136735; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=3QC+vjZ+uxGeny3upI0J2RrDdb+/2bXijdeBhXiDIiY=; b=pWwfKJ8fCmN0wtEC5f+Ezggf3fYRDPtOAGJryzgyjIThYQW9S9bJypm7uzPjOlEoaK t87yFuu+bgpNBrI94t4+kwSnZHPVgTYop4tWw6epQRaA+NF2a3cY/VYIV3t5NkySU8Xf 8Vr8WSOn1KKW595FPW1G76h8rjtos8OXZqVaGIax2yzfi7h9kLPAfkzPfJOXpsvt0vtA rpLHsYvKfKoPruijBu3NXG7GUoRoUqHKtz6hRVKT1Lq5tSfU244+lKjkK6Mh23sLnNne AyVoJYC4DTV3d9ggLD6r1IFVrnUMpR4yK/RjEOR901Lc0p5QY74C5DaLVXoNd+Nex4KH GcIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531935; x=1744136735; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=3QC+vjZ+uxGeny3upI0J2RrDdb+/2bXijdeBhXiDIiY=; b=dKwFNbK5ydc3gVCk2Has0GJnwO5gUc9W5SUEpDlyYcy0NcKT3bMCa0RbJChSssFRQh VdcP9y3qMSbGe6W4Pocb8/XhkNH0Mft+ivIuozu58T15rX9if9EQTu+DMwHaYen6AEaF 619F35aC3bflDr1zIQVIS8DSdrcbTxXllH4ajT942XOyLo7jjfEHyACPnIr94Qhyk62i nhzFZI9ocqZ2AyTkAUOZT0FOKG2pTQDkKC42EyGf87pweJNRP15xLISNM+iNfa6W/70j 4nFEDE55dfp0ZmNvWq1BwTYcq7rk5PDEEiYINAIVzCTQ32EgHRgT9uZW9NpGm7gIXCIs OQ5g== X-Forwarded-Encrypted: i=1; AJvYcCXSC+pP1cSKY/5qSIKKdiIsupGIdl/dD5qYI+jh7Y/lfQLOzCMs+DQP85M+hFqlLY926l1aW4WeEyKsrDQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxWJj53xch5Xe+1ipt4bDUpHNWZkTAD7cZDN0cpJaRQz+FzdPzH xwwot0jy1AW32uka53k2iGu8SoHDjNxidwpIih4WtKwul+eJ/RLiJF/gD7bOfee83b5UgTIcGNy jlgnyCQ== X-Google-Smtp-Source: AGHT+IExn2cUPsKHag87+ixWWT8lIhcsbUX86fXDEHLuW52QwQ4G2bpj9G8hgmkcPun76Arl4dDyofdwGznJ X-Received: from oabhl24.prod.google.com ([2002:a05:6870:1b18:b0:289:d40:52c]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6870:b149:b0:2c2:5c26:2d8e with SMTP id 586e51a60fabf-2cbcf51534cmr8318955fac.16.1743531934478; Tue, 01 Apr 2025 11:25:34 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:27 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-30-irogers@google.com> Subject: [PATCH v1 29/48] perf buildid: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-buildid-cache.c | 2 +- tools/perf/builtin-buildid-list.c | 2 +- tools/perf/util/build-id.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/perf/builtin-buildid-cache.c b/tools/perf/builtin-buildi= d-cache.c index b0511d16aeb6..7f7ebd625ed6 100644 --- a/tools/perf/builtin-buildid-cache.c +++ b/tools/perf/builtin-buildid-cache.c @@ -450,7 +450,7 @@ int cmd_buildid_cache(int argc, const char **argv) =20 session =3D perf_session__new(&data, NULL); if (IS_ERR(session)) - return PTR_ERR(session); + return (int)PTR_ERR(session); } =20 if (symbol__init(session ? &session->header.env : NULL) < 0) diff --git a/tools/perf/builtin-buildid-list.c b/tools/perf/builtin-buildid= -list.c index 52dfacaff8e3..ef84d1adb98f 100644 --- a/tools/perf/builtin-buildid-list.c +++ b/tools/perf/builtin-buildid-list.c @@ -109,7 +109,7 @@ static int perf_session__list_build_ids(bool force, boo= l with_hits) =20 session =3D perf_session__new(&data, &build_id__mark_dso_hit_ops); if (IS_ERR(session)) - return PTR_ERR(session); + return (int)PTR_ERR(session); =20 /* * We take all buildids when the file contains AUX area tracing data diff --git a/tools/perf/util/build-id.c b/tools/perf/util/build-id.c index e763e8d99a43..6a3ae17b1ccf 100644 --- a/tools/perf/util/build-id.c +++ b/tools/perf/util/build-id.c @@ -81,7 +81,7 @@ int build_id__sprintf(const struct build_id *build_id, ch= ar *bf) bid +=3D 2; } =20 - return (bid - bf) + 1; + return (int)(bid - bf) + 1; } =20 int sysfs__sprintf_build_id(const char *root_dir, char *sbuild_id) --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (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 64AFE22424C for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531939; cv=none; b=GztmpbrYz6zcu+rkx7MdI48AP5KaBNRNqPI1g/R19q1bbg/yCqhXyWQq0jjurAmC4z54a+JAvQs75CUrVTX6lITbzZnfnfeJWLSosgL34Nfxr1wR5/Mxs+Jt3I/5/7h1EsUQmK+XSEllmif5lX+8o5ubHJmGN5bkCPcb3f2w3k0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531939; c=relaxed/simple; bh=aNEAqY22NVJBLrUvwAfSZyi0jskwYW+fPEnS6UbQ99c=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=qp+uEbNSEExWwAIHvLhGfMDN0XsHHDfAShSPRHNSueGrUJXbXQHDfHQRLjdOxTZNUH0LaBHnkxwj/OxYSelIQDxOWE5+1puHrv8f2HlnqJROnsBS54TPIVLAJ198tU5vJNyhdYTqLDueMxlVSu9/Tj7IKP5HL2W4j3IJI20kzGA= 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=jbMA+Gx8; arc=none smtp.client-ip=209.85.216.73 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="jbMA+Gx8" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-2ff798e8c93so9974898a91.2 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531937; x=1744136737; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=dEvgMQ7hj1MtC9APrrTa5v1wygWFQPA8AYYV5v13hBc=; b=jbMA+Gx8zJKbshaXdKM07m9kIKKOPsS6c1TdWAfxKEP1Kd4hwQvpRQhLY2IOVnd8S5 fQbshyzHFhuklrJPfMiaN6tD1JpiQ0HzPNdr+pf4POTxu4sIHnTbvxQdryfMd+VIyK1Y l9VfdCZOmwKRIieFeQL26bef0SAO3yawOKAoSz785inYjayb9IwukgFkGrqtn7ZbNYab Wl8IU85hIabZokSWNAmqo3eyGwPMSWPk+PVC8ynpw+lepbQ1ChIjh13YQwl3QRcE7SzP 6QHwuGTJQFu5gJ/i1cjPXY1hUn6JSNub/rci5qxvCshWhZJrsN6lvzqfafa0VvhXxbVx td9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531937; x=1744136737; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=dEvgMQ7hj1MtC9APrrTa5v1wygWFQPA8AYYV5v13hBc=; b=dkS30oerPRck62FlNcoAfPU7WnafwQ+p2HIimz7MUSkCNPQA1x1J1CV20f5VtWuGpj bI5f87TopKBiRWNW570YFYsoGgJysq2ltXkjzNMN4jSE+sxadHhysclnlF9rHo0syGHM TcilMLj7iNOgNitVaFAhoM2yNusR4Pt0ZnZy3IbUcxGWEFMlc1hjSZ59Yc0gTUgtwhAd 0LGN2yIAdha2+8oU/qtu913OumWwpIQReN7jFNKB1XpFhV8vmkHg4vjdfTGJC0gCppCS 2Lpu44ekD7YMn69ozvwtI9wVA9h1SeNi9p/WMnBoMZyxSJ3BqFvNR2HIacfrplWjqfiZ sTlQ== X-Forwarded-Encrypted: i=1; AJvYcCXdQezmsSX3KdbsSlegTolSw7d6Kh+3OZjrlPVel2/P9IegFMA+VUlubMLkv4AkVhP8sPFK3wGxjbVFLD4=@vger.kernel.org X-Gm-Message-State: AOJu0YygLPV312e7HjuK93oyYMva9R2Xbx7dH/6snY/3WOAFbXUCkE1f YFjo53EqJ1XmTGqWlVcWKaG1X3yTMqPmDFl8KcC42GTLLRn+3tQ8Ci4jj+sWA6P9CvtzDKg/O3K Fmxjjpg== X-Google-Smtp-Source: AGHT+IGchPGTFEjtMPMpcg6L5VZPbxRfh8IYI2/637AjZAb1QTVtjp9b4ehxyr3z/adDeoLrSyZxI9FBtMu4 X-Received: from pfih11.prod.google.com ([2002:a05:6a00:218b:b0:736:79d0:fd28]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:1493:b0:739:4a30:b900 with SMTP id d2e1a72fcca58-7398037e24amr19307720b3a.7.1743531936475; Tue, 01 Apr 2025 11:25:36 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:28 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-31-irogers@google.com> Subject: [PATCH v1 30/48] perf lock: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-lock.c | 16 ++++++++-------- tools/perf/util/bpf_lock_contention.c | 17 +++++++++-------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c index 05e7bc30488a..0f7e627394aa 100644 --- a/tools/perf/builtin-lock.c +++ b/tools/perf/builtin-lock.c @@ -569,7 +569,7 @@ static int report_lock_acquire_event(struct evsel *evse= l, struct lock_seq_stat *seq; const char *name =3D evsel__strval(evsel, sample, "name"); u64 addr =3D evsel__intval(evsel, sample, "lockdep_addr"); - int flag =3D evsel__intval(evsel, sample, "flags"); + int flag =3D (int)evsel__intval(evsel, sample, "flags"); u64 key; int ret; =20 @@ -837,7 +837,7 @@ static int get_symbol_name_offset(struct map *map, stru= ct symbol *sym, u64 ip, if (offset) return scnprintf(buf, size, "%s+%#lx", sym->name, offset); else - return strlcpy(buf, sym->name, size); + return (int)strlcpy(buf, sym->name, size); } static int lock_contention_caller(struct evsel *evsel, struct perf_sample = *sample, char *buf, int size) @@ -968,7 +968,7 @@ static int report_lock_contention_begin_event(struct ev= sel *evsel, struct thread_stat *ts; struct lock_seq_stat *seq; u64 addr =3D evsel__intval(evsel, sample, "lock_addr"); - unsigned int flags =3D evsel__intval(evsel, sample, "flags"); + unsigned int flags =3D (unsigned int)evsel__intval(evsel, sample, "flags"= ); u64 key; int i, ret; static bool kmap_loaded; @@ -1303,7 +1303,7 @@ static void print_result(void) struct thread *t; =20 /* st->addr contains tid of thread */ - t =3D perf_session__findnew(session, st->addr); + t =3D perf_session__findnew(session, (int)st->addr); name =3D thread__comm_str(t); } =20 @@ -1638,7 +1638,7 @@ static void print_lock_stat_stdio(struct lock_content= ion *con, struct lock_stat fprintf(lock_output, " %10s %s\n", get_type_flags_name(st->flags), st= ->name); break; case LOCK_AGGR_TASK: - pid =3D st->addr; + pid =3D (int)st->addr; t =3D perf_session__findnew(session, pid); fprintf(lock_output, " %10d %s\n", pid, pid =3D=3D -1 ? "Unknown" : thread__comm_str(t)); @@ -1691,7 +1691,7 @@ static void print_lock_stat_csv(struct lock_contentio= n *con, struct lock_stat *s fprintf(lock_output, "\n"); break; case LOCK_AGGR_TASK: - pid =3D st->addr; + pid =3D (int)st->addr; t =3D perf_session__findnew(session, pid); fprintf(lock_output, "%d%s %s\n", pid, sep, pid =3D=3D -1 ? "Unknown" : thread__comm_str(t)); @@ -1870,7 +1870,7 @@ static int __cmd_report(bool display_info) session =3D perf_session__new(&data, &eops); if (IS_ERR(session)) { pr_err("Initializing perf session failed\n"); - return PTR_ERR(session); + return (int)PTR_ERR(session); } =20 symbol_conf.allow_aliases =3D true; @@ -2023,7 +2023,7 @@ static int __cmd_contention(int argc, const char **ar= gv) session =3D perf_session__new(use_bpf ? NULL : &data, &eops); if (IS_ERR(session)) { pr_err("Initializing perf session failed\n"); - err =3D PTR_ERR(session); + err =3D (int)PTR_ERR(session); session =3D NULL; goto out_delete; } diff --git a/tools/perf/util/bpf_lock_contention.c b/tools/perf/util/bpf_lo= ck_contention.c index 5af8f6d1bc95..5a7a820000d4 100644 --- a/tools/perf/util/bpf_lock_contention.c +++ b/tools/perf/util/bpf_lock_contention.c @@ -54,7 +54,7 @@ static void check_slab_cache_iter(struct lock_contention = *con) =20 has_slab_iter =3D true; =20 - bpf_map__set_max_entries(skel->maps.slab_caches, con->map_nr_entries); + bpf_map__set_max_entries(skel->maps.slab_caches, (__u32)con->map_nr_entri= es); out: btf__free(btf); } @@ -123,23 +123,24 @@ int lock_contention_prepare(struct lock_contention *c= on) } =20 bpf_map__set_value_size(skel->maps.stacks, con->max_stack * sizeof(u64)); - bpf_map__set_max_entries(skel->maps.lock_stat, con->map_nr_entries); - bpf_map__set_max_entries(skel->maps.tstamp, con->map_nr_entries); + bpf_map__set_max_entries(skel->maps.lock_stat, (__u32)con->map_nr_entries= ); + bpf_map__set_max_entries(skel->maps.tstamp, (__u32)con->map_nr_entries); =20 if (con->aggr_mode =3D=3D LOCK_AGGR_TASK) - bpf_map__set_max_entries(skel->maps.task_data, con->map_nr_entries); + bpf_map__set_max_entries(skel->maps.task_data, (__u32)con->map_nr_entrie= s); else bpf_map__set_max_entries(skel->maps.task_data, 1); =20 if (con->save_callstack) { - bpf_map__set_max_entries(skel->maps.stacks, con->map_nr_entries); + bpf_map__set_max_entries(skel->maps.stacks, (__u32)con->map_nr_entries); if (con->owner) { bpf_map__set_value_size(skel->maps.stack_buf, con->max_stack * sizeof(u= 64)); bpf_map__set_key_size(skel->maps.owner_stacks, con->max_stack * sizeof(u64)); - bpf_map__set_max_entries(skel->maps.owner_stacks, con->map_nr_entries); - bpf_map__set_max_entries(skel->maps.owner_data, con->map_nr_entries); - bpf_map__set_max_entries(skel->maps.owner_stat, con->map_nr_entries); + bpf_map__set_max_entries(skel->maps.owner_stacks, + (__u32)con->map_nr_entries); + bpf_map__set_max_entries(skel->maps.owner_data, (__u32)con->map_nr_entr= ies); + bpf_map__set_max_entries(skel->maps.owner_stat, (__u32)con->map_nr_entr= ies); skel->rodata->max_stack =3D con->max_stack; } } else { --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) (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 4266D224890 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531941; cv=none; b=lctaQrhCCWrOKQBLayguyKgNni8PcNhphdYReHq7UVZ1HNmv321yh2mEH2ddMK+XlLkMHOiCOrgSoiTEcUfkkvD897WoUEdMMPNNISMzkhW5F8Hl0UqwYwRtTTKQxkQxVpRG7MH97lGgRUloX/tFSmQsyzfBe67OylludjyayQ8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531941; c=relaxed/simple; bh=EwrEhaayZUz6j7VTy7fntRhRQeSYqYghp8EKY3a5bjA=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=nXbL/Is9UhFNd4oV0iIHmOnmTsYCCSsePiFz4Uk5PwbgdKBZsxqFzClGKKDYYpPlaCqOkEEB1s897xfHHKjEDrf1WOfqam/lHPxWcy9Kiw8OYz1JCtBmX/WqwLuH15XYqgvqsOPontiVeLgBXNwNQGB8cMis7POI+2M4GFur1xY= 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=1826qcJk; arc=none smtp.client-ip=209.85.214.201 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="1826qcJk" Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-224191d9228so7800665ad.3 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531939; x=1744136739; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=6x/kLxOBgyV2DmnN3iM37OKAAnb11pTzL6NOoum7kuI=; b=1826qcJkpUeFynMdlWQP2IxcdyF26PIwUz6XOpkW6ZxW+8IYYQCsltoOoMkkyvdbpe p9zY5icYIWOUABZGqvJ3cykGFnQh/O5/7D1UyVDWm9y7wy/yD4z/eDfz7PP5XUfslgLa sswM2+MBc/G/ApEqMsXRHbYyp73iWqwNmLDnCDsmQyWyf16uj3d51RPOIsdvWNph7rUH xBAlIdVYfv0PcG/gZkDX226iR8PUVRV4PHb+irIg+nENvpJzbAp84fO0m5+F4/66f2b8 AqaYGv9PyNuUSQjXwPg3HarnvRzT7/4G6AU4VvpngcRi0v9vrRLaXxqTWqXP/lWZS/uD 24jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531939; x=1744136739; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=6x/kLxOBgyV2DmnN3iM37OKAAnb11pTzL6NOoum7kuI=; b=hYVb3NQYPNnvTcQBeh/KJDjSNsspGZCssiYpDF1+QbymqicShznHk0q/Mmde4bm7kE GbenW+dsUWD4OwlgJ4YK1CZGr/b+zXZbX8YcSUXtnof2rahBPRnaXm1U1MxlcxH7tHGM Q2a57BU8dnoB26OvSXch74AO6Wt+pPWYt6z9p8xSm68fc/wQeHH4LvbTUzVYt7miJ7PI Ny1SEqgpD56i7HWYE4oAXOMu7UMag0gDjKV8bzuqA79zu0Sbn1ipfEqyTzpOujfYbn+2 7yvLBsV9SshFRxpun7wEw0EJm6Nn2WMnWCgTuXxv/C+MwMa+YJhTfLOGmERFMV5TFcsU fiWA== X-Forwarded-Encrypted: i=1; AJvYcCWywNThqMnvTGEJE9daVguwVwRZzbrs3s8NFq8LeB4zzOE3lzt5rPZ7/3+QKOvAWM4f0/5EHlcNEghf1ao=@vger.kernel.org X-Gm-Message-State: AOJu0YwPapm0AMcReX0MZ13TmQ6YL0P6T+v2d3Cnal5S1fZmwZ966Lax 1tAsaGRND4Tb/zb1ypf7XxRyKRWmNM1UbXZUKmxdwAxXVtJ+tJuVRanI/TD8+0jmXAabOUsPl42 JmXHH9A== X-Google-Smtp-Source: AGHT+IEccQqOtpo+vAN27UDe/KDy57rQd9rbLG/JcrBWONNbzQKBprdTpSKuMi1ZbreI3i1HBlBtrLLuKTaM X-Received: from plpw22.prod.google.com ([2002:a17:902:9a96:b0:223:5739:92d]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:903:2281:b0:223:f7ec:f834 with SMTP id d9443c01a7336-2292f9e309dmr226038175ad.31.1743531938656; Tue, 01 Apr 2025 11:25:38 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:29 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-32-irogers@google.com> Subject: [PATCH v1 31/48] perf mem: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-c2c.c | 21 ++++++++++--------- tools/perf/builtin-kmem.c | 39 ++++++++++++++++++------------------ tools/perf/builtin-mem.c | 2 +- tools/perf/util/mem-events.c | 12 +++++------ tools/perf/util/mem2node.c | 2 +- 5 files changed, 38 insertions(+), 38 deletions(-) diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c index 5d5bb0f32334..ac456ddb2f3d 100644 --- a/tools/perf/builtin-c2c.c +++ b/tools/perf/builtin-c2c.c @@ -1206,7 +1206,7 @@ node_entry(struct perf_hpp_fmt *fmt __maybe_unused, s= truct perf_hpp *hpp, break; case 1: { - int num =3D bitmap_weight(set, c2c.cpus_cnt); + int num =3D (int)bitmap_weight(set, c2c.cpus_cnt); struct c2c_stats *stats =3D &c2c_he->node_stats[node]; =20 ret =3D scnprintf(hpp->buf, hpp->size, "%2d{%2d ", node, num); @@ -1249,7 +1249,7 @@ node_entry(struct perf_hpp_fmt *fmt __maybe_unused, s= truct perf_hpp *hpp, ret =3D scnprintf(hpp->buf, hpp->size, "%2d{", node); advance_hpp(hpp, ret); =20 - ret =3D bitmap_scnprintf(set, c2c.cpus_cnt, hpp->buf, hpp->size); + ret =3D (int)bitmap_scnprintf(set, c2c.cpus_cnt, hpp->buf, hpp->size); advance_hpp(hpp, ret); =20 ret =3D scnprintf(hpp->buf, hpp->size, "}"); @@ -1911,7 +1911,7 @@ static int c2c_se_entry(struct perf_hpp_fmt *fmt, str= uct perf_hpp *hpp, len =3D symbol_width(he->hists, dim->se); } =20 - return dim->se->se_snprintf(he, hpp->buf, hpp->size, len); + return dim->se->se_snprintf(he, hpp->buf, hpp->size, (unsigned int)len); } =20 static int64_t c2c_se_cmp(struct perf_hpp_fmt *fmt, @@ -2163,7 +2163,7 @@ static void set_node_width(struct c2c_hist_entry *c2c= _he, int len) static int set_nodestr(struct c2c_hist_entry *c2c_he) { char buf[30]; - int len; + size_t len; =20 if (c2c_he->nodestr) return 0; @@ -2175,7 +2175,7 @@ static int set_nodestr(struct c2c_hist_entry *c2c_he) len =3D scnprintf(buf, sizeof(buf), "N/A"); } =20 - set_node_width(c2c_he, len); + set_node_width(c2c_he, (int)len); c2c_he->nodestr =3D strdup(buf); return c2c_he->nodestr ? 0 : -ENOMEM; } @@ -2352,7 +2352,7 @@ static int hists__iterate_cb(struct hists *hists, his= ts__resort_cb_t cb) =20 static void print_c2c__display_stats(FILE *out) { - int llc_misses; + uint64_t llc_misses; struct c2c_stats *stats =3D &c2c.hists.stats; =20 llc_misses =3D get_load_llc_misses(stats); @@ -2378,7 +2378,7 @@ static void print_c2c__display_stats(FILE *out) fprintf(out, " Load Remote DRAM : %10d\n", stats->rmt_d= ram); fprintf(out, " Load MESI State Exclusive : %10d\n", stats->ld_ex= cl); fprintf(out, " Load MESI State Shared : %10d\n", stats->ld_sh= ared); - fprintf(out, " Load LLC Misses : %10d\n", llc_misses); + fprintf(out, " Load LLC Misses : %10"PRIu64"\n", llc_m= isses); fprintf(out, " Load access blocked by data : %10d\n", stats->blk_d= ata); fprintf(out, " Load access blocked by address : %10d\n", stats->blk_a= ddr); fprintf(out, " Load HIT Local Peer : %10d\n", stats->lcl_p= eer); @@ -2737,9 +2737,10 @@ static void perf_c2c_display(struct perf_session *se= ssion) } #endif /* HAVE_SLANG_SUPPORT */ =20 -static char *fill_line(const char *orig, int len) +static char *fill_line(const char *orig, size_t len) { - int i, j, olen =3D strlen(orig); + size_t i, j; + size_t olen =3D strlen(orig); char *buf; =20 buf =3D zalloc(len + 1); @@ -3067,7 +3068,7 @@ static int perf_c2c__report(int argc, const char **ar= gv) c2c.tool.ordering_requires_timestamps =3D true; session =3D perf_session__new(&data, &c2c.tool); if (IS_ERR(session)) { - err =3D PTR_ERR(session); + err =3D (int)PTR_ERR(session); pr_debug("Error creating perf session\n"); goto out; } diff --git a/tools/perf/builtin-kmem.c b/tools/perf/builtin-kmem.c index 67fb1946ef13..6a905161f21b 100644 --- a/tools/perf/builtin-kmem.c +++ b/tools/perf/builtin-kmem.c @@ -173,10 +173,10 @@ static int insert_caller_stat(unsigned long call_site, =20 static int evsel__process_alloc_event(struct evsel *evsel, struct perf_sam= ple *sample) { - unsigned long ptr =3D evsel__intval(evsel, sample, "ptr"), - call_site =3D evsel__intval(evsel, sample, "call_site"); - int bytes_req =3D evsel__intval(evsel, sample, "bytes_req"), - bytes_alloc =3D evsel__intval(evsel, sample, "bytes_alloc"); + unsigned long ptr =3D evsel__intval(evsel, sample, "ptr"); + unsigned long call_site =3D evsel__intval(evsel, sample, "call_site"); + int bytes_req =3D (int)evsel__intval(evsel, sample, "bytes_req"); + int bytes_alloc =3D (int)evsel__intval(evsel, sample, "bytes_alloc"); =20 if (insert_alloc_stat(call_site, ptr, bytes_req, bytes_alloc, sample->cpu= ) || insert_caller_stat(call_site, bytes_req, bytes_alloc)) @@ -202,7 +202,7 @@ static int evsel__process_alloc_event(struct evsel *evs= el, struct perf_sample *s int node1, node2; =20 node1 =3D cpu__get_node((struct perf_cpu){.cpu =3D sample->cpu}); - node2 =3D evsel__intval(evsel, sample, "node"); + node2 =3D (int)evsel__intval(evsel, sample, "node"); =20 /* * If the field "node" is NUMA_NO_NODE (-1), we don't take it @@ -737,7 +737,7 @@ static char *compact_gfp_flags(char *gfp_flags) return new_flags; } =20 -static char *compact_gfp_string(unsigned long gfp_flags) +static char *compact_gfp_string(unsigned int gfp_flags) { struct gfp_flag key =3D { .flags =3D gfp_flags, @@ -808,10 +808,9 @@ static int parse_gfp_flags(struct evsel *evsel, struct= perf_sample *sample, static int evsel__process_page_alloc_event(struct evsel *evsel, struct per= f_sample *sample) { u64 page; - unsigned int order =3D evsel__intval(evsel, sample, "order"); - unsigned int gfp_flags =3D evsel__intval(evsel, sample, "gfp_flags"); - unsigned int migrate_type =3D evsel__intval(evsel, sample, - "migratetype"); + unsigned int order =3D (unsigned int)evsel__intval(evsel, sample, "order"= ); + unsigned int gfp_flags =3D (unsigned int)evsel__intval(evsel, sample, "gf= p_flags"); + unsigned int migrate_type =3D (unsigned int)evsel__intval(evsel, sample, = "migratetype"); u64 bytes =3D kmem_page_size << order; u64 callsite; struct page_stat *pstat; @@ -880,7 +879,7 @@ static int evsel__process_page_alloc_event(struct evsel= *evsel, struct perf_samp static int evsel__process_page_free_event(struct evsel *evsel, struct perf= _sample *sample) { u64 page; - unsigned int order =3D evsel__intval(evsel, sample, "order"); + unsigned int order =3D (unsigned int)evsel__intval(evsel, sample, "order"= ); u64 bytes =3D kmem_page_size << order; struct page_stat *pstat; struct page_stat this =3D { @@ -1064,12 +1063,12 @@ static void __print_page_alloc_result(struct perf_s= ession *session, int n_lines) struct rb_node *next =3D rb_first(&page_alloc_sorted); struct machine *machine =3D &session->machines.host; const char *format; - int gfp_len =3D max(strlen("GFP flags"), max_gfp_len); + size_t gfp_len =3D max(strlen("GFP flags"), max_gfp_len); =20 printf("\n%.105s\n", graph_dotted_line); printf(" %-16s | %5s alloc (KB) | Hits | Order | Mig.type | %-*s | C= allsite\n", use_pfn ? "PFN" : "Page", live_page ? "Live" : "Total", - gfp_len, "GFP flags"); + (int)gfp_len, "GFP flags"); printf("%.105s\n", graph_dotted_line); =20 if (use_pfn) @@ -1102,7 +1101,7 @@ static void __print_page_alloc_result(struct perf_ses= sion *session, int n_lines) =20 if (n_lines =3D=3D -1) { printf(" ... | ... | ... | ... | ... = | %-*s | ...\n", - gfp_len, "..."); + (int)gfp_len, "..."); } =20 printf("%.105s\n", graph_dotted_line); @@ -1112,11 +1111,11 @@ static void __print_page_caller_result(struct perf_= session *session, int n_lines { struct rb_node *next =3D rb_first(&page_caller_sorted); struct machine *machine =3D &session->machines.host; - int gfp_len =3D max(strlen("GFP flags"), max_gfp_len); + size_t gfp_len =3D max(strlen("GFP flags"), max_gfp_len); =20 printf("\n%.105s\n", graph_dotted_line); printf(" %5s alloc (KB) | Hits | Order | Mig.type | %-*s | Callsite\= n", - live_page ? "Live" : "Total", gfp_len, "GFP flags"); + live_page ? "Live" : "Total", (int)gfp_len, "GFP flags"); printf("%.105s\n", graph_dotted_line); =20 while (next && n_lines--) { @@ -1137,14 +1136,14 @@ static void __print_page_caller_result(struct perf_= session *session, int n_lines (unsigned long long)data->alloc_bytes / 1024, data->nr_alloc, data->order, migrate_type_str[data->migrate_type], - gfp_len, compact_gfp_string(data->gfp_flags), caller); + (int)gfp_len, compact_gfp_string(data->gfp_flags), caller); =20 next =3D rb_next(next); } =20 if (n_lines =3D=3D -1) { printf(" ... | ... | ... | ... | %-*s | ...\n", - gfp_len, "..."); + (int)gfp_len, "..."); } =20 printf("%.105s\n", graph_dotted_line); @@ -1828,7 +1827,7 @@ static int parse_line_opt(const struct option *opt __= maybe_unused, if (!arg) return -1; =20 - lines =3D strtoul(arg, NULL, 10); + lines =3D (int)strtoul(arg, NULL, 10); =20 if (caller_flag > alloc_flag) caller_lines =3D lines; @@ -2001,7 +2000,7 @@ int cmd_kmem(int argc, const char **argv) =20 kmem_session =3D session =3D perf_session__new(&data, &perf_kmem); if (IS_ERR(session)) - return PTR_ERR(session); + return (int)PTR_ERR(session); =20 ret =3D -1; =20 diff --git a/tools/perf/builtin-mem.c b/tools/perf/builtin-mem.c index 5ec83cd85650..988b3877cde8 100644 --- a/tools/perf/builtin-mem.c +++ b/tools/perf/builtin-mem.c @@ -293,7 +293,7 @@ static int report_raw_events(struct perf_mem *mem) session =3D perf_session__new(&data, &mem->tool); =20 if (IS_ERR(session)) - return PTR_ERR(session); + return (int)PTR_ERR(session); =20 session->itrace_synth_opts =3D &itrace_synth_opts; =20 diff --git a/tools/perf/util/mem-events.c b/tools/perf/util/mem-events.c index 884d9aebce91..6ad99ace56e3 100644 --- a/tools/perf/util/mem-events.c +++ b/tools/perf/util/mem-events.c @@ -364,7 +364,7 @@ int perf_mem__tlb_scnprintf(char *out, size_t sz, const= struct mem_info *mem_inf if (miss) l +=3D scnprintf(out + l, sz - l, " miss"); =20 - return l; + return (int)l; } =20 static const char * const mem_lvl[] =3D { @@ -476,7 +476,7 @@ int perf_mem__lvl_scnprintf(char *out, size_t sz, const= struct mem_info *mem_inf l +=3D scnprintf(out + l, sz - l, "Unknown level %d", lvl); =20 l +=3D scnprintf(out + l, sz - l, " %s", hit_miss); - return l; + return (int)l; } =20 lvl =3D data_src.mem_lvl; @@ -499,7 +499,7 @@ int perf_mem__lvl_scnprintf(char *out, size_t sz, const= struct mem_info *mem_inf =20 if (printed) { l +=3D scnprintf(out + l, sz - l, " %s", hit_miss); - return l; + return (int)l; } =20 na: @@ -559,7 +559,7 @@ int perf_mem__snp_scnprintf(char *out, size_t sz, const= struct mem_info *mem_inf if (*out =3D=3D '\0') l +=3D scnprintf(out, sz - l, "N/A"); =20 - return l; + return (int)l; } =20 int perf_mem__lck_scnprintf(char *out, size_t sz, const struct mem_info *m= em_info) @@ -593,14 +593,14 @@ int perf_mem__blk_scnprintf(char *out, size_t sz, con= st struct mem_info *mem_inf =20 if (!mask || (mask & PERF_MEM_BLK_NA)) { l +=3D scnprintf(out + l, sz - l, " N/A"); - return l; + return (int)l; } if (mask & PERF_MEM_BLK_DATA) l +=3D scnprintf(out + l, sz - l, " Data"); if (mask & PERF_MEM_BLK_ADDR) l +=3D scnprintf(out + l, sz - l, " Addr"); =20 - return l; + return (int)l; } =20 int perf_script__meminfo_scnprintf(char *out, size_t sz, const struct mem_= info *mem_info) diff --git a/tools/perf/util/mem2node.c b/tools/perf/util/mem2node.c index 03a7d7b27737..2d76626dec01 100644 --- a/tools/perf/util/mem2node.c +++ b/tools/perf/util/mem2node.c @@ -56,7 +56,7 @@ int mem2node__init(struct mem2node *map, struct perf_env = *env) =20 for (i =3D 0; i < env->nr_memory_nodes; i++) { n =3D &nodes[i]; - max +=3D bitmap_weight(n->set, n->size); + max +=3D bitmap_weight(n->set, (unsigned int)n->size); } =20 entries =3D zalloc(sizeof(*entries) * max); --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-oa1-f74.google.com (mail-oa1-f74.google.com [209.85.160.74]) (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 82A97224895 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531943; cv=none; b=kSGeZI/Qe800HD4+SzyD7Ycw2VQOMvGOVYNVOVAG7sAYHB1KoGp+jREKr8UddmFqBtQmhb+HnvqIf/g9ezA5r+2T3QlFd+rYF2hIucIZgfFIglMFbFID6znlfn6Ync29ARkFAxxxp9gwsdCV0+iJyRAM5itzkvzqinbDmTVMD00= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531943; c=relaxed/simple; bh=vitQhkrH8/th1FUP9ZO97pXBV4noJwBMvKWtyr9nxXI=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=NhbwMg1ZWd2vJHnCubxVEnZpmiahUebwTJN5H9ED37zHSapTcHwqF/550hS3NNxtfGHvGXJOLTzcp77g98i7EgSJdm4o4Qkj7Gi4I3tv6cFufUJl/P60PT9WkXek6FAkm4dVzMaQqyiuBO6IbpifNFotAT594zNHOchlsKb9sT4= 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=l/Z7snxw; arc=none smtp.client-ip=209.85.160.74 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="l/Z7snxw" Received: by mail-oa1-f74.google.com with SMTP id 586e51a60fabf-2c23beea898so3823967fac.0 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531940; x=1744136740; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=j+WIGyqde8JFeBL+0Jvz4k6PjrTQ0lsBNre5xwmYAMQ=; b=l/Z7snxwbvqyvToj5fJsYVk7gWXY+civHb8uz3kf2HnKwNgU42ECMGgeOWUmyeGqyG wBYf0BBJ+h6acs46AGbZkUwgeHa13/TniYqIEtpOSZCrSq8Rt6E7uYcDtgDw1eAfFVCv lwVCEZIiXtGXcWyoo9DqqM52MmFPxn1VGNeQfIlC2WYpe6nmzDHOS7yeLyuxzfhPJHSv OxDvUyRuPIZU5Qvcfd+pnCe6m1DOB/sDGnaFBFBbwv2BNk9ajZLgxWV6olNZVwNAtC7Z O0JA0igs+k6zS+YYJ8OKHQjZaNDMloK3tuwyDt77GK093YvGmI8FRFEi5gzkPSUe9h15 VtWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531940; x=1744136740; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=j+WIGyqde8JFeBL+0Jvz4k6PjrTQ0lsBNre5xwmYAMQ=; b=VKVhRSP32VaReAWaCAX22fx1en58HETda9QOrGhKUeQgaa8W0jITwTaHGeI9oEMall fq0fFI2eUjNuYjRwnisa93V7Uj8iSsCnTa605RP2gGUAmS5hMovW7LCO6mmshUDcDN2c Qcswayhaw7HL3xVkxcAsFY6UHnpjFugCdEU81Oug7veyy1YDJDdwrAWHdswDUYg5oVvJ ioFxho58xWVZI8+Y4OqUIxL8C3gzawTy3woP5tNMhq8oIRlHC1fPHFIJtTRDkC799MDC oGJbQPUxqohS3QYeyAD72NDMgMNE+ffkL0wceMFsVY4SRfm8MS3FuR7ayBkdU3yrEfyq WVtA== X-Forwarded-Encrypted: i=1; AJvYcCX6QZj+z2B2Nc8wxwegoGXNurako0l46D0iL3lf+3Vd186wiA3OpnlbeS0ckCzvbWTXwIVlNp4mwX5gznA=@vger.kernel.org X-Gm-Message-State: AOJu0Yx1OANh0RIIQQoPs3+4PPpFb4scyyPkLU8TPHuMdoqzqHl40s5z qfpVxdwtXpHad7Q7ryY1uWBQXy4cEGuOHPG3NcO9Phk+xH3UaCFVLprzIBgnvHbWwCWzr9TNsAF WhvHYKw== X-Google-Smtp-Source: AGHT+IFSSvtgqCr1W5Qmu++QWMgpnhh0uZqqT8TMGo69LUGVchVwuZvMOhaK+WlkkmXPySQTpnOZDpJ8xUbq X-Received: from oabhl9.prod.google.com ([2002:a05:6870:1b09:b0:2c1:1eb1:aacf]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6870:3329:b0:2c1:ae41:6b5e with SMTP id 586e51a60fabf-2cbcf51995amr8005880fac.16.1743531940347; Tue, 01 Apr 2025 11:25:40 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:30 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-33-irogers@google.com> Subject: [PATCH v1 32/48] perf script: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-script.c | 39 ++++++++++++++++++---------------- tools/perf/util/print_binary.c | 13 ++++++------ 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c index 9b16df881af8..bb997f2ceb62 100644 --- a/tools/perf/builtin-script.c +++ b/tools/perf/builtin-script.c @@ -724,7 +724,7 @@ static int perf_session__check_output_opt(struct perf_s= ession *session) static int perf_sample__fprintf_regs(struct regs_dump *regs, uint64_t mask= , const char *arch, FILE *fp) { - unsigned i =3D 0, r; + size_t i =3D 0, r; int printed =3D 0; =20 if (!regs || !regs->regs) @@ -734,7 +734,7 @@ static int perf_sample__fprintf_regs(struct regs_dump *= regs, uint64_t mask, cons =20 for_each_set_bit(r, (unsigned long *) &mask, sizeof(mask) * 8) { u64 val =3D regs->regs[i++]; - printed +=3D fprintf(fp, "%5s:0x%"PRIx64" ", perf_reg_name(r, arch), val= ); + printed +=3D fprintf(fp, "%5s:0x%"PRIx64" ", perf_reg_name((int)r, arch)= , val); } =20 return printed; @@ -1150,7 +1150,7 @@ static int grab_bb(u8 *buffer, u64 start, u64 end, if (len <=3D 0) pr_debug("\tcannot fetch code for block at %" PRIx64 "-%" PRIx64 "\n", start, end); - ret =3D len; + ret =3D (int)len; out: addr_location__exit(&al); return ret; @@ -1270,7 +1270,8 @@ static int ip__fprintf_jump(uint64_t ip, struct branc= h_entry *en, =20 if (PRINT_FIELD(BRCNTR)) { struct evsel *pos =3D evsel__leader(evsel); - unsigned int i =3D 0, j, num, mask, width; + unsigned int i =3D 0, width; + size_t mask, num; =20 perf_env__find_br_cntr_info(evsel__env(evsel), NULL, &width); mask =3D (1L << width) - 1; @@ -1283,10 +1284,11 @@ static int ip__fprintf_jump(uint64_t ip, struct bra= nch_entry *en, =20 num =3D (br_cntr >> (i++ * width)) & mask; if (!verbose) { - for (j =3D 0; j < num; j++) + for (size_t j =3D 0; j < num; j++) printed +=3D fprintf(fp, "%s", pos->abbr_name); - } else - printed +=3D fprintf(fp, "%s %d ", pos->name, num); + } else { + printed +=3D fprintf(fp, "%s %zu ", pos->name, num); + } } printed +=3D fprintf(fp, "\t"); } @@ -1328,9 +1330,9 @@ static int ip__fprintf_sym(uint64_t addr, struct thre= ad *thread, goto out; =20 if (al.addr < al.sym->end) - off =3D al.addr - al.sym->start; + off =3D (int)(al.addr - al.sym->start); else - off =3D al.addr - map__start(al.map) - al.sym->start; + off =3D (int)(al.addr - map__start(al.map) - al.sym->start); printed +=3D fprintf(fp, "\t%s", al.sym->name); if (off) printed +=3D fprintf(fp, "%+d", off); @@ -1365,7 +1367,7 @@ static int perf_sample__fprintf_brstackinsn(struct pe= rf_sample *sample, =20 if (!(br && br->nr)) return 0; - nr =3D br->nr; + nr =3D (int)br->nr; if (max_blocks && nr > max_blocks + 1) nr =3D max_blocks + 1; =20 @@ -1645,14 +1647,14 @@ static int perf_sample__fprintf_insn(struct perf_sa= mple *sample, static int perf_sample__fprintf_ipc(struct perf_sample *sample, struct evsel *evsel, FILE *fp) { - unsigned int ipc; + u64 ipc; =20 if (!PRINT_FIELD(IPC) || !sample->cyc_cnt || !sample->insn_cnt) return 0; =20 ipc =3D (sample->insn_cnt * 100) / sample->cyc_cnt; =20 - return fprintf(fp, " \t IPC: %u.%02u (%" PRIu64 "/%" PRIu64 ") ", + return fprintf(fp, " \t IPC: %" PRIu64 ".%02" PRIu64 " (%" PRIu64 "/%" PR= Iu64 ") ", ipc / 100, ipc % 100, sample->insn_cnt, sample->cyc_cnt); } =20 @@ -2036,7 +2038,7 @@ static int evlist__max_name_len(struct evlist *evlist) int max =3D 0; =20 evlist__for_each_entry(evlist, evsel) { - int len =3D strlen(evsel__name(evsel)); + int len =3D (int)strlen(evsel__name(evsel)); =20 max =3D MAX(len, max); } @@ -2147,7 +2149,7 @@ static bool show_event(struct perf_sample *sample, struct addr_location *al, struct addr_location *addr_al) { - int depth =3D thread_stack__depth(thread, sample->cpu); + int depth =3D (int)thread_stack__depth(thread, sample->cpu); =20 if (!symbol_conf.graph_function) return true; @@ -2163,13 +2165,14 @@ static bool show_event(struct perf_sample *sample, u64 ip; const char *name =3D resolve_branch_sym(sample, evsel, thread, al, addr_= al, &ip); - unsigned nlen; + size_t nlen; =20 if (!name) return false; nlen =3D strlen(name); while (*s) { - unsigned len =3D strcspn(s, ","); + size_t len =3D strcspn(s, ","); + if (nlen =3D=3D len && !strncmp(name, s, len)) { thread__set_filter(thread, true); thread__set_filter_entry_depth(thread, depth); @@ -2952,7 +2955,7 @@ static int parse_scriptname(const struct option *opt = __maybe_unused, { char spec[PATH_MAX]; const char *script, *ext; - int len; + size_t len; =20 if (strcmp(str, "lang") =3D=3D 0) { list_available_languages(); @@ -4097,7 +4100,7 @@ int cmd_script(int argc, const char **argv) script.tool.ordering_requires_timestamps =3D true; session =3D perf_session__new(&data, &script.tool); if (IS_ERR(session)) - return PTR_ERR(session); + return (int)PTR_ERR(session); =20 if (header || header_only) { script.tool.show_feat_hdr =3D SHOW_FEAT_HEADER; diff --git a/tools/perf/util/print_binary.c b/tools/perf/util/print_binary.c index 13fdc51c61d9..6894fb5e7865 100644 --- a/tools/perf/util/print_binary.c +++ b/tools/perf/util/print_binary.c @@ -7,8 +7,7 @@ int binary__fprintf(unsigned char *data, size_t len, size_t bytes_per_line, binary__fprintf_t printer, void *extra, FILE *fp) { - size_t i, j, mask; - int printed =3D 0; + size_t mask, printed =3D 0; =20 if (!printer) return 0; @@ -17,7 +16,7 @@ int binary__fprintf(unsigned char *data, size_t len, mask =3D bytes_per_line - 1; =20 printed +=3D printer(BINARY_PRINT_DATA_BEGIN, 0, extra, fp); - for (i =3D 0; i < len; i++) { + for (unsigned int i =3D 0; i < len; i++) { if ((i & mask) =3D=3D 0) { printed +=3D printer(BINARY_PRINT_LINE_BEGIN, -1, extra, fp); printed +=3D printer(BINARY_PRINT_ADDR, i, extra, fp); @@ -26,19 +25,19 @@ int binary__fprintf(unsigned char *data, size_t len, printed +=3D printer(BINARY_PRINT_NUM_DATA, data[i], extra, fp); =20 if (((i & mask) =3D=3D mask) || i =3D=3D len - 1) { - for (j =3D 0; j < mask-(i & mask); j++) + for (unsigned int j =3D 0; j < mask-(i & mask); j++) printed +=3D printer(BINARY_PRINT_NUM_PAD, -1, extra, fp); =20 printer(BINARY_PRINT_SEP, i, extra, fp); - for (j =3D i & ~mask; j <=3D i; j++) + for (unsigned int j =3D i & ~mask; j <=3D i; j++) printed +=3D printer(BINARY_PRINT_CHAR_DATA, data[j], extra, fp); - for (j =3D 0; j < mask-(i & mask); j++) + for (unsigned int j =3D 0; j < mask-(i & mask); j++) printed +=3D printer(BINARY_PRINT_CHAR_PAD, i, extra, fp); printed +=3D printer(BINARY_PRINT_LINE_END, -1, extra, fp); } } printed +=3D printer(BINARY_PRINT_DATA_END, -1, extra, fp); - return printed; + return (int)printed; } =20 int is_printable_array(char *p, unsigned int len) --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.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 386E82248B0 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531946; cv=none; b=Jv/pEeqmDChQGTScGWGHYSpvJbxzi8feYx6rdpv5PUFi437YGzyBJ3uG3VDkocRcCOZfzEy6Kv9NamVWRLAL6f74NMtFvWFowo+qjfcwWKQMPkd2IWNA4XqOeYs2h85KeBWW8oJ8sSDV+BdiTZSqsS9HQ9GfhM8AwFYvstfUSXc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531946; c=relaxed/simple; bh=al5Mxt8nXAS1u6U/cGK5MI8j815Cmws4dfAODtLpLL8=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=VsI7GBCs9G8zsS9xqx6PbdTLDjyf+abPtGIIbPa4FfyjdZS/jgvKc3gz+Oh6A2M24OpwgLntG+Ut1m8tvbjvL6k4UEfF+2e/XKufDjUNSYOTJuYyP7reb1CYOqdh1mclK0UbDoWgcFNOJi7Mtf/Abk1f66a7xrepfWDmiDnP8Ss= 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=ZdwFdBgF; arc=none smtp.client-ip=209.85.214.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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="ZdwFdBgF" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-2255ae39f8fso1763515ad.0 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531942; x=1744136742; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=Rm6T1zPzmDTC1F8AVzBi/d+/IoyjicMPmiE+ir3anfM=; b=ZdwFdBgFmWA0jnU1RCroKP8akNX1CkuxpiBGjdDZ4b3I7A3OTh43xwkDnmjgeV8qf+ 9q+FBzCJJpFkHuXT+rr1rx9x8pQrYy31hAoLoj2Jj2cRsZTrQDVZpz/MZYn456+gyfev +HmrspJRZ4vx9IaeyHyNrWb3WV0d/V0aGsb7B8EoO3BtNK8A1kCqp6NwCyVV/2SII6up 5MkMcC9zFtMZTlYTJ2dP9joDfRTrhGwZmlaS4tuAQoWeCZwH9sKt9KP/LooC0ZXWLAnX kev8ziROVDuATKkT7GyCNkCE6MXVZb+j9c/QCoHcjD9hb6rFrqDPVtHuTZf0bTw/nNXx tFSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531942; x=1744136742; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Rm6T1zPzmDTC1F8AVzBi/d+/IoyjicMPmiE+ir3anfM=; b=W1Ae+9nHzN0fHWvQ3Qsybov3yNNNvDmR3drNid4+VsClIye7r4F3RvV2ul86RdNYyb 294ZwFPOF+Ulj6SOJEJbyG2wiQ67bymam9JzF6WTfRx16ZACD6xUE1JuQuoP/OgqjPKm jOKjwRPKABbKMvlFoBqqARIFKn0YCIUJKsUpma1qGDNK4Zn7XUWaCGHmkHxvfbsL1aTG am/vjAl3TV4+24wmhgsQDKgvp7n1VajVXgugfwBeZfexTS9m9O7ZX/X4rxeig0lBilEz HSFuhCDg5+2L4ioFImS09+dfTsGeZSqztSDh4vNMNJlEjIAf93pNiqzV7VuQlHT/Ug6t XWIA== X-Forwarded-Encrypted: i=1; AJvYcCVMWgVKZlHxXP1cTKZvOUNT8i0c+kXTIV/gcirYqvXK1q6yyjlgljGaTWBSZgjUkjkTvKltTyAJ2V9nkhQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxtWVsV3xLq4iaGO0Az0hVhi7UDtLWNYtgdmUCldt6MVJUKxoRg 0sM17AHAW6JQYDKR6mtKwRvzd2zu3yfwv5vaiJZ/mqSTRc9A384QB+lutO9zKD3wou/5wgn7uH6 EsJKMoA== X-Google-Smtp-Source: AGHT+IHKVFE7gUqlBrBiDOADaQ8FyWydoZ9FtAQo/eYfkCA1HXkf5tOSXncxrIuq49BPlqeHQvnDd3W85GCd X-Received: from plps15.prod.google.com ([2002:a17:902:988f:b0:223:fab5:e761]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:903:1cf:b0:21f:6ce8:29df with SMTP id d9443c01a7336-2296828f748mr12279175ad.3.1743531942438; Tue, 01 Apr 2025 11:25:42 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:31 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-34-irogers@google.com> Subject: [PATCH v1 33/48] perf evlist: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-evlist.c | 2 +- tools/perf/util/evlist.c | 29 +++++++++++++++-------------- tools/perf/util/evsel.c | 35 ++++++++++++++--------------------- 3 files changed, 30 insertions(+), 36 deletions(-) diff --git a/tools/perf/builtin-evlist.c b/tools/perf/builtin-evlist.c index a9bd7bbef5a9..d8888c46238a 100644 --- a/tools/perf/builtin-evlist.c +++ b/tools/perf/builtin-evlist.c @@ -44,7 +44,7 @@ static int __cmd_evlist(const char *file_name, struct per= f_attr_details *details tool.feature =3D process_header_feature; session =3D perf_session__new(&data, &tool); if (IS_ERR(session)) - return PTR_ERR(session); + return (int)PTR_ERR(session); =20 if (data.is_pipe) perf_session__process_events(session); diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c index c1a04141aed0..5692ea9f5717 100644 --- a/tools/perf/util/evlist.c +++ b/tools/perf/util/evlist.c @@ -920,7 +920,7 @@ int __evlist__parse_mmap_pages(unsigned int *mmap_pages= , const char *str) return -1; } =20 - *mmap_pages =3D pages; + *mmap_pages =3D (unsigned int)pages; return 0; } =20 @@ -1442,7 +1442,7 @@ int evlist__prepare_workload(struct evlist *evlist, s= truct target *target, const } =20 if (!evlist->workload.pid) { - int ret; + ssize_t ret; =20 if (pipe_output) dup2(2, 1); @@ -1482,7 +1482,7 @@ int evlist__prepare_workload(struct evlist *evlist, s= truct target *target, const if (ret !=3D 1) { if (ret =3D=3D -1) perror("unable to read pipe"); - exit(ret); + exit((int)ret); } =20 execvp(argv[0], (char **)argv); @@ -1543,7 +1543,7 @@ int evlist__start_workload(struct evlist *evlist) { if (evlist->workload.cork_fd >=3D 0) { char bf =3D 0; - int ret; + ssize_t ret; /* * Remove the cork, let it rip! */ @@ -1553,7 +1553,7 @@ int evlist__start_workload(struct evlist *evlist) =20 close(evlist->workload.cork_fd); evlist->workload.cork_fd =3D -1; - return ret; + return (int)ret; } =20 return 0; @@ -1656,7 +1656,8 @@ int evlist__strerror_open(struct evlist *evlist, int = err, char *buf, size_t size int evlist__strerror_mmap(struct evlist *evlist, int err, char *buf, size_= t size) { char sbuf[STRERR_BUFSIZE], *emsg =3D str_error_r(err, sbuf, sizeof(sbuf)); - int pages_attempted =3D evlist->core.mmap_len / 1024, pages_max_per_user,= printed =3D 0; + int pages_attempted =3D (int)evlist->core.mmap_len / 1024; + int pages_max_per_user, printed =3D 0; =20 switch (err) { case EPERM: @@ -1941,7 +1942,7 @@ int evlist__parse_control(const char *str, int *ctl_f= d, int *ctl_fd_ack, bool *c if (strncmp(str, "fd:", 3)) return evlist__parse_control_fifo(str, ctl_fd, ctl_fd_ack, ctl_fd_close); =20 - *ctl_fd =3D strtoul(&str[3], &endptr, 0); + *ctl_fd =3D (int)strtoul(&str[3], &endptr, 0); if (endptr =3D=3D &str[3]) return -EINVAL; =20 @@ -1950,7 +1951,7 @@ int evlist__parse_control(const char *str, int *ctl_f= d, int *ctl_fd_ack, bool *c if (endptr !=3D comma) return -EINVAL; =20 - *ctl_fd_ack =3D strtoul(comma + 1, &endptr, 0); + *ctl_fd_ack =3D (int)strtoul(comma + 1, &endptr, 0); if (endptr =3D=3D comma + 1 || *endptr !=3D '\0') return -EINVAL; } @@ -2016,7 +2017,7 @@ int evlist__finalize_ctlfd(struct evlist *evlist) static int evlist__ctlfd_recv(struct evlist *evlist, enum evlist_ctl_cmd *= cmd, char *cmd_data, size_t data_size) { - int err; + ssize_t err; char c; size_t bytes_read =3D 0; =20 @@ -2070,12 +2071,12 @@ static int evlist__ctlfd_recv(struct evlist *evlist= , enum evlist_ctl_cmd *cmd, } } =20 - return bytes_read ? (int)bytes_read : err; + return bytes_read ? (int)bytes_read : (int)err; } =20 int evlist__ctlfd_ack(struct evlist *evlist) { - int err; + ssize_t err; =20 if (evlist->ctl_fd.ack =3D=3D -1) return 0; @@ -2085,7 +2086,7 @@ int evlist__ctlfd_ack(struct evlist *evlist) if (err =3D=3D -1) pr_err("failed to write to ctl_ack_fd %d: %m\n", evlist->ctl_fd.ack); =20 - return err; + return (int)err; } =20 static int get_cmd_arg(char *cmd_data, size_t cmd_size, char **arg) @@ -2305,7 +2306,7 @@ static int str_to_delay(const char *str) d =3D strtol(str, &endptr, 10); if (*endptr || d > INT_MAX || d < -1) return 0; - return d; + return (int)d; } =20 int evlist__parse_event_enable_time(struct evlist *evlist, struct record_o= pts *opts, @@ -2326,7 +2327,7 @@ int evlist__parse_event_enable_time(struct evlist *ev= list, struct record_opts *o =20 ret =3D parse_event_enable_times(str, NULL); if (ret < 0) - return ret; + return (int)ret; =20 times_cnt =3D ret; if (times_cnt =3D=3D 0) diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c index 1974395492d7..8b0a3cbb16a0 100644 --- a/tools/perf/util/evsel.c +++ b/tools/perf/util/evsel.c @@ -655,12 +655,12 @@ struct tep_event *evsel__tp_format(struct evsel *evse= l) return NULL; =20 if (!evsel->tp_sys) - tp_format =3D trace_event__tp_format_id(evsel->core.attr.config); + tp_format =3D trace_event__tp_format_id((int)evsel->core.attr.config); else tp_format =3D trace_event__tp_format(evsel->tp_sys, evsel->tp_name); =20 if (IS_ERR(tp_format)) { - int err =3D -PTR_ERR(evsel->tp_format); + int err =3D (int)-PTR_ERR(evsel->tp_format); =20 pr_err("Error getting tracepoint format '%s' '%s'(%d)\n", evsel__name(evsel), strerror(err), err); @@ -688,7 +688,7 @@ char *evsel__bpf_counter_events; =20 bool evsel__match_bpf_counter_events(const char *name) { - int name_len; + size_t name_len; bool match; char *ptr; =20 @@ -1154,7 +1154,7 @@ static void evsel__apply_config_terms(struct evsel *e= vsel, evsel__reset_sample_bit(evsel, BRANCH_STACK); break; case EVSEL__CONFIG_TERM_STACK_USER: - dump_size =3D term->val.stack_user; + dump_size =3D (u32)term->val.stack_user; break; case EVSEL__CONFIG_TERM_MAX_STACK: max_stack =3D term->val.max_stack; @@ -1772,7 +1772,7 @@ static u64 evsel__group_read_size(struct evsel *leade= r) u64 read_format =3D leader->core.attr.read_format; int entry =3D sizeof(u64); /* value */ int size =3D 0; - int nr =3D 1; + u64 nr =3D 1; =20 if (!evsel__group_has_tpebs(leader)) return perf_evsel__read_size(&leader->core); @@ -1836,7 +1836,7 @@ static int evsel__read_group(struct evsel *leader, in= t cpu_map_idx, int thread) { struct perf_stat_evsel *ps =3D leader->stats; u64 read_format =3D leader->core.attr.read_format; - int size =3D evsel__group_read_size(leader); + size_t size =3D evsel__group_read_size(leader); u64 *data =3D ps->group_data; =20 if (!(read_format & PERF_FORMAT_ID)) @@ -2178,31 +2178,27 @@ int evsel__prepare_open(struct evsel *evsel, struct= perf_cpu_map *cpus, static bool __has_attr_feature(struct perf_event_attr *attr, struct perf_cpu cpu, unsigned long flags) { - int fd =3D syscall(SYS_perf_event_open, attr, /*pid=3D*/0, cpu.cpu, - /*group_fd=3D*/-1, flags); + int fd =3D sys_perf_event_open(attr, /*pid=3D*/0, cpu.cpu, /*group_fd=3D*= /-1, flags); close(fd); =20 if (fd < 0) { attr->exclude_kernel =3D 1; =20 - fd =3D syscall(SYS_perf_event_open, attr, /*pid=3D*/0, cpu.cpu, - /*group_fd=3D*/-1, flags); + fd =3D sys_perf_event_open(attr, /*pid=3D*/0, cpu.cpu, /*group_fd=3D*/-1= , flags); close(fd); } =20 if (fd < 0) { attr->exclude_hv =3D 1; =20 - fd =3D syscall(SYS_perf_event_open, attr, /*pid=3D*/0, cpu.cpu, - /*group_fd=3D*/-1, flags); + fd =3D sys_perf_event_open(attr, /*pid=3D*/0, cpu.cpu, /*group_fd=3D*/-1= , flags); close(fd); } =20 if (fd < 0) { attr->exclude_guest =3D 1; =20 - fd =3D syscall(SYS_perf_event_open, attr, /*pid=3D*/0, cpu.cpu, - /*group_fd=3D*/-1, flags); + fd =3D sys_perf_event_open(attr, /*pid=3D*/0, cpu.cpu, /*group_fd=3D*/-1= , flags); close(fd); } =20 @@ -3488,7 +3484,7 @@ char evsel__taskstate(struct evsel *evsel, struct per= f_sample *sample, const cha * We can change this if we have a good reason in the future. */ val =3D evsel__intval(evsel, sample, name); - bit =3D val ? ffs(val) : 0; + bit =3D val ? ffs((int)val) : 0; state =3D (!bit || bit > strlen(states)) ? 'R' : states[bit-1]; return state; } @@ -3833,18 +3829,15 @@ struct perf_env *evsel__env(struct evsel *evsel) =20 static int store_evsel_ids(struct evsel *evsel, struct evlist *evlist) { - int cpu_map_idx, thread; - if (evsel__is_retire_lat(evsel)) return 0; =20 - for (cpu_map_idx =3D 0; cpu_map_idx < xyarray__max_x(evsel->core.fd); cpu= _map_idx++) { - for (thread =3D 0; thread < xyarray__max_y(evsel->core.fd); - thread++) { + for (size_t cpu_map_idx =3D 0; cpu_map_idx < xyarray__max_x(evsel->core.f= d); cpu_map_idx++) { + for (size_t thread =3D 0; thread < xyarray__max_y(evsel->core.fd); threa= d++) { int fd =3D FD(evsel, cpu_map_idx, thread); =20 if (perf_evlist__id_add_fd(&evlist->core, &evsel->core, - cpu_map_idx, thread, fd) < 0) + (int)cpu_map_idx, (int)thread, fd) < 0) return -1; } } --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.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 8A801224AF6 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531947; cv=none; b=evdcmYnf2NMo2LAN6mYMoiqeuTmplKL+gLV1z0MwxE2soItUgywdcpi7a2qyyLcF+I6Gtjx3haoYpCEPBh9gnhBxaYI/3inrpepGhshkhevzMy7ExZzmBWD+FtRQkhKnLoiC7O43rioimXGgWiLLFWyQPEFAfHO3gmYml7ezjR0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531947; c=relaxed/simple; bh=Qu3ENIwjPtRUy2H8z/5cBW7sG1RGzLF/ISAym7rxPVQ=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=hp8+a7dleokv6Pd9A6F/EQsy6Es0h+STiQiL1XS4RQUiLtA63fnCON306C0v7t6quZwsBPD2kTlRMXI6ECNd1s0M/qmuAZ6/MtAXoVVgHR3r2l7gELlAPv/G7gdGL+Sa/dDvLPU7knUJIbcUqrmdDTMe7ISu9/oDNTy1eMIHoW4= 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=onOvRPbn; arc=none smtp.client-ip=209.85.214.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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="onOvRPbn" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-22403329f9eso104550925ad.3 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531945; x=1744136745; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=vvFsqXOQnMSY0FwcqTPMe5NcrPZKJkPdo6X7LXEIfzg=; b=onOvRPbnefm7XS3Bg/t+kW0L/KEFZzgttCvOrDb/1AKfj3Z13BPlJwBjlM4FdXFxIG fjMPaz/DM9ALlR5JK7yTc6FFdS/BI4hLEguIgwZJlGnNvK8sCz+x02UpSjXGKU0qtpkR 10Y5+2GVMy9p/+VKGiR3Fw3i1Jvjd+JtKfBjAreEKXq1OyKVTpOiFhRVAqq3qHl0gMxV NwoTCTUi59/gqg6BlSZ4Yviy9QsffYSYNqocmhygcwkvUY3b41e4Fm7ki5Q9EgX+Mm/J 9dhApM/EqyhekHu6q5kQv9ZpEsSoYpH5D6+pFPMzkD19f9KE7XLwwEDAS1WNmD/qjS/K qOXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531945; x=1744136745; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=vvFsqXOQnMSY0FwcqTPMe5NcrPZKJkPdo6X7LXEIfzg=; b=S4GiqPwr9WEsNRply9wHrHHbMeLtVCg5R9NIkS1wM+PCjP+oXJiX6ojXMWhSwTEDY5 p0EbqKvpKJ9AEC5ib1jDptG8eIh7XwwRluRMPYxikz+XayTe40YQVIApr2ipEeWNOlZO ONuBEIt9UqtfVvs22Jq48zdCHvUGnQtdPj3RUSOO3ER/ZP21gMCwbc1C7NzY8W4inG3r 0T0c0b3fedEKCDb+fPYa3UzbxPowdX/gi3CBLinR13mkQVEYVNaTTxfFsrgd8Lx6H+dS +tW1AOGL+wnZIMgAHRU0s7a0fBVcsVkZDL2RWva6pGIAZ1RA4eEAwPvZTAPw76UALupO QXCg== X-Forwarded-Encrypted: i=1; AJvYcCU3ZYF9i7agkFw/AHiqAhfiVhMCfCjv9mStPlnLWqYAkOGzhPmRqGYvCzaiCFoYd46C1NZ6xlZQSj8b29c=@vger.kernel.org X-Gm-Message-State: AOJu0Yw4Veictg3K7WdAIs6hP2RRPOkMxJ6wycAfSYSKKedITotaWiDm e/JqEYuN3sdU2J84ueIlNMlrux5IR9GC1GvXJO9WkRlbjneGN5tW0YiU9238MDUokk876MY9n3U nwGPipQ== X-Google-Smtp-Source: AGHT+IHW/4wmxkq4+EIq5aHOMrmtVB2GZ7+Z/8jfNXSu21JgnRUTXtDc8Kcd6rJ8130lmEAYOc9SAvaid5cP X-Received: from pfgs4.prod.google.com ([2002:a05:6a00:1784:b0:736:451f:b9f4]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:ebc7:b0:224:160d:3f54 with SMTP id d9443c01a7336-2292f97caa0mr233931205ad.31.1743531944799; Tue, 01 Apr 2025 11:25:44 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:32 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-35-irogers@google.com> Subject: [PATCH v1 34/48] perf bpf_counter: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/util/bpf_counter.c | 6 +++--- tools/perf/util/bpf_counter_cgroup.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/perf/util/bpf_counter.c b/tools/perf/util/bpf_counter.c index 73fcafbffc6a..3b1dbf1f5f66 100644 --- a/tools/perf/util/bpf_counter.c +++ b/tools/perf/util/bpf_counter.c @@ -177,7 +177,7 @@ static int bpf_program_profiler__load(struct evsel *evs= el, struct target *target return -1; =20 while ((tok =3D strtok_r(bpf_str, ",", &saveptr)) !=3D NULL) { - prog_id =3D strtoul(tok, &p, 10); + prog_id =3D (unsigned int)strtoul(tok, &p, 10); if (prog_id =3D=3D 0 || prog_id =3D=3D UINT_MAX || (*p !=3D '\0' && *p !=3D ',')) { pr_err("Failed to parse bpf prog ids %s\n", @@ -418,7 +418,7 @@ static int bperf_reload_leader_program(struct evsel *ev= sel, int attr_map_fd, link =3D bpf_program__attach(skel->progs.on_switch); if (IS_ERR(link)) { pr_err("Failed to attach leader program\n"); - err =3D PTR_ERR(link); + err =3D (int)PTR_ERR(link); goto out; } =20 @@ -459,7 +459,7 @@ static int bperf_attach_follower_program(struct bperf_f= ollower_bpf *skel, else { link =3D bpf_program__attach(skel->progs.fexit_XXX); if (IS_ERR(link)) - err =3D PTR_ERR(link); + err =3D (int)PTR_ERR(link); } =20 return err; diff --git a/tools/perf/util/bpf_counter_cgroup.c b/tools/perf/util/bpf_cou= nter_cgroup.c index 6ff42619de12..35d1b950e803 100644 --- a/tools/perf/util/bpf_counter_cgroup.c +++ b/tools/perf/util/bpf_counter_cgroup.c @@ -98,7 +98,7 @@ static int bperf_load_program(struct evlist *evlist) FD(cgrp_switch, i)); if (IS_ERR(link)) { pr_err("Failed to attach cgroup program\n"); - err =3D PTR_ERR(link); + err =3D (int)PTR_ERR(link); goto out; } } --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-ot1-f73.google.com (mail-ot1-f73.google.com [209.85.210.73]) (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 B6BB92253BB for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531949; cv=none; b=McXzhLTwcL6ce5IgsaBPCoijpAmpkY6h7nM/M+VMBwKw0V5tvkUlkbF00ijNrAy36PKSSoIF1gUHoJc9jSx+hjpLxyFDjHDf6+9/PfpVWGb2qWwklQJ8rFzNohNgQdszpiD0Mw4LoE3rJvQGLlgt+BYadcusf8VdT/t20IXoB/o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531949; c=relaxed/simple; bh=MBDOAj0hPKHpQkoNjahydiN73L9NoaCbnaJXUshhGm0=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=DLmBXHgZd8BW/bc70E+NJtza19cECYPEYpYBEQd7/ZfJbLXc9JEpuHA8BoOdpTrE7M3daUjxBZtiYf90La5SDh2ohvNe+sqZm3J3VXpDh2KlPLvMvQP1N5KRGkulJcKqjVeVigXZJ4QESeuCTGVc8uwuv+rCOMd5dqoHytj11EE= 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=VwMQQoLO; arc=none smtp.client-ip=209.85.210.73 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="VwMQQoLO" Received: by mail-ot1-f73.google.com with SMTP id 46e09a7af769-72c7d6a53easo1194544a34.1 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531947; x=1744136747; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=3UTRp4Jp4MSvHARTmLwq2lUMY2ZfT8GOaVYNdpU6sCg=; b=VwMQQoLOCiK34fXTO48lRQp1juvyeRbOL6g3Y3c8gvO4pWgWf23MwRbMXtn8kmSafT dUIsYj97rpePpTKuP6RWRSTjcJ/MQb3kY0ChFrllqq04WzrHe4E54l7+LxZatHfAMgLs JxO1uWSFgv3MvjvNFNPXs9kT4HsS8mZAjpoFGaHjtJRTIjeYB6eCu1pSU92oyu5oZJnW XeJmR8KPruKHoldfVhKz/ZAz2BzSa19TLvQg7MioeG4OKe76p+z8TuTZlrTlIdHlXgkc rkL7s0cEq60gBv+mIvxLptCDQjbgNXxH3tjeELOkSk4LcN/Y2AcFE9B2nzuQhyrCv+gO VfDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531947; x=1744136747; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=3UTRp4Jp4MSvHARTmLwq2lUMY2ZfT8GOaVYNdpU6sCg=; b=UOsQEAKIRb3YG2KAS0C70XBmeTQiVpkorw+Puw6po51iplDBB8BXcJFLXZTMN33mOW bNcDhpFFVbTbCp3ZpHpZpRpcbWD8mm63xCeWjVMVg3kuhKsXrzrkISTfw3814ozeHIsq yhHBbbpNWukjLZ6WH9nLdGQ9ABkAgpo5AKN062mKZ2Fo/O49sgeLvCMiOCHAkAvpk/Fp 7is7g8Rny+bReJMTqRfU6YUYHKHsBb8l/93HLNBO32v3o0NjlT5Bw5hjcnQChJ3DOrhq 3Eexjx29kJUQA3tlr2AT0gsVeqWmzBBZsD5nAtiAZYRWl2SoHrmdyHTu1cgIvOV9qte2 /kuw== X-Forwarded-Encrypted: i=1; AJvYcCW9FsgeblXBbOZNXMpHaJvQZnYp82qSP5BPpG5DIqtif73rTO5ycIAxKQFXHzUYlnCqc89MK+broNnHlPs=@vger.kernel.org X-Gm-Message-State: AOJu0YyQdAVRXKyReqhHHfbztJCMWhIUE043qwITyHQ+Rd3vMGqxUOxI cVQdp5Ffecf6/qXXRKLCgrtuOxJpJdzuotpyFsYRB7NojzoNfI6brcmxYuVeizBK6m0yCVR2QDd kdyXV3w== X-Google-Smtp-Source: AGHT+IEsrz/KaBMv5972/PnVFS75LSjTuIhiZlIKgw8UI1qwxDb1rR4a1EvTReYHhxsnFHQO/ofbC87XKrhm X-Received: from oabfr13.prod.google.com ([2002:a05:6870:f80d:b0:2c2:5d77:108f]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6830:698a:b0:72b:946e:ccc7 with SMTP id 46e09a7af769-72c6366fefdmr8680020a34.0.1743531946761; Tue, 01 Apr 2025 11:25:46 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:33 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-36-irogers@google.com> Subject: [PATCH v1 35/48] perf ftrace: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-ftrace.c | 17 +++++++++++------ tools/perf/util/bpf_ftrace.c | 4 ++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/tools/perf/builtin-ftrace.c b/tools/perf/builtin-ftrace.c index 7caa18d5ffc3..1484d798de40 100644 --- a/tools/perf/builtin-ftrace.c +++ b/tools/perf/builtin-ftrace.c @@ -182,7 +182,8 @@ static int read_tracing_file_to_stdout(const char *name) =20 /* read contents to stdout */ while (true) { - int n =3D read(fd, buf, sizeof(buf)); + ssize_t n =3D read(fd, buf, sizeof(buf)); + if (n =3D=3D 0) break; else if (n < 0) @@ -449,7 +450,7 @@ static int set_tracing_percpu_buffer_size(struct perf_f= trace *ftrace) return 0; =20 ret =3D write_tracing_file_int("buffer_size_kb", - ftrace->percpu_buffer_size / 1024); + (int)(ftrace->percpu_buffer_size / 1024)); if (ret < 0) return ret; =20 @@ -691,7 +692,8 @@ static int __cmd_ftrace(struct perf_ftrace *ftrace) break; =20 if (pollfd.revents & POLLIN) { - int n =3D read(trace_fd, buf, sizeof(buf)); + ssize_t n =3D read(trace_fd, buf, sizeof(buf)); + if (n < 0) break; if (fwrite(buf, n, 1, stdout) !=3D 1) @@ -713,7 +715,8 @@ static int __cmd_ftrace(struct perf_ftrace *ftrace) =20 /* read remaining buffer contents */ while (true) { - int n =3D read(trace_fd, buf, sizeof(buf)); + ssize_t n =3D read(trace_fd, buf, sizeof(buf)); + if (n <=3D 0) break; if (fwrite(buf, n, 1, stdout) !=3D 1) @@ -1031,7 +1034,8 @@ static int __cmd_latency(struct perf_ftrace *ftrace) break; =20 if (pollfd.revents & POLLIN) { - int n =3D read(trace_fd, buf, sizeof(buf) - 1); + ssize_t n =3D read(trace_fd, buf, sizeof(buf) - 1); + if (n < 0) break; =20 @@ -1049,7 +1053,8 @@ static int __cmd_latency(struct perf_ftrace *ftrace) =20 /* read remaining buffer contents */ while (!ftrace->target.use_bpf) { - int n =3D read(trace_fd, buf, sizeof(buf) - 1); + ssize_t n =3D read(trace_fd, buf, sizeof(buf) - 1); + if (n <=3D 0) break; make_histogram(ftrace, buckets, buf, n, line); diff --git a/tools/perf/util/bpf_ftrace.c b/tools/perf/util/bpf_ftrace.c index 7324668cc83e..c4b3bb4e5922 100644 --- a/tools/perf/util/bpf_ftrace.c +++ b/tools/perf/util/bpf_ftrace.c @@ -97,7 +97,7 @@ int perf_ftrace__latency_prepare_bpf(struct perf_ftrace *= ftrace) false, func->name); if (IS_ERR(skel->links.func_begin)) { pr_err("Failed to attach fentry program\n"); - err =3D PTR_ERR(skel->links.func_begin); + err =3D (int)PTR_ERR(skel->links.func_begin); goto out; } =20 @@ -105,7 +105,7 @@ int perf_ftrace__latency_prepare_bpf(struct perf_ftrace= *ftrace) true, func->name); if (IS_ERR(skel->links.func_end)) { pr_err("Failed to attach fexit program\n"); - err =3D PTR_ERR(skel->links.func_end); + err =3D (int)PTR_ERR(skel->links.func_end); goto out; } =20 --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.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 EFD34225416 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531952; cv=none; b=P9uHBToi3mO8EM/B2Woadey5JsD3ltdQUKr87qYQkmkMifGeVYnuMu1rTPz42TkFMyTKiCCoOZxJY5CNv9pvrIqdo4tHSSIr5TuybHFZUslO1LSRKX24PEyxRxvDUMR62dxdu3UgpGEaXFhb+V4cO04aogE6ChS/O5rgYZkTvmg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531952; c=relaxed/simple; bh=GsrS8qeXzKP0b1swozMr7frMzZ7NnLPbjichf6bGlrk=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=qh8gIOo88KRvLtlwuP6SPnV+b9BF/f+KgNxZJ754XYKr4K+qsDClMm6eFPMC8of+9oeGS8t5rb+MGbLuy6yJU79N0vrmQGdkCnzDAaybEZQzYFF/y/BuXmchyWU5idZ4x8EZpepuoTIslKH5xQWfbTcALGbsNlYiyESfKXeVGj8= 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=eaB/Rxma; arc=none smtp.client-ip=209.85.214.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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="eaB/Rxma" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-2254e500a73so78570625ad.0 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531949; x=1744136749; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=vDLj0IQP1yVrki1oH90jQ2DyuMuIrwQsIyowp6t+/y4=; b=eaB/RxmagxqkxnhxUBQTkgXMNOdh7bKC4wtSZhAD/jxSy48KOYMux1gbnPjzIlEEBT 5MNjfXKE2v/GL66QzVHeyB8a0SdJ8r+xMHXGT0XkbtCBhEe+xr6lSGNlOCSOClJWujpC 1QJ1wifpG/8Ko9Kkom4+F6c1fWvs3KGYIz9f75SLJt+2dXlk9dovdKAVD+JtogWkP9t8 wE4ElA4IOrziseEz0kjX3ylpxYpuPk5fp/TQwnUSB9s4yaU/NZhTXCAo0Ry+4ygfxpey uvore3CIkfzc9D+IGRQPHYLKWdvWmNPEFKPqagiI6D4B03N36o3505+iz5Lw37LLzgkg gI6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531949; x=1744136749; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=vDLj0IQP1yVrki1oH90jQ2DyuMuIrwQsIyowp6t+/y4=; b=VhYkAfCun31c4KQ/LJN4QM4dv9xuhIeKBcXS4Vz/T54UYdFM9+AxvyYy3qDS4Xhfgi tJY+w+ZglZSTDT7NJq89niBWSl409YkNItXvgUabJX4JtiyocuF8E4MX3r9HW1UZ73oc MPltLir3awV20Ey2Fkwp/33U8rYMGQxYMpe1m8PYtqbDZI4QnDwPWO7ER4bS/a0hiRR7 fnimwqYlNLFG0h7tCb2a5lqAmDldXXL2Za2Mj79p7LR3yBHzqHw2BfVQYwy8eda2v2jO GIIsfyEKOmsNxLKIVBlmwaeU7tD3kPiC9oBRXxPsWwCTt/3JpMGRXZMBCV/wKxE2rjah HK/w== X-Forwarded-Encrypted: i=1; AJvYcCUtdmoaSXGOvrB24+SmRaVMlFG5xfgCxaMONCgpNDzI4tqaHLHBxOQAWxxrDEm6m+Sm1UkS6lfJ/R5cPl0=@vger.kernel.org X-Gm-Message-State: AOJu0Yy3XFxONk2T3raTxc+eYEMFI50663znXc+3p9yRjNO/SOXkSBMP 4sy6ga7aXKU7Cu6II60N58Y2Gkwtm8ZsAxiwGSMYbibpkp3alTyCwJJ4Pvs+HTDw/R66eazICh1 yYYvLYQ== X-Google-Smtp-Source: AGHT+IEZJuX4TsFr7l6BizC2eFmbDLvOe6bGybp18hF5q6m28rSw2y+Y5UI0Uvd4tqhCEc8kI2jIBn3sitnR X-Received: from plrf10.prod.google.com ([2002:a17:902:ab8a:b0:21f:56e1:c515]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:ef44:b0:223:66bb:8995 with SMTP id d9443c01a7336-2295be94340mr55875045ad.20.1743531949041; Tue, 01 Apr 2025 11:25:49 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:34 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-37-irogers@google.com> Subject: [PATCH v1 36/48] perf record: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-record.c | 66 ++++++++++++++++++----------------- tools/perf/builtin-top.c | 4 +-- tools/perf/util/auxtrace.c | 8 ++--- tools/perf/util/bpf-filter.c | 20 +++++------ tools/perf/util/bpf_off_cpu.c | 4 +-- tools/perf/util/mmap.c | 6 ++-- 6 files changed, 55 insertions(+), 53 deletions(-) diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c index ba20bf7c011d..e524b9cae531 100644 --- a/tools/perf/builtin-record.c +++ b/tools/perf/builtin-record.c @@ -443,7 +443,7 @@ static int record__aio_pushfn(struct mmap *map, void *t= o, void *buf, size_t size =20 aio->size +=3D size; =20 - return size; + return (int)size; } =20 static int record__aio_push(struct record *rec, struct mmap *map, off_t *o= ff) @@ -523,7 +523,7 @@ static int record__aio_parse(const struct option *opt, opts->nr_cblocks =3D 0; } else { if (str) - opts->nr_cblocks =3D strtol(str, NULL, 0); + opts->nr_cblocks =3D (int)strtol(str, NULL, 0); if (!opts->nr_cblocks) opts->nr_cblocks =3D nr_cblocks_default; } @@ -577,15 +577,15 @@ static int record__mmap_flush_parse(const struct opti= on *opt, return 0; =20 if (str) { - opts->mmap_flush =3D parse_tag_value(str, tags); + opts->mmap_flush =3D (int)parse_tag_value(str, tags); if (opts->mmap_flush =3D=3D (int)-1) - opts->mmap_flush =3D strtol(str, NULL, 0); + opts->mmap_flush =3D (int)strtol(str, NULL, 0); } =20 if (!opts->mmap_flush) opts->mmap_flush =3D MMAP_FLUSH_DEFAULT; =20 - flush_max =3D evlist__mmap_size(opts->mmap_pages); + flush_max =3D (int)evlist__mmap_size(opts->mmap_pages); flush_max /=3D 4; if (opts->mmap_flush > flush_max) opts->mmap_flush =3D flush_max; @@ -604,7 +604,7 @@ static int record__parse_comp_level(const struct option= *opt, const char *str, i opts->comp_level =3D 0; } else { if (str) - opts->comp_level =3D strtol(str, NULL, 0); + opts->comp_level =3D (unsigned int)strtol(str, NULL, 0); if (!opts->comp_level) opts->comp_level =3D comp_level_default; } @@ -1080,11 +1080,12 @@ static int record__thread_data_init_maps(struct rec= ord_thread *thread_data, stru struct perf_cpu_map *cpus =3D evlist->core.all_cpus; bool per_thread =3D evlist__per_thread(evlist); =20 - if (per_thread) + if (per_thread) { thread_data->nr_mmaps =3D nr_mmaps; - else - thread_data->nr_mmaps =3D bitmap_weight(thread_data->mask->maps.bits, - thread_data->mask->maps.nbits); + } else { + thread_data->nr_mmaps =3D (int)bitmap_weight(thread_data->mask->maps.bit= s, + (unsigned int)thread_data->mask->maps.nbits); + } if (mmap) { thread_data->maps =3D zalloc(thread_data->nr_mmaps * sizeof(struct mmap = *)); if (!thread_data->maps) @@ -1519,10 +1520,11 @@ static void record__adjust_affinity(struct record *= rec, struct mmap *map) { if (rec->opts.affinity !=3D PERF_AFFINITY_SYS && !bitmap_equal(thread->mask->affinity.bits, map->affinity_mask.bits, - thread->mask->affinity.nbits)) { - bitmap_zero(thread->mask->affinity.bits, thread->mask->affinity.nbits); + (unsigned int)thread->mask->affinity.nbits)) { + bitmap_zero(thread->mask->affinity.bits, + (unsigned int)thread->mask->affinity.nbits); bitmap_or(thread->mask->affinity.bits, thread->mask->affinity.bits, - map->affinity_mask.bits, thread->mask->affinity.nbits); + map->affinity_mask.bits, (unsigned int)thread->mask->affinity.nbits); sched_setaffinity(0, MMAP_CPU_MASK_BYTES(&thread->mask->affinity), (cpu_set_t *)thread->mask->affinity.bits); if (verbose =3D=3D 2) { @@ -1688,7 +1690,7 @@ static void *record__thread(void *arg) thread =3D arg; thread->tid =3D gettid(); =20 - err =3D write(thread->pipes.ack[1], &msg, sizeof(msg)); + err =3D (int)write(thread->pipes.ack[1], &msg, sizeof(msg)); if (err =3D=3D -1) pr_warning("threads[%d]: failed to notify on start: %s\n", thread->tid, strerror(errno)); @@ -1732,7 +1734,7 @@ static void *record__thread(void *arg) } record__mmap_read_all(thread->rec, true); =20 - err =3D write(thread->pipes.ack[1], &msg, sizeof(msg)); + err =3D (int)write(thread->pipes.ack[1], &msg, sizeof(msg)); if (err =3D=3D -1) pr_warning("threads[%d]: failed to notify on termination: %s\n", thread->tid, strerror(errno)); @@ -1958,8 +1960,8 @@ static void record__read_lost_samples(struct record *= rec) continue; } =20 - for (int x =3D 0; x < xyarray__max_x(xy); x++) { - for (int y =3D 0; y < xyarray__max_y(xy); y++) { + for (int x =3D 0; x < (int)xyarray__max_x(xy); x++) { + for (int y =3D 0; y < (int)xyarray__max_y(xy); y++) { struct perf_counts_values count; =20 if (perf_evsel__read(&evsel->core, x, y, &count) < 0) { @@ -2246,7 +2248,7 @@ static int record__terminate_thread(struct record_thr= ead *thread_data) =20 close(thread_data->pipes.msg[1]); thread_data->pipes.msg[1] =3D -1; - err =3D read(thread_data->pipes.ack[0], &ack, sizeof(ack)); + err =3D (int)read(thread_data->pipes.ack[0], &ack, sizeof(ack)); if (err > 0) pr_debug2("threads[%d]: sent %s\n", tid, thread_msg_tags[ack]); else @@ -2294,7 +2296,7 @@ static int record__start_threads(struct record *rec) goto out_err; } =20 - err =3D read(thread_data[t].pipes.ack[0], &msg, sizeof(msg)); + err =3D (int)read(thread_data[t].pipes.ack[0], &msg, sizeof(msg)); if (err > 0) pr_debug2("threads[%d]: sent %s\n", rec->thread_data[t].tid, thread_msg_tags[msg]); @@ -2409,7 +2411,7 @@ static int __cmd_record(struct record *rec, int argc,= const char **argv) session =3D perf_session__new(data, tool); if (IS_ERR(session)) { pr_err("Perf session creation failed.\n"); - return PTR_ERR(session); + return (int)PTR_ERR(session); } =20 if (record__threads_enabled(rec)) { @@ -2495,7 +2497,7 @@ static int __cmd_record(struct record *rec, int argc,= const char **argv) } /* Debug message used by test scripts */ pr_debug3("perf record done opening and mmapping events\n"); - session->header.env.comp_mmap_len =3D session->evlist->core.mmap_len; + session->header.env.comp_mmap_len =3D (u32)session->evlist->core.mmap_len; =20 if (rec->opts.kcore) { err =3D record__kcore_copy(&session->machines.host, data); @@ -2713,7 +2715,7 @@ static int __cmd_record(struct record *rec, int argc,= const char **argv) =20 /* re-arm the alarm */ if (rec->switch_output.time) - alarm(rec->switch_output.time); + alarm((unsigned int)rec->switch_output.time); } =20 if (hits =3D=3D thread->samples) { @@ -2976,7 +2978,7 @@ static int perf_record_config(const char *var, const = char *value, void *cb) } #ifdef HAVE_AIO_SUPPORT if (!strcmp(var, "record.aio")) { - rec->opts.nr_cblocks =3D strtol(value, NULL, 0); + rec->opts.nr_cblocks =3D (int)strtol(value, NULL, 0); if (!rec->opts.nr_cblocks) rec->opts.nr_cblocks =3D nr_cblocks_default; } @@ -3016,7 +3018,7 @@ static int record__parse_affinity(const struct option= *opt, const char *str, int static int record__mmap_cpu_mask_alloc(struct mmap_cpu_mask *mask, int nr_= bits) { mask->nbits =3D nr_bits; - mask->bits =3D bitmap_zalloc(mask->nbits); + mask->bits =3D bitmap_zalloc((int)mask->nbits); if (!mask->bits) return -ENOMEM; =20 @@ -3604,7 +3606,7 @@ static int record__mmap_cpu_mask_init_spec(struct mma= p_cpu_mask *mask, const cha if (!cpus) return -ENOMEM; =20 - bitmap_zero(mask->bits, mask->nbits); + bitmap_zero(mask->bits, (unsigned int)mask->nbits); if (record__mmap_cpu_mask_init(mask, cpus)) return -ENODEV; =20 @@ -3722,13 +3724,13 @@ static int record__init_thread_masks_spec(struct re= cord *rec, struct perf_cpu_ma =20 /* ignore invalid CPUs but do not allow empty masks */ if (!bitmap_and(thread_mask.maps.bits, thread_mask.maps.bits, - cpus_mask.bits, thread_mask.maps.nbits)) { + cpus_mask.bits, (unsigned int)thread_mask.maps.nbits)) { pr_err("Empty maps mask: %s\n", maps_spec[s]); ret =3D -EINVAL; goto out_free; } if (!bitmap_and(thread_mask.affinity.bits, thread_mask.affinity.bits, - cpus_mask.bits, thread_mask.affinity.nbits)) { + cpus_mask.bits, (unsigned int)thread_mask.affinity.nbits)) { pr_err("Empty affinity mask: %s\n", affinity_spec[s]); ret =3D -EINVAL; goto out_free; @@ -3736,22 +3738,22 @@ static int record__init_thread_masks_spec(struct re= cord *rec, struct perf_cpu_ma =20 /* do not allow intersection with other masks (full_mask) */ if (bitmap_intersects(thread_mask.maps.bits, full_mask.maps.bits, - thread_mask.maps.nbits)) { + (unsigned int)thread_mask.maps.nbits)) { pr_err("Intersecting maps mask: %s\n", maps_spec[s]); ret =3D -EINVAL; goto out_free; } if (bitmap_intersects(thread_mask.affinity.bits, full_mask.affinity.bits, - thread_mask.affinity.nbits)) { + (unsigned int)thread_mask.affinity.nbits)) { pr_err("Intersecting affinity mask: %s\n", affinity_spec[s]); ret =3D -EINVAL; goto out_free; } =20 bitmap_or(full_mask.maps.bits, full_mask.maps.bits, - thread_mask.maps.bits, full_mask.maps.nbits); + thread_mask.maps.bits, (unsigned int)full_mask.maps.nbits); bitmap_or(full_mask.affinity.bits, full_mask.affinity.bits, - thread_mask.affinity.bits, full_mask.maps.nbits); + thread_mask.affinity.bits, (unsigned int)full_mask.maps.nbits); =20 thread_masks =3D realloc(rec->thread_masks, (t + 1) * sizeof(struct thre= ad_mask)); if (!thread_masks) { @@ -4101,7 +4103,7 @@ int cmd_record(int argc, const char **argv) =20 if (rec->switch_output.time) { signal(SIGALRM, alarm_sig_handler); - alarm(rec->switch_output.time); + alarm((unsigned int)rec->switch_output.time); } =20 if (rec->switch_output.num_files) { diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c index 1061f4eebc3f..b5924724fc74 100644 --- a/tools/perf/builtin-top.c +++ b/tools/perf/builtin-top.c @@ -375,7 +375,7 @@ static void prompt_integer(int *target, const char *msg) goto out_free; p++; } - tmp =3D strtoul(buf, NULL, 10); + tmp =3D (int)strtoul(buf, NULL, 10); *target =3D tmp; out_free: free(buf); @@ -1817,7 +1817,7 @@ int cmd_top(int argc, const char **argv) =20 top.session =3D perf_session__new(NULL, NULL); if (IS_ERR(top.session)) { - status =3D PTR_ERR(top.session); + status =3D (int)PTR_ERR(top.session); top.session =3D NULL; goto out_delete_evlist; } diff --git a/tools/perf/util/auxtrace.c b/tools/perf/util/auxtrace.c index 03211c2623de..0caacd38b538 100644 --- a/tools/perf/util/auxtrace.c +++ b/tools/perf/util/auxtrace.c @@ -780,7 +780,7 @@ int auxtrace_parse_sample_options(struct auxtrace_recor= d *itr, if (evsel__is_group_leader(evsel)) { has_aux_leader =3D evsel__is_aux_event(evsel); } else if (has_aux_leader) { - evsel->core.attr.aux_sample_size =3D sz; + evsel->core.attr.aux_sample_size =3D (__u32)sz; } } no_opt: @@ -1647,7 +1647,7 @@ int itrace_do_parse_synth_opts(struct itrace_synth_op= ts *synth_opts, if (isdigit(*p)) { unsigned int val; =20 - val =3D strtoul(p, &endptr, 10); + val =3D (unsigned int)strtoul(p, &endptr, 10); p =3D endptr; if (!val || val > PERF_ITRACE_MAX_CALLCHAIN_SZ) goto out_err; @@ -1667,7 +1667,7 @@ int itrace_do_parse_synth_opts(struct itrace_synth_op= ts *synth_opts, if (isdigit(*p)) { unsigned int val; =20 - val =3D strtoul(p, &endptr, 10); + val =3D (unsigned int)strtoul(p, &endptr, 10); p =3D endptr; if (!val || val > PERF_ITRACE_MAX_LAST_BRANCH_SZ) @@ -2300,7 +2300,7 @@ static int parse_sym_idx(char **inp, int *idx) if (endptr =3D=3D *inp || num > INT_MAX) return -EINVAL; *inp =3D endptr; - *idx =3D num; + *idx =3D (int)num; } =20 return 0; diff --git a/tools/perf/util/bpf-filter.c b/tools/perf/util/bpf-filter.c index a4fdf6911ec1..7ad4d5e8fa49 100644 --- a/tools/perf/util/bpf-filter.c +++ b/tools/perf/util/bpf-filter.c @@ -217,7 +217,7 @@ static int convert_to_tgid(int tid) return -1; } =20 - tgid =3D strtol(p + 6, &q, 0); + tgid =3D (int)strtol(p + 6, &q, 0); free(buf); if (*q !=3D '\n') return -1; @@ -284,7 +284,7 @@ static void destroy_event_hash(u64 event_id) */ static u64 create_event_hash(struct evsel *evsel) { - int x, y, fd; + int fd; u64 the_id =3D 0, id; =20 fd =3D get_pinned_fd("event_hash"); @@ -293,8 +293,8 @@ static u64 create_event_hash(struct evsel *evsel) return 0; } =20 - for (x =3D 0; x < xyarray__max_x(evsel->core.fd); x++) { - for (y =3D 0; y < xyarray__max_y(evsel->core.fd); y++) { + for (size_t x =3D 0; x < xyarray__max_x(evsel->core.fd); x++) { + for (size_t y =3D 0; y < xyarray__max_y(evsel->core.fd); y++) { int ret =3D ioctl(FD(evsel, x, y), PERF_EVENT_IOC_ID, &id); =20 if (ret < 0) { @@ -444,7 +444,7 @@ static int create_idx_hash(struct evsel *evsel, struct = perf_bpf_filter_entry *en =20 int perf_bpf_filter__prepare(struct evsel *evsel, struct target *target) { - int i, x, y, fd, ret; + int i, fd, ret; struct sample_filter_bpf *skel =3D NULL; struct bpf_program *prog; struct bpf_link *link; @@ -485,8 +485,8 @@ int perf_bpf_filter__prepare(struct evsel *evsel, struc= t target *target) goto err; } =20 - for (x =3D 0; x < xyarray__max_x(evsel->core.fd); x++) { - for (y =3D 0; y < xyarray__max_y(evsel->core.fd); y++) { + for (size_t x =3D 0; x < xyarray__max_x(evsel->core.fd); x++) { + for (size_t y =3D 0; y < xyarray__max_y(evsel->core.fd); y++) { ret =3D ioctl(FD(evsel, x, y), PERF_EVENT_IOC_SET_BPF, fd); if (ret < 0) { pr_err("Failed to attach perf sample-filter\n"); @@ -519,12 +519,12 @@ int perf_bpf_filter__prepare(struct evsel *evsel, str= uct target *target) } =20 prog =3D skel->progs.perf_sample_filter; - for (x =3D 0; x < xyarray__max_x(evsel->core.fd); x++) { - for (y =3D 0; y < xyarray__max_y(evsel->core.fd); y++) { + for (size_t x =3D 0; x < xyarray__max_x(evsel->core.fd); x++) { + for (size_t y =3D 0; y < xyarray__max_y(evsel->core.fd); y++) { link =3D bpf_program__attach_perf_event(prog, FD(evsel, x, y)); if (IS_ERR(link)) { pr_err("Failed to attach perf sample-filter program\n"); - ret =3D PTR_ERR(link); + ret =3D (int)PTR_ERR(link); goto err; } } diff --git a/tools/perf/util/bpf_off_cpu.c b/tools/perf/util/bpf_off_cpu.c index 4269b41d1771..3f0a65fb987d 100644 --- a/tools/perf/util/bpf_off_cpu.c +++ b/tools/perf/util/bpf_off_cpu.c @@ -164,7 +164,7 @@ int off_cpu_prepare(struct evlist *evlist, struct targe= t *target, ntasks =3D 0; strlist__for_each_entry(pos, pid_slist) { char *end_ptr; - int pid =3D strtol(pos->s, &end_ptr, 10); + int pid =3D (int)strtol(pos->s, &end_ptr, 10); =20 if (pid =3D=3D INT_MIN || pid =3D=3D INT_MAX || (*end_ptr !=3D '\0' && *end_ptr !=3D ',')) @@ -234,7 +234,7 @@ int off_cpu_prepare(struct evlist *evlist, struct targe= t *target, strlist__for_each_entry(pos, pid_slist) { char *end_ptr; u32 tgid; - int pid =3D strtol(pos->s, &end_ptr, 10); + int pid =3D (int)strtol(pos->s, &end_ptr, 10); =20 if (pid =3D=3D INT_MIN || pid =3D=3D INT_MAX || (*end_ptr !=3D '\0' && *end_ptr !=3D ',')) diff --git a/tools/perf/util/mmap.c b/tools/perf/util/mmap.c index a34726219af3..b8e8865aeb22 100644 --- a/tools/perf/util/mmap.c +++ b/tools/perf/util/mmap.c @@ -31,7 +31,7 @@ void mmap_cpu_mask__scnprintf(struct mmap_cpu_mask *mask,= const char *tag) char buf[MASK_SIZE + 1]; size_t len; =20 - len =3D bitmap_scnprintf(mask->bits, mask->nbits, buf, MASK_SIZE); + len =3D bitmap_scnprintf(mask->bits, (unsigned int)mask->nbits, buf, MASK= _SIZE); buf[len] =3D '\0'; pr_debug("%p: %s mask[%zd]: %s\n", mask, tag, mask->nbits, buf); } @@ -165,7 +165,7 @@ static int perf_mmap__aio_mmap(struct mmap *map, struct= mmap_params *mp) pr_debug2("failed to allocate data buffer, error %m\n"); return -1; } - delta_max =3D sysconf(_SC_AIO_PRIO_DELTA_MAX); + delta_max =3D (int)sysconf(_SC_AIO_PRIO_DELTA_MAX); for (i =3D 0; i < map->aio.nr_cblocks; ++i) { ret =3D perf_mmap__aio_alloc(map, i); if (ret =3D=3D -1) { @@ -261,7 +261,7 @@ static void build_node_mask(int node, struct mmap_cpu_m= ask *mask) static int perf_mmap__setup_affinity_mask(struct mmap *map, struct mmap_pa= rams *mp) { map->affinity_mask.nbits =3D cpu__max_cpu().cpu; - map->affinity_mask.bits =3D bitmap_zalloc(map->affinity_mask.nbits); + map->affinity_mask.bits =3D bitmap_zalloc((int)map->affinity_mask.nbits); if (!map->affinity_mask.bits) return -1; =20 --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) (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 211D422578A for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531953; cv=none; b=LcIDxQ4inzWdvb8+TqY0XCFKNLWgvdWv08cwTUA9rhJ9ABq6keAO/A5guCc8J8tsslE8h7o1C4V1NlKgrNW4o+BxOMXgrZ2IqomWbnFsMYehNNb3woXWdJ3XrpMm1vWyAUzyxvkSuQ849O5DO8XqwY2h/wGSAvIFIv4vP7kCJVo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531953; c=relaxed/simple; bh=jNRHk+HoP4LC7aVMHfDNdLRSleTyuQPlCBkTlkM17/o=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=bKAkeBy3C46TR8MToK/sowwwcclRlDfCJAbaj3cDjIf09ua/GOFjQ8BQRdAWU2ktH7pqEIKDghxgqWGHu+tWDdueD6VDMY3q6r40FKBNmlG+2UYcePZVvJJLIsEMN83YfQNPeMXdwu0sSlYRf49pifqJaiqBin1T6XoMWYtzvxc= 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=OZAL0I5V; arc=none smtp.client-ip=209.85.214.201 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="OZAL0I5V" Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-22412127fd7so82058465ad.0 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531951; x=1744136751; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=KR8kCL7xwq040/uGoJTgKcPRCll2n3dLmKu7Yyfytk4=; b=OZAL0I5Vh5pH7sRW+IHFGAHSxo+YguZKtm+OtFOqIGyCsZmBTloOPvvWazpRjfpzKk gyTElXirTYGmhSMZpnYwgKy6iH4n+VRuNsc1eZDBgvsnkgHOUaq9vuajqIPX/Rca8YPS RBSQ5A1QgSntWGKtC+WB6eb9yiWy5TINSf32yhA0Q2uL2PSQ9ziVDPlovluTqexY0FU4 zPQRpa9D9dKSTctwbFWQeapVrJIl8aKf9VBH+3+rTTbNQ+KCBAkQz/7KUsmuMUctucNA KZCaCBy50d0p6B6RSNGDS/zkQ2kS7eNAmcmetI+bymx5yur8+MzTlwozu16Q5NxYp8I0 p1Uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531951; x=1744136751; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=KR8kCL7xwq040/uGoJTgKcPRCll2n3dLmKu7Yyfytk4=; b=PKF0Qc6661wP/50isfakiWNkTVg7z/D7NgOY/1BpOrzm64R+pYpCto6sBanpYESSWy Re+q4F10pvQ53A3cGfIm6sVOBiNr2ETMWGy3SvdZxOv3o1ssY4Mv7MAOaOx+lps2j5PB 8EzJOZ1gPv7cul5HNQtD1Alir4y0WX8P8PA/CXtN5Mx7j2f3GVdEzIR6vDu47buxexzT V16Qf/VK+jd42wNX2YyQ4k6cZQp7/eLDxmZwFM7k4g96GK6IGHHks0ZBVb/S2J/IPQqt vMYiyLeOQRzUps1SJCb5mnDItaHr0MWwJXcMNN7iVrY8yNLU7AdFfDLiByxire0bZ1s1 oPNw== X-Forwarded-Encrypted: i=1; AJvYcCWwOLZgSRaAjOgZkx3luXIvZFCmo86Mcd2v1xCYw7st2UwZHW14xaT/RU4B/2RT0h0hcy2gBQdoQQHGk4I=@vger.kernel.org X-Gm-Message-State: AOJu0YyzGImZCDtBE05kohenlYPy/vF4dmr2G1jR9eFDNoOQ2/9A+Uy+ yhLd4/T6HUfRBQyn/HYn69E9cDWL6Aiz0YVSpz4bCTkrF23aP4jeMxLO7wDqCVnehZeyXnCIpoo KXWcXzA== X-Google-Smtp-Source: AGHT+IEPqgz+rFeXBdNtdF9MopmgtL+fIX9Z60fCNyZbM/1JhnyjvKKLZ8SDjN8bE87gqdGCj1ypt69T/4tz X-Received: from pfblb4.prod.google.com ([2002:a05:6a00:4f04:b0:730:96d1:c213]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:f54a:b0:223:432b:593d with SMTP id d9443c01a7336-2292f9f3b90mr199136565ad.42.1743531951082; Tue, 01 Apr 2025 11:25:51 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:35 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-38-irogers@google.com> Subject: [PATCH v1 37/48] perf inject: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-inject.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c index 11e49cafa3af..09a99cec8f78 100644 --- a/tools/perf/builtin-inject.c +++ b/tools/perf/builtin-inject.c @@ -390,7 +390,7 @@ static int perf_event__repipe_sample(const struct perf_= tool *tool, if (inject->itrace_synth_opts.set && sample->aux_sample.size) { event =3D perf_inject__cut_auxtrace_sample(inject, event, sample); if (IS_ERR(event)) - return PTR_ERR(event); + return (int)PTR_ERR(event); } =20 return perf_event__repipe_synth(tool, event); @@ -697,13 +697,13 @@ static struct strlist *perf_inject__parse_known_build= _ids( { struct str_node *pos, *tmp; struct strlist *known_build_ids; - int bid_len; =20 known_build_ids =3D strlist__new(known_build_ids_string, NULL); if (known_build_ids =3D=3D NULL) return NULL; strlist__for_each_entry_safe(pos, tmp, known_build_ids) { const char *build_id, *dso_name; + size_t bid_len; =20 build_id =3D skip_spaces(pos->s); dso_name =3D strchr(build_id, ' '); @@ -717,7 +717,7 @@ static struct strlist *perf_inject__parse_known_build_i= ds( strlist__remove(known_build_ids, pos); continue; } - for (int ix =3D 0; 2 * ix + 1 < bid_len; ++ix) { + for (size_t ix =3D 0; 2 * ix + 1 < bid_len; ++ix) { if (!isxdigit(build_id[2 * ix]) || !isxdigit(build_id[2 * ix + 1])) { strlist__remove(known_build_ids, pos); @@ -732,10 +732,10 @@ static bool perf_inject__lookup_known_build_id(struct= perf_inject *inject, struct dso *dso) { struct str_node *pos; - int bid_len; =20 strlist__for_each_entry(pos, inject->known_build_ids) { const char *build_id, *dso_name; + size_t bid_len; =20 build_id =3D skip_spaces(pos->s); dso_name =3D strchr(build_id, ' '); @@ -743,7 +743,7 @@ static bool perf_inject__lookup_known_build_id(struct p= erf_inject *inject, dso_name =3D skip_spaces(dso_name); if (strcmp(dso__long_name(dso), dso_name)) continue; - for (int ix =3D 0; 2 * ix + 1 < bid_len; ++ix) { + for (size_t ix =3D 0; 2 * ix + 1 < bid_len; ++ix) { dso__bid(dso)->data[ix] =3D (hex(build_id[2 * ix]) << 4 | hex(build_id[2 * ix + 1])); } @@ -1006,7 +1006,7 @@ static int perf_inject__sched_stat(const struct perf_= tool *tool, union perf_event *event_sw; struct perf_sample sample_sw; struct perf_inject *inject =3D container_of(tool, struct perf_inject, too= l); - u32 pid =3D evsel__intval(evsel, sample, "pid"); + u32 pid =3D (u32)evsel__intval(evsel, sample, "pid"); =20 list_for_each_entry(ent, &inject->samples, node) { if (pid =3D=3D ent->tid) @@ -1038,7 +1038,7 @@ static int guest_session__output_bytes(struct guest_s= ession *gs, void *buf, size { ssize_t ret =3D writen(gs->tmp_fd, buf, sz); =20 - return ret < 0 ? ret : 0; + return ret < 0 ? (int)ret : 0; } =20 static int guest_session__repipe(const struct perf_tool *tool, @@ -1444,7 +1444,7 @@ static int guest_session__start(struct guest_session = *gs, const char *name, bool =20 session =3D perf_session__new(&gs->data, &gs->tool); if (IS_ERR(session)) - return PTR_ERR(session); + return (int)PTR_ERR(session); gs->session =3D session; =20 /* @@ -1518,7 +1518,7 @@ static void guest_session__exit(struct guest_session = *gs) static void get_tsc_conv(struct perf_tsc_conversion *tc, struct perf_recor= d_time_conv *time_conv) { tc->time_shift =3D time_conv->time_shift; - tc->time_mult =3D time_conv->time_mult; + tc->time_mult =3D (u32)time_conv->time_mult; tc->time_zero =3D time_conv->time_zero; tc->time_cycles =3D time_conv->time_cycles; tc->time_mask =3D time_conv->time_mask; @@ -1578,7 +1578,7 @@ static int guest_session__fetch(struct guest_session = *gs) hdr =3D buf; ret =3D readn(gs->tmp_fd, buf, hdr_sz); if (ret < 0) - return ret; + return (int)ret; =20 if (!ret) { /* Zero size means EOF */ @@ -1590,7 +1590,7 @@ static int guest_session__fetch(struct guest_session = *gs) =20 ret =3D readn(gs->tmp_fd, buf, hdr->size - hdr_sz); if (ret < 0) - return ret; + return (int)ret; =20 gs->ev.event =3D (union perf_event *)gs->ev.event_buf; gs->ev.sample.time =3D 0; @@ -1603,7 +1603,7 @@ static int guest_session__fetch(struct guest_session = *gs) ret =3D evlist__parse_sample(gs->session->evlist, gs->ev.event, &gs->ev.s= ample); if (ret) { pr_err("Parse failed fetching guest event"); - return ret; + return (int)ret; } =20 if (!gs->have_tc) { @@ -1982,7 +1982,7 @@ static int parse_guest_data(const struct option *opt,= const char *str, int unset tok =3D strsep(&s, ","); if (!tok) goto bad_args; - gs->machine_pid =3D strtoul(tok, NULL, 0); + gs->machine_pid =3D (u32)strtoul(tok, NULL, 0); if (!inject->guest_session.machine_pid) goto bad_args; =20 @@ -2535,7 +2535,7 @@ int cmd_inject(int argc, const char **argv) /*trace_event_repipe=3D*/inject.output.is_pipe); =20 if (IS_ERR(inject.session)) { - ret =3D PTR_ERR(inject.session); + ret =3D (int)PTR_ERR(inject.session); goto out_close_output; } =20 --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) (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 826EB225A39 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531956; cv=none; b=DCIjD1tahYr3xMvrNJmcaOucHvseA/KB+QhXN6n7+TEVglvOx797O0lY7vfNpw7uLlTlXWUkPel7XRay820aE+BnFepcrEgemBBWWGHrE5cTSPAlisWlySPn0JCN8+5qY/3y5EI4S17Rj2Y7OnFlOd1SbBiXyoeKpXEVFu7pngs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531956; c=relaxed/simple; bh=ssJnoXCMCIxg/r0KvR46wCsctcfmKPYwSEmK6Obx5Iw=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=tSrD87uLHpCsUnVHM6FwYcsIZ5HjKhr0VleWP6jHJeNhwNv7luDH1DQ/+PFvWTLDKhgMdyiBdj4qbhCTfh0RR5GOaRzALsBJbMuL6dzQKMGhFlg/mAFArdpnwGrFtdYFLIMLgR3vh8YUikHx8SFLa89qPliaBbr0pex5W232flI= 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=wJdUXJJA; arc=none smtp.client-ip=209.85.214.201 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="wJdUXJJA" Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-224191d9228so7805185ad.3 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531954; x=1744136754; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=WbTNVfPfGOZtV31+YgAoq7VcrpMcIRlshuKG92aboaA=; b=wJdUXJJA3LyeMiut7LqkxXdiDpExPzfr0yU0cM6QtPQjajAFtuiGCCLAu5T8r/tRv8 enas/WZDRup5mH7aCg4qEgpaCBfyfskFA+MAGEorl/0N1O9j5pTHEPBzkNtuEFoL+xYZ kGbvE8zIiMGkf91ikK1TQdZ519g6uBHYLheohCdG+LMjF5YetLOjQaTG+0jBxjyRSAbZ VWxUf+Tn3ouTuSgIDQqI7nALBu/YbeF438S1ziiNAJ0gatbiq4mnhRhXrMz9cHaASURd i0Vxi94ZlIqASigjNap26U8m+VyII/IrhT2ORmDO7zcTMQHAYcJz9rgabNajoRSj10Oo M9ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531954; x=1744136754; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=WbTNVfPfGOZtV31+YgAoq7VcrpMcIRlshuKG92aboaA=; b=BP8o9/Az5ch0zCYRwN2xCXDWNgvOOSfzkSPK8Wysyq0i8M8D5WM0PBhKfB4hK9tJy8 T27WoqaNzddTBgesrlBVeutew9KPbGG8gAMKkRD5MNyBGEQxYilWXLGF0C7NkjYdoRuz o+ucDok+ySwvtCGg/5H6eHGF+vq2G07sUVip8+Zb1IoqHWxpgmt/mABFN2Ajb5pFdPJi iIDNsEzpeIC0hDvBZMlktU2691eoAXxEYeoyzjK+FA7d1NohIrMCjll6ee+62Z1k4k2h PPkus0ndxpCbG5buL6cMwED9zIT0WA6vT/trUyvJZ2Tnfll3md8Rhl+RNrDgTl7mGvJb v2Kg== X-Forwarded-Encrypted: i=1; AJvYcCURXtBbqjERoa8USzI5xyzHkCqFuvBwmD+zwchS5lNxI8KXcs7oDN0Fnz4cgdr4tGjjp5Q6ewGGCp5WtQk=@vger.kernel.org X-Gm-Message-State: AOJu0Yw7eZqBuZ5Iitm1VoC6Pk5OhPoYAlIL7fHyCMKVUPbCapm8I1+Z rxAqSF23/zw4k8gynGYmOisCXsZA13ylcbvWSwC0vkZf/hAuUB7C3bOF+NMaX/7sQfk31CSLMVx EWLM+Pw== X-Google-Smtp-Source: AGHT+IGm8WFbj7OaIz/NHPNtyB0BO2iv3wTzzs/z112p+SUHgK9W3OD0HDZkH9Rbgrm4+EmSVllWh4/lTaJ6 X-Received: from plkk12.prod.google.com ([2002:a17:902:c40c:b0:215:48e7:5dc8]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:ce8b:b0:224:179a:3b8f with SMTP id d9443c01a7336-2292f979cb9mr211562555ad.23.1743531953315; Tue, 01 Apr 2025 11:25:53 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:36 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-39-irogers@google.com> Subject: [PATCH v1 38/48] perf sched: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-sched.c | 56 +++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c index 26ece6e9bfd1..8ddb0bab5748 100644 --- a/tools/perf/builtin-sched.c +++ b/tools/perf/builtin-sched.c @@ -595,7 +595,7 @@ static int self_open_counters(struct perf_sched *sched,= unsigned long cur_task) static u64 get_cpu_usage_nsec_self(int fd) { u64 runtime; - int ret; + ssize_t ret; =20 ret =3D read(fd, &runtime, sizeof(runtime)); BUG_ON(ret !=3D sizeof(runtime)); @@ -823,7 +823,7 @@ replay_wakeup_event(struct perf_sched *sched, struct machine *machine __maybe_unused) { const char *comm =3D evsel__strval(evsel, sample, "comm"); - const u32 pid =3D evsel__intval(evsel, sample, "pid"); + const u32 pid =3D (u32)evsel__intval(evsel, sample, "pid"); struct task_desc *waker, *wakee; =20 if (verbose > 0) { @@ -846,8 +846,8 @@ static int replay_switch_event(struct perf_sched *sched, { const char *prev_comm =3D evsel__strval(evsel, sample, "prev_comm"), *next_comm =3D evsel__strval(evsel, sample, "next_comm"); - const u32 prev_pid =3D evsel__intval(evsel, sample, "prev_pid"), - next_pid =3D evsel__intval(evsel, sample, "next_pid"); + const u32 prev_pid =3D (u32)evsel__intval(evsel, sample, "prev_pid"), + next_pid =3D (u32)evsel__intval(evsel, sample, "next_pid"); struct task_desc *prev, __maybe_unused *next; u64 timestamp0, timestamp =3D sample->time; int cpu =3D sample->cpu; @@ -1116,8 +1116,8 @@ static int latency_switch_event(struct perf_sched *sc= hed, struct perf_sample *sample, struct machine *machine) { - const u32 prev_pid =3D evsel__intval(evsel, sample, "prev_pid"), - next_pid =3D evsel__intval(evsel, sample, "next_pid"); + const u32 prev_pid =3D (u32)evsel__intval(evsel, sample, "prev_pid"), + next_pid =3D (u32)evsel__intval(evsel, sample, "next_pid"); const char prev_state =3D evsel__taskstate(evsel, sample, "prev_state"); struct work_atoms *out_events, *in_events; struct thread *sched_out, *sched_in; @@ -1186,7 +1186,7 @@ static int latency_runtime_event(struct perf_sched *s= ched, struct perf_sample *sample, struct machine *machine) { - const u32 pid =3D evsel__intval(evsel, sample, "pid"); + const u32 pid =3D (u32)evsel__intval(evsel, sample, "pid"); const u64 runtime =3D evsel__intval(evsel, sample, "runtime"); struct thread *thread =3D machine__findnew_thread(machine, -1, pid); struct work_atoms *atoms =3D thread_atoms_search(&sched->atom_root, threa= d, &sched->cmp_pid); @@ -1221,7 +1221,7 @@ static int latency_wakeup_event(struct perf_sched *sc= hed, struct perf_sample *sample, struct machine *machine) { - const u32 pid =3D evsel__intval(evsel, sample, "pid"); + const u32 pid =3D (u32)evsel__intval(evsel, sample, "pid"); struct work_atoms *atoms; struct work_atom *atom; struct thread *wakee; @@ -1282,7 +1282,7 @@ static int latency_migrate_task_event(struct perf_sch= ed *sched, struct perf_sample *sample, struct machine *machine) { - const u32 pid =3D evsel__intval(evsel, sample, "pid"); + const u32 pid =3D (u32)evsel__intval(evsel, sample, "pid"); u64 timestamp =3D sample->time; struct work_atoms *atoms; struct work_atom *atom; @@ -1618,8 +1618,8 @@ static void print_sched_map(struct perf_sched *sched,= struct perf_cpu this_cpu, static int map_switch_event(struct perf_sched *sched, struct evsel *evsel, struct perf_sample *sample, struct machine *machine) { - const u32 next_pid =3D evsel__intval(evsel, sample, "next_pid"); - const u32 prev_pid =3D evsel__intval(evsel, sample, "prev_pid"); + const u32 next_pid =3D (u32)evsel__intval(evsel, sample, "next_pid"); + const u32 prev_pid =3D (u32)evsel__intval(evsel, sample, "prev_pid"); struct thread *sched_in, *sched_out; struct thread_runtime *tr; int new_shortname; @@ -1641,7 +1641,7 @@ static int map_switch_event(struct perf_sched *sched,= struct evsel *evsel, sched->max_cpu =3D this_cpu; =20 if (sched->map.comp) { - cpus_nr =3D bitmap_weight(sched->map.comp_cpus_mask, MAX_CPUS); + cpus_nr =3D (int)bitmap_weight(sched->map.comp_cpus_mask, MAX_CPUS); if (!__test_and_set_bit(this_cpu.cpu, sched->map.comp_cpus_mask)) { sched->map.comp_cpus[cpus_nr++] =3D this_cpu; new_cpu =3D true; @@ -1784,8 +1784,8 @@ static int process_sched_switch_event(const struct pe= rf_tool *tool, { struct perf_sched *sched =3D container_of(tool, struct perf_sched, tool); int this_cpu =3D sample->cpu, err =3D 0; - u32 prev_pid =3D evsel__intval(evsel, sample, "prev_pid"), - next_pid =3D evsel__intval(evsel, sample, "next_pid"); + u32 prev_pid =3D (u32)evsel__intval(evsel, sample, "prev_pid"); + u32 next_pid =3D (u32)evsel__intval(evsel, sample, "next_pid"); =20 if (sched->curr_pid[this_cpu] !=3D (u32)-1) { /* @@ -1919,7 +1919,7 @@ static int perf_sched__read_events(struct perf_sched = *sched) session =3D perf_session__new(&data, &sched->tool); if (IS_ERR(session)) { pr_debug("Error creating perf session"); - return PTR_ERR(session); + return (int)PTR_ERR(session); } =20 symbol__init(&session->header.env); @@ -1990,7 +1990,7 @@ static void evsel__save_time(struct evsel *evsel, u64= timestamp, u32 cpu) return; =20 if ((cpu >=3D r->ncpu) || (r->last_time =3D=3D NULL)) { - int i, n =3D __roundup_pow_of_two(cpu+1); + u32 n =3D (u32)__roundup_pow_of_two(cpu+1); void *p =3D r->last_time; =20 p =3D realloc(r->last_time, n * sizeof(u64)); @@ -1998,7 +1998,7 @@ static void evsel__save_time(struct evsel *evsel, u64= timestamp, u32 cpu) return; =20 r->last_time =3D p; - for (i =3D r->ncpu; i < n; ++i) + for (u32 i =3D r->ncpu; i < n; ++i) r->last_time[i] =3D (u64) 0; =20 r->ncpu =3D n; @@ -2146,7 +2146,7 @@ static void timehist_print_sample(struct perf_sched *= sched, { struct thread_runtime *tr =3D thread__priv(thread); const char *next_comm =3D evsel__strval(evsel, sample, "next_comm"); - const u32 next_pid =3D evsel__intval(evsel, sample, "next_pid"); + const u32 next_pid =3D (u32)evsel__intval(evsel, sample, "next_pid"); u32 max_cpus =3D sched->max_cpu.cpu + 1; char tstr[64]; char nstr[30]; @@ -2415,7 +2415,7 @@ static struct thread *get_idle_thread(int cpu) * structs if needed */ if ((cpu >=3D idle_max_cpu) || (idle_threads =3D=3D NULL)) { - int i, j =3D __roundup_pow_of_two(cpu+1); + int j =3D (int)__roundup_pow_of_two(cpu+1); void *p; =20 p =3D realloc(idle_threads, j * sizeof(struct thread *)); @@ -2423,7 +2423,7 @@ static struct thread *get_idle_thread(int cpu) return NULL; =20 idle_threads =3D (struct thread **) p; - for (i =3D idle_max_cpu; i < j; ++i) + for (int i =3D idle_max_cpu; i < j; ++i) idle_threads[i] =3D NULL; =20 idle_max_cpu =3D j; @@ -2530,7 +2530,7 @@ static bool timehist_skip_sample(struct perf_sched *s= ched, if (tr && tr->prio !=3D -1) prio =3D tr->prio; else if (evsel__name_is(evsel, "sched:sched_switch")) - prio =3D evsel__intval(evsel, sample, "prev_prio"); + prio =3D (int)evsel__intval(evsel, sample, "prev_prio"); =20 if (prio !=3D -1 && !test_bit(prio, sched->prio_bitmap)) { rc =3D true; @@ -2602,7 +2602,7 @@ static int timehist_sched_wakeup_event(const struct p= erf_tool *tool, struct thread *thread; struct thread_runtime *tr =3D NULL; /* want pid of awakened task not pid in sample */ - const u32 pid =3D evsel__intval(evsel, sample, "pid"); + const u32 pid =3D (u32)evsel__intval(evsel, sample, "pid"); =20 thread =3D machine__findnew_thread(machine, 0, pid); if (thread =3D=3D NULL) @@ -2638,8 +2638,8 @@ static void timehist_print_migration_event(struct per= f_sched *sched, return; =20 max_cpus =3D sched->max_cpu.cpu + 1; - ocpu =3D evsel__intval(evsel, sample, "orig_cpu"); - dcpu =3D evsel__intval(evsel, sample, "dest_cpu"); + ocpu =3D (u32)evsel__intval(evsel, sample, "orig_cpu"); + dcpu =3D (u32)evsel__intval(evsel, sample, "dest_cpu"); =20 thread =3D machine__findnew_thread(machine, sample->pid, sample->tid); if (thread =3D=3D NULL) @@ -2686,7 +2686,7 @@ static int timehist_migrate_task_event(const struct p= erf_tool *tool, struct thread *thread; struct thread_runtime *tr =3D NULL; /* want pid of migrated task not pid in sample */ - const u32 pid =3D evsel__intval(evsel, sample, "pid"); + const u32 pid =3D (u32)evsel__intval(evsel, sample, "pid"); =20 thread =3D machine__findnew_thread(machine, 0, pid); if (thread =3D=3D NULL) @@ -2714,8 +2714,8 @@ static void timehist_update_task_prio(struct evsel *e= vsel, { struct thread *thread; struct thread_runtime *tr =3D NULL; - const u32 next_pid =3D evsel__intval(evsel, sample, "next_pid"); - const u32 next_prio =3D evsel__intval(evsel, sample, "next_prio"); + const u32 next_pid =3D (u32)evsel__intval(evsel, sample, "next_pid"); + const u32 next_prio =3D (u32)evsel__intval(evsel, sample, "next_prio"); =20 if (next_pid =3D=3D 0) thread =3D get_idle_thread(sample->cpu); @@ -3258,7 +3258,7 @@ static int perf_sched__timehist(struct perf_sched *sc= hed) =20 session =3D perf_session__new(&data, &sched->tool); if (IS_ERR(session)) - return PTR_ERR(session); + return (int)PTR_ERR(session); =20 if (cpu_list) { err =3D perf_session__cpu_bitmap(session, cpu_list, cpu_bitmap); --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) (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 9F58622652D for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531958; cv=none; b=H9YKJUIdsn4BuKmFe4pIQ8p0o2526m1muRDK5KxV5C4qWhBDfqPkdSmhd4zosDI9DFky4AZwVx/KX8KmQWuOTP+FW6nxhENk8ifgqXynV9R3IJYSW1r9Hg+2S1f59ZuI63e/tD+f3gxRBQXiR9QzNkk5yA/zcVWZ9FJzORHDvjs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531958; c=relaxed/simple; bh=Hjo4Ux9EshIB5nfwsYSB2kHln+oQVK3YSkK+wa42IQI=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=RRfJtV87nBIGLFz1mVfwja4AyTBtKWZpgeKEFuOBLV4j9q5iJmLldF5a6iujAUnTizsvd7vAW3B0O566fVEZk4nrOOtMICi8YzT6z1Z3L7C0NUUWBSa3dMI+v0W6GXKtgYEiq/LCz98FKG2dSP1hmd+FlmPTVmorSV0EQxIf0H8= 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=yKhRsUlS; arc=none smtp.client-ip=209.85.214.201 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="yKhRsUlS" Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-229668c8659so5266285ad.3 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531956; x=1744136756; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=AINsNHfUQ84TZtdqHe8YbE6Ea6bkBfLpawU4T3dHFsc=; b=yKhRsUlSN6yUyspeokDcU19vuxCDr9Wi13QX1AxHkiX+f94r69hFIIeTitXE8t3ltW XqPizZu36hp1KtcPysp1O7+dkvbD0KTlqD2wApbAbLA6VZPHmAAVzjAOivTTVoalFPfl VoKfoAPO+NV5D99PifdJW0CCbvh7mXQEUwPe5fx3lahtLFB1ME0xxLkfqrVXDX68x4qI /I2udtO7GZnHRIk/7YJD8qwV8/EJufZbPz648k/kOi4gH5jfzxOwN+3XBlq2u+dr0TNK zJIHpYnAWqZrQ1CJYe9/JxZp3NWaBVmdSfAe4TTUPP7nZluj3PPH+aoyLRcGREHWqu5S hc8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531956; x=1744136756; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=AINsNHfUQ84TZtdqHe8YbE6Ea6bkBfLpawU4T3dHFsc=; b=hEtr4L9jQN4OSpTolhasgmV9ATHsd/zc/sjSIQGQfcJKoRUaxhAzcsZJC5dqv69uNP kgcvqn3PDbQ+0iggVsVxwamKdtVAVEdsjhQH/SSS1tbwIdPXWYLjvvgLP4Fd3I6/giZc bCsj7PRkB7b8XmgbzOwmbNTMZp06nkjBCdwWLaInErsiIpJdB6oO9TeRhYOLlMwScotN F4qAH+9FfYut05mC8mCtZI3eS6cZLQ4MU5CQTgPuu7e7pLRbEGXwPEvFspAXYWkQctmJ VOptaJ8UZQ12iY+Gx5VSuiFIkRNCBtj9sE8OOO8khm5AKu9iHhrGRGIFNz+nsyZgGAmN Ceeg== X-Forwarded-Encrypted: i=1; AJvYcCUkcD4ux9zce94sii6m34W294OOHdVG2rV9x++DmFQrQCoJkQNIXZbPgeIOmlCKmO2H3he79L7FvfvC+C4=@vger.kernel.org X-Gm-Message-State: AOJu0Yzxl7cjZDLs8DUIbXi8IQU8rsCzqR0GvJIDUNspN2t1dDrz6byt jGXaBJtez1W0C+kz9qUwlRKaQbsJKgomAVBYF0CkZpVZsuQnPzJvbgEmP814Zt9MPHq7g5+sfEx ufLajuQ== X-Google-Smtp-Source: AGHT+IHXdSNd3g++jqN+fHHZIowU3mAWz41Q2ckrahN9Qab8zKJXOz5RlfbWGg1n8s9o1EELvcDlzidMfBca X-Received: from plse12.prod.google.com ([2002:a17:902:b78c:b0:21f:b748:a1c8]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:903:1106:b0:215:b75f:a1cb with SMTP id d9443c01a7336-2292f9448a5mr207715785ad.9.1743531955685; Tue, 01 Apr 2025 11:25:55 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:37 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-40-irogers@google.com> Subject: [PATCH v1 39/48] perf timechart: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-timechart.c | 60 ++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 28 deletions(-) diff --git a/tools/perf/builtin-timechart.c b/tools/perf/builtin-timechart.c index 068d297aaf44..6d8d695f3099 100644 --- a/tools/perf/builtin-timechart.c +++ b/tools/perf/builtin-timechart.c @@ -118,7 +118,7 @@ struct per_pidcomm { int Y; int display; =20 - long state; + int state; u64 state_since; =20 char *comm; @@ -385,7 +385,7 @@ static struct power_event *p_state_end(struct timechart= *tchart, int cpu, if (!pwr) return NULL; =20 - pwr->state =3D cpus_pstate_state[cpu]; + pwr->state =3D (int)cpus_pstate_state[cpu]; pwr->start_time =3D cpus_pstate_start_times[cpu]; pwr->end_time =3D timestamp; pwr->cpu =3D cpu; @@ -601,8 +601,8 @@ process_sample_cpu_idle(struct timechart *tchart __mayb= e_unused, struct perf_sample *sample, const char *backtrace __maybe_unused) { - u32 state =3D evsel__intval(evsel, sample, "state"); - u32 cpu_id =3D evsel__intval(evsel, sample, "cpu_id"); + u32 state =3D (u32)evsel__intval(evsel, sample, "state"); + u32 cpu_id =3D (u32)evsel__intval(evsel, sample, "cpu_id"); =20 if (state =3D=3D (u32)PWR_EVENT_EXIT) c_state_end(tchart, cpu_id, sample->time); @@ -617,8 +617,8 @@ process_sample_cpu_frequency(struct timechart *tchart, struct perf_sample *sample, const char *backtrace __maybe_unused) { - u32 state =3D evsel__intval(evsel, sample, "state"); - u32 cpu_id =3D evsel__intval(evsel, sample, "cpu_id"); + u32 state =3D (u32)evsel__intval(evsel, sample, "state"); + u32 cpu_id =3D (u32)evsel__intval(evsel, sample, "cpu_id"); =20 p_state_change(tchart, cpu_id, sample->time, state); return 0; @@ -631,8 +631,8 @@ process_sample_sched_wakeup(struct timechart *tchart, const char *backtrace) { u8 flags =3D evsel__intval(evsel, sample, "common_flags"); - int waker =3D evsel__intval(evsel, sample, "common_pid"); - int wakee =3D evsel__intval(evsel, sample, "pid"); + int waker =3D (int)evsel__intval(evsel, sample, "common_pid"); + int wakee =3D (int)evsel__intval(evsel, sample, "pid"); =20 sched_wakeup(tchart, sample->cpu, sample->time, waker, wakee, flags, back= trace); return 0; @@ -644,8 +644,8 @@ process_sample_sched_switch(struct timechart *tchart, struct perf_sample *sample, const char *backtrace) { - int prev_pid =3D evsel__intval(evsel, sample, "prev_pid"); - int next_pid =3D evsel__intval(evsel, sample, "next_pid"); + int prev_pid =3D (int)evsel__intval(evsel, sample, "prev_pid"); + int next_pid =3D (int)evsel__intval(evsel, sample, "next_pid"); u64 prev_state =3D evsel__intval(evsel, sample, "prev_state"); =20 sched_switch(tchart, sample->cpu, sample->time, prev_pid, next_pid, @@ -660,8 +660,8 @@ process_sample_power_start(struct timechart *tchart __m= aybe_unused, struct perf_sample *sample, const char *backtrace __maybe_unused) { - u64 cpu_id =3D evsel__intval(evsel, sample, "cpu_id"); - u64 value =3D evsel__intval(evsel, sample, "value"); + int cpu_id =3D (int)evsel__intval(evsel, sample, "cpu_id"); + int value =3D (int)evsel__intval(evsel, sample, "value"); =20 c_state_start(cpu_id, sample->time, value); return 0; @@ -683,7 +683,7 @@ process_sample_power_frequency(struct timechart *tchart, struct perf_sample *sample, const char *backtrace __maybe_unused) { - u64 cpu_id =3D evsel__intval(evsel, sample, "cpu_id"); + int cpu_id =3D (int)evsel__intval(evsel, sample, "cpu_id"); u64 value =3D evsel__intval(evsel, sample, "value"); =20 p_state_change(tchart, cpu_id, sample->time, value); @@ -697,10 +697,9 @@ process_sample_power_frequency(struct timechart *tchar= t, */ static void end_sample_processing(struct timechart *tchart) { - u64 cpu; struct power_event *pwr; =20 - for (cpu =3D 0; cpu <=3D tchart->numcpus; cpu++) { + for (unsigned int cpu =3D 0; cpu <=3D tchart->numcpus; cpu++) { /* C state */ #if 0 pwr =3D zalloc(sizeof(*pwr)); @@ -723,7 +722,7 @@ static void end_sample_processing(struct timechart *tch= art) return; =20 if (!pwr->state) - pwr->state =3D tchart->min_freq; + pwr->state =3D (int)tchart->min_freq; } } =20 @@ -812,7 +811,7 @@ static int pid_end_io_sample(struct timechart *tchart, = int pid, int type, } =20 if (ret < 0) { - sample->err =3D ret; + sample->err =3D (int)ret; } else if (type =3D=3D IOTYPE_READ || type =3D=3D IOTYPE_WRITE || type =3D=3D IOTYPE_TX || type =3D=3D IOTYPE_RX) { =20 @@ -852,7 +851,8 @@ process_enter_read(struct timechart *tchart, struct evsel *evsel, struct perf_sample *sample) { - long fd =3D evsel__intval(evsel, sample, "fd"); + int fd =3D (int)evsel__intval(evsel, sample, "fd"); + return pid_begin_io_sample(tchart, sample->tid, IOTYPE_READ, sample->time, fd); } @@ -872,7 +872,8 @@ process_enter_write(struct timechart *tchart, struct evsel *evsel, struct perf_sample *sample) { - long fd =3D evsel__intval(evsel, sample, "fd"); + int fd =3D (int)evsel__intval(evsel, sample, "fd"); + return pid_begin_io_sample(tchart, sample->tid, IOTYPE_WRITE, sample->time, fd); } @@ -892,7 +893,8 @@ process_enter_sync(struct timechart *tchart, struct evsel *evsel, struct perf_sample *sample) { - long fd =3D evsel__intval(evsel, sample, "fd"); + int fd =3D (int)evsel__intval(evsel, sample, "fd"); + return pid_begin_io_sample(tchart, sample->tid, IOTYPE_SYNC, sample->time, fd); } @@ -912,7 +914,8 @@ process_enter_tx(struct timechart *tchart, struct evsel *evsel, struct perf_sample *sample) { - long fd =3D evsel__intval(evsel, sample, "fd"); + int fd =3D (int)evsel__intval(evsel, sample, "fd"); + return pid_begin_io_sample(tchart, sample->tid, IOTYPE_TX, sample->time, fd); } @@ -932,7 +935,8 @@ process_enter_rx(struct timechart *tchart, struct evsel *evsel, struct perf_sample *sample) { - long fd =3D evsel__intval(evsel, sample, "fd"); + int fd =3D (int)evsel__intval(evsel, sample, "fd"); + return pid_begin_io_sample(tchart, sample->tid, IOTYPE_RX, sample->time, fd); } @@ -952,7 +956,8 @@ process_enter_poll(struct timechart *tchart, struct evsel *evsel, struct perf_sample *sample) { - long fd =3D evsel__intval(evsel, sample, "fd"); + int fd =3D (int)evsel__intval(evsel, sample, "fd"); + return pid_begin_io_sample(tchart, sample->tid, IOTYPE_POLL, sample->time, fd); } @@ -1034,7 +1039,7 @@ static void draw_c_p_states(struct timechart *tchart) while (pwr) { if (pwr->type =3D=3D PSTATE) { if (!pwr->state) - pwr->state =3D tchart->min_freq; + pwr->state =3D (int)tchart->min_freq; svg_pstate(pwr->cpu, pwr->start_time, pwr->end_time, pwr->state); } pwr =3D pwr->next; @@ -1310,7 +1315,7 @@ static void draw_process_bars(struct timechart *tchar= t) =20 static void add_process_filter(const char *string) { - int pid =3D strtoull(string, NULL, 10); + int pid =3D (int)strtoull(string, NULL, 10); struct process_filter *filt =3D malloc(sizeof(*filt)); =20 if (!filt) @@ -1458,7 +1463,6 @@ static int determine_display_io_tasks(struct timechar= t *timechart, u64 threshold =20 static void write_svg_file(struct timechart *tchart, const char *filename) { - u64 i; int count; int thresh =3D tchart->io_events ? BYTES_THRESH : TIME_THRESH; =20 @@ -1494,7 +1498,7 @@ static void write_svg_file(struct timechart *tchart, = const char *filename) =20 svg_legenda(); =20 - for (i =3D 0; i < tchart->numcpus; i++) + for (unsigned int i =3D 0; i < tchart->numcpus; i++) svg_cpu_box(i, tchart->max_freq, tchart->turbo_frequency); =20 draw_cpu_usage(tchart); @@ -1616,7 +1620,7 @@ static int __cmd_timechart(struct timechart *tchart, = const char *output_name) =20 session =3D perf_session__new(&data, &tchart->tool); if (IS_ERR(session)) - return PTR_ERR(session); + return (int)PTR_ERR(session); =20 symbol__init(&session->header.env); =20 --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.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 E3576226CE5 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:25:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531960; cv=none; b=h7dExHxDe6yuTgHLbenCOqWkoDXE5Ate5tToLXiMBXLZ3rJeYndxETOZU24b1n4BX9+LgLTcBwZrSSEju4ioJVa0CCRzhm/Glrn91uhozQtxjRvYOrTTGTjJKTKOMqQjQbJLCNBhkIJEuwTiT0fJFL56otVAcmUCbTLZ2rX7dY0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531960; c=relaxed/simple; bh=W6yinm4HkHn1me23Ec0J0FcyIK2+wzf4A7dc5FyKbDc=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=tIs89N45dSD5isnP1wYF3MhOEZaAZkL2EhtMETDiXzy93RE/Iv6EbqbNIBNUN4FQ4/NjEUVtnkP4dzghzyGEqpeCt9TnP0TwyK2XWXYZm885LzVEdNbTf4+FPgCiJ6Em6+9qNu1BcuZTfrv95rqGq/dLG56BmD+iTu0zC//Juxg= 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=A/zpJM4v; arc=none smtp.client-ip=209.85.214.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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="A/zpJM4v" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-2240c997059so134742865ad.0 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:25:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531958; x=1744136758; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=C5U3R/UrwewYisfEOqePuN2BIRCQ22drd6rnFQ3244c=; b=A/zpJM4v7ol28qip48DatWK6Dp4l9JzoVHrlhT0+D24iABis88HOG/Dg509G7NigA6 O6T0k7tLJGJf0Ws8naJkhWobbfIcuABLMYciaamuSpjM52cxwlfoPfXGxvV9N/g1dwHe JudXWochbLXaqt1MKheBUJtCk6MCAVBJA/8dn1TS7xsrNi4tqZm6ptnm4KK/AcpDz+Lt fxTtc+HAXB0zyC1ufVG0NrLT2FDOQ/1iuGWeT88IzDZKN0p2upgZr83XNuHna7CejvDy lLwK8ABQvORjJHJCa8zI2oVBB8e3JAjDQMWCME9gFFglKjIpOSclyCZnd7YUZWNdy+Oi +53Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531958; x=1744136758; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=C5U3R/UrwewYisfEOqePuN2BIRCQ22drd6rnFQ3244c=; b=GXaSugwt3xOVjy2FF+Qwwwwh/Luat3B3J5jFpJ5InCeoatxVevX0Tdl/51elqajJSh 7vz1+9nFWwWPC9WA1gxjvgghULDV7nGSoIeUqMzDiU/8SgFDd6gjlp2D4zPWC8K1vWnM 8/ASd/Qt1mNSt9PAmBZElh316WD7I0jHS9E2Hv+uv9Y6O5hWjZZEDsXcZYQZ/sFiOBPx dzPNNXaREuCAGMiSiBfceOpxXBaKkVD+sbv3peJVlC6SvMl82vOMN3Gd/E+bQVXjwuE+ TMgNBXHaeIk6vY1dOEaJNw24mON+z9nqnKXh3BoPSpptZCHfPoYimFb9p/WsGgmg7vjI cgPw== X-Forwarded-Encrypted: i=1; AJvYcCW77bRj9g0h3boKpeoaS9efGOH2ieqlz55NAiguffxAXadkrs8BKOmwV8zJHHEQ80SrE8Fc/fdnL2ewt+o=@vger.kernel.org X-Gm-Message-State: AOJu0YwEwRUZvXHnLDrng959Df8ALrPQgtqdzioMHWgVuYq1rlpbCvf6 NoTAaXd4mKLIj3AIXi+5LyVLM8I/RYs+DxL8PjAOxiTuubUefGyW+z56h4pRigWMJtZ6kkbElSf 9+Idi9Q== X-Google-Smtp-Source: AGHT+IGqboy2GJ8KcKXgHvINA6kBdII8ptQNXP56vNZrZaxnHdkJFqlrjLnbAqPsXDoTdL86TSRYYNPIfspz X-Received: from pfbho20.prod.google.com ([2002:a05:6a00:8814:b0:736:af6b:e58d]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:aa7:8890:0:b0:736:52d7:daca with SMTP id d2e1a72fcca58-7398042a376mr23457517b3a.18.1743531957749; Tue, 01 Apr 2025 11:25:57 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:38 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-41-irogers@google.com> Subject: [PATCH v1 40/48] perf list: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-list.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/perf/builtin-list.c b/tools/perf/builtin-list.c index fed482adb039..ffe2e972e3f2 100644 --- a/tools/perf/builtin-list.c +++ b/tools/perf/builtin-list.c @@ -93,7 +93,7 @@ static void wordwrap(FILE *fp, const char *s, int start, = int max, int corr) bool comma =3D false; =20 while (*s) { - int wlen =3D strcspn(s, " ,\t\n"); + int wlen =3D (int)strcspn(s, " ,\t\n"); const char *sep =3D comma ? "," : " "; =20 if ((column + wlen >=3D max && column > start) || saw_newline) { @@ -171,7 +171,7 @@ static void default_print_event(void *ps, const char *t= opic, const char *pmu_nam int desc_len =3D -1; =20 if (pmu_name && strcmp(pmu_name, "default_core")) { - desc_len =3D strlen(desc); + desc_len =3D (int)strlen(desc); desc_len =3D asprintf(&desc_with_unit, desc_len > 0 && desc[desc_len - 1] !=3D '.' ? "%s. Unit: %s" : "%s Unit: %s", --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) (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 81C36226D03 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:26:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531962; cv=none; b=mQqQCBG5F6SAhtSPGQ/JyMzhwNJHeXRsEYYL+rirnmPrnI7fia68koIYrpIMT/vvy4jnQAHb0YQWWd3WoP7zbpe/15lZVK/5lzXnRCb5vwP4zrjyJ5gS0s5GaxoXBDmWheTl57QuW3j1nLcAmxHEIDnALPniuH68ldWUq3sPy4c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531962; c=relaxed/simple; bh=ISIPur5EdG5VT16W+y596XtyvQru1DN+JSFfJcpaQKc=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=Hy3EknpKvnyPXRbhRy2hkWYJlsLyMmsG2wryEkiDGF93VM8F6NNJWfCq92a4FQzf1cnmq5d62/wyKV0gmrJuq3pfUd9g825piZcNy1FZdXiSICXskt58EFnf4d2qTQTlMcARxtsDBTyoOO54nDJFuqDCbZakF1fRnYPDXFNv6Bg= 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=Y3RU7P2h; arc=none smtp.client-ip=209.85.214.201 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="Y3RU7P2h" Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-227ea16b03dso166710025ad.3 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:26:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531960; x=1744136760; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=o8D2NdkIniQBtVAV1aGO9PS+E4EWZci4xwBtgznKQxc=; b=Y3RU7P2hKmjWgLpMOqNwHUEK2LOTBMYayHx9qgSbYAgu+61U2g8MSNpmO4QSnBROxf wfJYytweIU4W14tN5qZ21/Xk1SulGadoyqP3RoRC99sHjuhqaTUUzbjdHWK5O/umGosG GhKqmARW/AMP2KmvhgYrYpn7sC4WaYnbURS6TF90klmiFbvF+0f+XyyDAy6B3ql/WO8M Vz2YihCJbxhFiagQTuBM10UBktTJn42S5moq3UNqbQM2upMltwUHkEJ7r7glIh1V02GU u1ydB5lAy9wlfTfOv1ZtpSqkGn7qglxx4Q+rXnREnUh4orhMESouk3wlvQFfBrUUbCE2 f0FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531960; x=1744136760; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=o8D2NdkIniQBtVAV1aGO9PS+E4EWZci4xwBtgznKQxc=; b=O+UJK7XKjeD1YII8jY0lUY2Wyz28i1cd/tn/DwreQZB5faPOpBLUXUjZtv4Uh5i7j5 eP5kn+srK2Kqd/NipZERRxZmI8zvkDZXyonnQnx4Qrf0DGxGrw4gW0v1E24SIVe8X31a MPmTvUsmqS2OC8uWsb/nX5KGJ4AUQJxLOufwRCYm/JDp60pzrveVfIecJyvrBLzRfyJ/ HzNNqlYP4kz1yIsv9f60W9B0jwaLROQ3QjVViI7HzMaeVyvHyzzg8fjewCl1bG6W0LYh rWNxSdL8Hro9wKeZ9u0cUETBEdR0TAB9ax0yjssE48qA+3SvNovSBd8K/Sm/1s8Q7U6E f6NQ== X-Forwarded-Encrypted: i=1; AJvYcCV6QwlDOoXGG7eHzmXM+5TmiN0aL/r0rQ8xur3tEthvASVSm3ymJ+jb2j1r4WfT2IRaY9AuIFh/8CpLetQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyYNWYyX9F7qg2xzC+rlc3KXtfs09KxETgYIhmwPnOulSxZKW00 PkRqaUh8VuTlUy7UwlQB1n+A6/GLy23B2TA55mgxusvrm6BAxFySzFNYWkYLssRwJRhGl7q9Yfy XbUEcLQ== X-Google-Smtp-Source: AGHT+IHOfHQYMPSlb929fAQLYUOR8MaSQ47qaoqjl5CBh3biX9RHBcWbfOEBlIWhvTFZDEluJlrFNHckgCuo X-Received: from plrb1.prod.google.com ([2002:a17:902:a9c1:b0:220:c59b:c80d]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:e541:b0:221:7b4a:475a with SMTP id d9443c01a7336-2292fa0af62mr156962715ad.52.1743531959784; Tue, 01 Apr 2025 11:25:59 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:39 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-42-irogers@google.com> Subject: [PATCH v1 41/48] perf kvm: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-kvm.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/perf/builtin-kvm.c b/tools/perf/builtin-kvm.c index 67fd2b006b0b..a81874b7f2d3 100644 --- a/tools/perf/builtin-kvm.c +++ b/tools/perf/builtin-kvm.c @@ -928,7 +928,7 @@ struct vcpu_event_record *per_vcpu_record(struct thread= *thread, return NULL; } =20 - vcpu_record->vcpu_id =3D evsel__intval(evsel, sample, vcpu_id_str); + vcpu_record->vcpu_id =3D (int)evsel__intval(evsel, sample, vcpu_id_str); thread__set_priv(thread, vcpu_record); } =20 @@ -1337,7 +1337,7 @@ static int perf_kvm__handle_timerfd(struct perf_kvm_s= tat *kvm) uint64_t c; int rc; =20 - rc =3D read(kvm->timerfd, &c, sizeof(uint64_t)); + rc =3D (int)read(kvm->timerfd, &c, sizeof(uint64_t)); if (rc < 0) { if (errno =3D=3D EAGAIN) return 0; @@ -1558,7 +1558,7 @@ static int read_events(struct perf_kvm_stat *kvm) kvm->session =3D perf_session__new(&file, &kvm->tool); if (IS_ERR(kvm->session)) { pr_err("Initializing perf session failed\n"); - return PTR_ERR(kvm->session); + return (int)PTR_ERR(kvm->session); } =20 symbol__init(&kvm->session->header.env); @@ -1924,7 +1924,7 @@ static int kvm_events_live(struct perf_kvm_stat *kvm, */ kvm->session =3D perf_session__new(&data, &kvm->tool); if (IS_ERR(kvm->session)) { - err =3D PTR_ERR(kvm->session); + err =3D (int)PTR_ERR(kvm->session); goto out; } kvm->session->evlist =3D kvm->evlist; --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) (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 8CC0D22759B for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:26:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531964; cv=none; b=RiPixm2TSEZBAYjf8irylq9oxXdGybK1ybemHcKaM0TWDRGLdexEzkfy983C0wRKQkzU5Dri3OzqlIVBlXw6/mWZF5e04C8aBDuzEvVVJhXwKf8kIlGVPTkQAGNbxdf32OCFCOVre9zolziEq5ZCdC7XSxQc8+Elr8jFQJqdd7I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531964; c=relaxed/simple; bh=JQbIyor9Uz/RtWQr1UUzgydOg4ub7P7LYzitc96vXbA=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=TJEw1GQf3dE4ZNRfbU34jwNbnMVU1YfgrWz0dTDSeh0Z3ieaEGGyTitor+yaS9dqLHqrWLsLhwLuRgEDTXyk7j+lyUDsqMHdUMKL7LolwKlwn41WrmsGmYauJ783fvrsvJbpXToeGZ+MERmfmuKTfgvSec1nIazOQDYXPO6oQFY= 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=heLSvOV2; arc=none smtp.client-ip=209.85.214.201 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="heLSvOV2" Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-2242ce15cc3so109588735ad.1 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:26:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531962; x=1744136762; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=hHULpj+H3oi+FzjQgSQqTpXNSrGg7p6q4GuUxzwm0pE=; b=heLSvOV2uFRFbFQn+CH7BLVCmrh8kbaO2sarssM2znoXIXWCJVNx3V9WTAFYrd4Ew/ zwD75oLSBfid0NxCh0swIiUycA+iCCWdUrGRIjqUmQ0sTSxKq3YQ/O4aBkM+oPRu/CqH lvsyWdDjW1TQJNldbYTfkLlCz7x95jvtT2H/u+s+2S/1o6laDDV4lbuiDdoGDoq86MDv dkuw/e1n6780eD9hLZTnDIKwe989GyBy/hzP6dFw9FiAEAb5txY44mDdoeov9OeXFlGU eJ9MQyhMTDe+SI+L7qH2dFJENefePoVgxTwCI5T3+jXCse+VcswoZwePptn2NBOJNLh1 9JHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531962; x=1744136762; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=hHULpj+H3oi+FzjQgSQqTpXNSrGg7p6q4GuUxzwm0pE=; b=mrDI9mMQ5PtKTP+u9AZsw02f4Uf19xDtsdxYDF28tGTJQtr6144swQOl+ccS/t2zCH /YZFVkX6FIdZIClXv7e3iBxo7Ld1toCJEgeCncw4ojT0q0NkdJfiseh1PEIxLZUQm0U0 4jas7qe7+sIBLGEIDyGSxs4aaY8Z2Pmhmlw9doCwy5an0+Li9vLIPGyVub9phT9XeelL Q1F0wGnao/CSWkZf4cZaODacxqcFCGAygOU05SRcA0jGiPZ7RkcGCPpXFI1Bo6GMipOu 4CCWW5shyBD0Ygqd70IizVYSpP2OKDEhAhDg+nj7nNuQ/MjQ3/xTiEBikCRu05H73CW0 ujpA== X-Forwarded-Encrypted: i=1; AJvYcCV+WXtBoDxs7IAVotNNkmixdSHAU0+AkG++tb257f2mpa3bi4AhFl4NPMWnfUu/B/rW1H+sXh1n1D0w6AM=@vger.kernel.org X-Gm-Message-State: AOJu0Yxejr0EySON/Dy22qOrWyaHAoXIoUs+Wjg9dyMSV4mM3kcDDkN2 qQVPkERLMrUGkJeZ++1nhXom+DSm5bBAqFtnl8BOOCbn8UwqOU0njewcuyZ2dUCf5xrNBbqaonM tARCvjA== X-Google-Smtp-Source: AGHT+IHc1J/tLHnNQAMUxzKYcdtcAYe82KDst9YqDC4pcuDponTRkiDDZZDry2Fvl+/yYJUZ6LaDdz401DxW X-Received: from pjbqo8.prod.google.com ([2002:a17:90b:3dc8:b0:2ff:6e58:89f7]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:ce84:b0:21f:4649:fd49 with SMTP id d9443c01a7336-2292fa0294emr209138475ad.49.1743531961690; Tue, 01 Apr 2025 11:26:01 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:40 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-43-irogers@google.com> Subject: [PATCH v1 42/48] perf diff: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-diff.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c index ae490d58af92..9c21ea8f242a 100644 --- a/tools/perf/builtin-diff.c +++ b/tools/perf/builtin-diff.c @@ -243,7 +243,7 @@ static int setup_compute(const struct option *opt, cons= t char *str, =20 option =3D strchr(str, ':'); if (option) { - unsigned len =3D option++ - str; + size_t len =3D option++ - str; =20 /* * The str data are not writeable, so we need @@ -1148,7 +1148,7 @@ static int check_file_brstack(void) d->session =3D perf_session__new(&d->data, &pdiff.tool); if (IS_ERR(d->session)) { pr_err("Failed to open %s\n", d->data.path); - return PTR_ERR(d->session); + return (int)PTR_ERR(d->session); } =20 has_br_stack =3D perf_header__has_feat(&d->session->header, @@ -1179,7 +1179,7 @@ static int __cmd_diff(void) data__for_each_file(i, d) { d->session =3D perf_session__new(&d->data, &pdiff.tool); if (IS_ERR(d->session)) { - ret =3D PTR_ERR(d->session); + ret =3D (int)PTR_ERR(d->session); pr_err("Failed to open %s\n", d->data.path); goto out_delete; } @@ -1492,10 +1492,10 @@ static int print_cycles_spark(char *bf, int size, u= nsigned long *svals, u64 n) =20 if (n > NUM_SPARKS) n =3D NUM_SPARKS; - if (all_zero(svals, n)) + if (all_zero(svals, (int)n)) return 0; =20 - printed =3D print_spark(bf, size, svals, n); + printed =3D print_spark(bf, size, svals, (int)n); printed +=3D scnprintf(bf + printed, size - printed, " "); return printed; } --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.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 8B4EC227E86 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:26:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531966; cv=none; b=M0HedM1rknrJVOLO6kYmCo7K/ZdPZg6gewIwVvbjVxO5sDOzTnit9BXMPKi+xkQVS1Wjz2FYPT1TMCX0xGbyJw1iHSvwRd03Jy+xlPXDL2f0nb15ws3HPnI7+Rb2kkgJm+3Z26+jDR8tWqPvMrDGDo6IW57JECpHSlIHn8YAGoI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531966; c=relaxed/simple; bh=kqjLECJCUYD+3DaN9tBW/l19nUZu8ny1BGp4QXL8J/o=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=jNzE0Efe1pug65yh4asqjmWwCx5jp3tromXeCh6NOyXQcW7wkxz3DCgCgVhBsEiScJXQxmh38+buQ1TAkpAUQ1OMc/yI3YpDbpEqcfJaFgfitt5ZCfsT+8leUDiI08EmxIq+5ah0a7qW+NF1DtepDvfNr641jsFFdQWDebWEbDE= 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=RwnL1FrW; arc=none smtp.client-ip=209.85.214.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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="RwnL1FrW" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-224347aef79so160822145ad.2 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:26:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531964; x=1744136764; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=P9osYdTmGwp/3DEg7I+o5/Yh8Bly4Esp6cRQqIII8fg=; b=RwnL1FrW81LSo88i3+dXBHmDcKIBiYrWhrCIcD34cvNJWXMpzc1Y6eQCaJOUTvGYH2 iX/HyAFUna8QMfORGNUg1V/tan9qzDEvNG6kH0XZjK9KLsaSyo+xt5TXxq41iw2ULSAK Pb40U1/1/wXglDL8geJrksgHbozthZwa1jRZYU4KowVweDgGAESexXLGUAhPZXV0OSi8 sxTdfzS8Y77aRvrN1YIQZr8KdiQJ7fP6q3B5qgKsj5ux+X2STcOSN029A9axS84EIVvF vuhtkQGHV8R0OBylxTAYFi9a2SFIr2iPVmfw74NF7ymPfDRlCL6y1wY1jx38W70KX1CS BtcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531964; x=1744136764; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=P9osYdTmGwp/3DEg7I+o5/Yh8Bly4Esp6cRQqIII8fg=; b=V+c/rDVfXdfa7CUNZ1rr5ppjSDd+sXkx4tkW5RxzOLDdkMicHoA708aniUc8MQ2h3U GoC2ieo3MMdnui0iQ2oEPWH1+CeML42Kei0/dcq+4clorszPvbllbOMV7efR7zsYnDw9 r75p2fuBgCn8fybQ1d2ZHWJhVnHlXHPVoxdwGp/HGTLpJSdVKU4wvi5SfpJfowKjyPl1 A13OmPZPsszEyXhCtawr+ApmTiU59a0bhdRpFYgtrjATAdZmxai6O1EbgfK9l7e0LQMu DLfF6q+O/hrCMiOYD2VlxOC4apv5zpW4RJypz8mMUjzAgfARf/CfMxw+1NpZYn70o4m5 Cu3w== X-Forwarded-Encrypted: i=1; AJvYcCWUAXlG5PV/3LHElY4LtO21ZTmH9KiUN57vwsGkmnlhLThVFz0tDP5WDObpxZEHGLx1WQ2FSadtOPEPU1U=@vger.kernel.org X-Gm-Message-State: AOJu0YzyLx21okZY8BCVBErwy5YrNbFaVQns4vsVuvUoEY7GTUvxCSGj hKZgtqiGVF0jh80mrNKu7RwTwTGp8zHucRvqnofOwRxRCRj2bh4FdTb3exsXRAtfK7EWFaoN/RL D4COECg== X-Google-Smtp-Source: AGHT+IEC0XntAVPhP46YCuSQR8aucy2yFpAV1NdYsaqT4OqN5P4FGt9h/5E8WgDvwC6hNZc/JS/GJoayAtne X-Received: from plgl19.prod.google.com ([2002:a17:902:f693:b0:226:3efa:da86]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:903:2308:b0:223:5ca8:5ecb with SMTP id d9443c01a7336-2292f9f2b5cmr222952555ad.42.1743531963640; Tue, 01 Apr 2025 11:26:03 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:41 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-44-irogers@google.com> Subject: [PATCH v1 43/48] perf daemon: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/builtin-daemon.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/perf/builtin-daemon.c b/tools/perf/builtin-daemon.c index f0568431fbd5..640ba8191083 100644 --- a/tools/perf/builtin-daemon.c +++ b/tools/perf/builtin-daemon.c @@ -514,7 +514,8 @@ static int daemon_session__control(struct daemon_sessio= n *session, struct pollfd pollfd =3D { .events =3D POLLIN, }; char control_path[PATH_MAX]; char ack_path[PATH_MAX]; - int control, ack =3D -1, len; + int control, ack =3D -1; + size_t len; char buf[20]; int ret =3D -1; ssize_t err; @@ -543,7 +544,7 @@ static int daemon_session__control(struct daemon_sessio= n *session, len =3D strlen(msg); =20 err =3D writen(control, msg, len); - if (err !=3D len) { + if (err !=3D (ssize_t)len) { pr_err("failed: write to control pipe: %d (%s)\n", errno, control_path); goto out; --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (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 1D2EB21A446 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:26:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531968; cv=none; b=IBZurXSsl1MPJxkunISIKr1BJ0+tzCvWwnhw0lIBUyyQ3vr5uVXbHAmlds5+R6TKbDyiMy/y0x8ZuHcRC6dabCqBuB63AT8bAkBKgBiV8ZtdzMdzU1y+jbiF8ih/s6rnErVBRSykGq4DrVtIZoK/RnZ3A6GQwro+ZWNAUpyaq1M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531968; c=relaxed/simple; bh=VYAhgSHR8CjW8YATc0oZ3XPUiaGVjv/5MYlkyFYu2lI=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=jSGhwZbq6a16OG5e0SA5u3beiMsMx+HisbrIHh6CbNOCwKIpHk74PUmuU2HbCpbNGCTMPq8g3bmS+2HlRL+WbJYzuQyuW9fxabJE+oJYY+eXvMpTTgq3jYms8iZq7/kif2/iKlWICXWFpKu5hTIyy1GAppEpTputuGjpk0j1tcA= 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=yNsK088E; arc=none smtp.client-ip=209.85.216.73 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="yNsK088E" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-30566e34290so1226104a91.3 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:26:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531966; x=1744136766; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=3GhpEMZc+Go5hXkRH+5nn2InkEe+78BeHi9RfDz0OEg=; b=yNsK088EKqqT5DybR6+96tfxYTjYd+kg3GsYH4iRO66jQYzz9moDQss1mYH5f7xbhj 8COoRraqrwBAeRMmwkAG58TaN/mIiKGvw5ldZG8RfPsfTFiZTHu8w0MsS13qt4UR+VeZ LJkOPH6gkT7ahKPSEdYibxM0Jzc5xjfVOvATp6H6UBTK8xNoOB7U654twqBmUtsBb4uB ocf+B2uy3SfNI/SSIp0QpAQ5w8q63JCpTe5mJ/JlgaMP/vb8CqG1IDRC5GN1rSLaTiWI mYj7nY5m6CscEQUHjatr+JjA8FdmdC+zlr5a4p5NRacZt9rOMCB288pOPHXfNLf9zrB6 Ywhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531966; x=1744136766; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=3GhpEMZc+Go5hXkRH+5nn2InkEe+78BeHi9RfDz0OEg=; b=LO/n4psH3N+jrDLx8J8UcWywlgvToNZnmlYxNhsARC6gOhml2fm4pCIrlns3DdKLKY 9dB0O5OAzokahE6CUKuXJy5sltjeEr+aolv8twj6siLTvZtLJVvg0uXaY/A+oQIuy+Ig Kt+IE6QhPMWvmG1+HLm8ytjPwLdVDZeP66OoD6zwqJdzz61VMa3w5szEzNHxoHsP0kHX bKqVR4NOaTeOTIHDlc/r7JrnfWlEcUrnSOIJW5bA48B765pZ4YNfabFN+cNtXYU9yxKb 4vDBduMiLxNo+IW9NNcfV7TZ59z9sW9PkS26Y9eFI9iOB6pQ6z3+/EGkd1Jxo/pksVM5 ZUyg== X-Forwarded-Encrypted: i=1; AJvYcCVzSRD0utLpD/WdOKHcARF7yCawGZG1KgSAT6mbImRUpnfymgXF/fiBkIJkdRir42Xsh9KUFcFhyF4p9/Q=@vger.kernel.org X-Gm-Message-State: AOJu0Yyh+FzehjSK0haTURatMxfRxGSVQb9PdJ2BPKljU0lucZR9h0nT fILKWQ52vVBw6ljtc9SkOAwFZ+101Kn0n94Ebj3t+oud8rQrlNK52UglYmO5z8D+dYipKqmfA6I K7BqMqw== X-Google-Smtp-Source: AGHT+IH28uehI5+J49TPsEd9NihvXOguO0Bih1z8y7KT4XeqjB74B1qbmMSKwRKZHS/+SGf0DQUxAQTZmWKE X-Received: from pjbqn13.prod.google.com ([2002:a17:90b:3d4d:b0:2e9:38ea:ca0f]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:53d0:b0:2ee:8430:b831 with SMTP id 98e67ed59e1d1-30531f715eamr22653376a91.2.1743531966013; Tue, 01 Apr 2025 11:26:06 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:42 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-45-irogers@google.com> Subject: [PATCH v1 44/48] perf zlib: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/util/zlib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/util/zlib.c b/tools/perf/util/zlib.c index 78d2297c1b67..d30597701fd1 100644 --- a/tools/perf/util/zlib.c +++ b/tools/perf/util/zlib.c @@ -44,7 +44,7 @@ int gzip_decompress_to_file(const char *input, int output= _fd) goto out_unmap; =20 zs.next_in =3D ptr; - zs.avail_in =3D stbuf.st_size; + zs.avail_in =3D (uInt)stbuf.st_size; =20 do { zs.next_out =3D buf; --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-ot1-f74.google.com (mail-ot1-f74.google.com [209.85.210.74]) (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 E432F2288FB for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:26:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531971; cv=none; b=JrrnKpEJ09L5XSYd0gUBdem79oeMzprPzMFFUTtWGDPYWJ5tuRDR9BvDVHK51DrIGVWIOQGhQcvl8juz7JFkyrF59yohMG5rzzHr0uwTgVAutNIuugTibyUR4SmV5P5ZKkCefwvB9i93UPiZjwkmryGAe+xhWpybtEYOsIectQo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531971; c=relaxed/simple; bh=loSeINwlbc6XnjqNUnme9Ii2wesULU3u9gelnKxDOWo=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=RnhaVD1jqvXOE2PPwRz1XCWwizuC1DP77UCmQyuZGdAI8ey/dHXspXHegCsC9Q4+DoQ1RBUIJP7BE6p4KU1X2ZsXwd5d4Q6jsRhgNVPPF+N7/3y7Ujv9y3LGOzCIC4c0HQsVyYeSvL0AI/CSNiY4GGvPkX6xqObOXVQon77vrRI= 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=R5Q1a0IW; arc=none smtp.client-ip=209.85.210.74 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="R5Q1a0IW" Received: by mail-ot1-f74.google.com with SMTP id 46e09a7af769-72bd7984706so310602a34.1 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:26:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531968; x=1744136768; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=iXDN2IiTwXgBiyK9J/TipFHWdZHNwXGG7JKhdVlTKrc=; b=R5Q1a0IWGzWlzo1JrDWeQpmAxwp3pvpMSCmVoqBOjPORBBD/6971t7w+R7QUnfPrbC AZfBS8j8Dsp8Zf6wMOZNxeN3kyfqph9rTUDss1DVv4QZqRoAkQxoy04NzCSh8tE+iC+s fa4M4YTEqzy+tkmQk4C1pZ6pdvIzhdjO07iByhHK14VreN7XVMFLZFhEw0qpxS4o7IL1 nQwESGL/w+oXvvdf++hSwmYwodPUtWgIFTmP/k6p7cSDzSWcQrDrXs4Icj1sXi+mlpPV M2AuA2xNyZ5T00r7H3iqXyhWWLgkGVRRigRQfDKhAgqn+sBZicJR/aDpFk5L8T53Kbu7 dw8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531968; x=1744136768; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=iXDN2IiTwXgBiyK9J/TipFHWdZHNwXGG7JKhdVlTKrc=; b=XCXp/7dPwrZV57GLFnOQwV7UnHZJzyN/w+YuShotNoCV94LylSylLqXdYG/HDZw1tA nP3aFs0v0xKd5QdVN+4iYp+3m3mRksuYHfkBrnO4h5DjI2z+50fusQv/aU3UTgtrLsPi 7A/w5nMfbPHJHlVAWFE4DVSc0UUGZics7i63dFziijm3OO0jyPQipTYiIIJJfvMW0DDv 3zmJBxGOUlVl6EwIZhs2YQXZsWZ2vY7w9yGcGVCuqimOXxpc1enPtlh2D+E9JrErquvi HboVcgP7mhwVHzhZ9Ybr2cRACYsmEXRocAQO5pf7EDZRIOSN0K9VM4jSyRxfarofuD0Q rKnA== X-Forwarded-Encrypted: i=1; AJvYcCUit08g1XF2FdlGeftU5EF1snWRZhtGFv1bFeT8R/nxsUsQqd9qxbI/Fk2jEoTObL9n+vOYLzkbCDvTBAE=@vger.kernel.org X-Gm-Message-State: AOJu0YxyLWE/voaLGxzwDQAxXDVKRfb0ykF68XmSffK1sDKBUeg6ga2a 5pp8jMoMdiS/pPxNN7rQMWkcB7GTa41eojN8mxao3WBkXd60o72rmlZTGBsgSjrjo9gHiqzoh4z ap/6+nQ== X-Google-Smtp-Source: AGHT+IHUffenbdrxtR2eLoeeVEpZywaWbKXEVYkXtogEfzNSPRpDS6P26p637BPNcEuYtvO3lbjegNy1msNO X-Received: from oabhi26.prod.google.com ([2002:a05:6870:c99a:b0:2c1:5c70:acac]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6830:2808:b0:72a:f44b:13ed with SMTP id 46e09a7af769-72c637771c3mr8057489a34.2.1743531968061; Tue, 01 Apr 2025 11:26:08 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:43 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-46-irogers@google.com> Subject: [PATCH v1 45/48] perf symbol: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/util/symbol-elf.c | 33 +++++++++++++++++---------------- tools/perf/util/symbol.c | 10 +++++----- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c index fbf6d0f73af9..9de6e963ca79 100644 --- a/tools/perf/util/symbol-elf.c +++ b/tools/perf/util/symbol-elf.c @@ -261,7 +261,7 @@ static int elf_read_program_header(Elf *elf, u64 vaddr,= GElf_Phdr *phdr) return -1; =20 for (i =3D 0; i < phdrnum; i++) { - if (gelf_getphdr(elf, i, phdr) =3D=3D NULL) + if (gelf_getphdr(elf, (int)i, phdr) =3D=3D NULL) return -1; =20 if (phdr->p_type !=3D PT_LOAD) @@ -550,7 +550,7 @@ static void get_rela_dyn_info(Elf *elf, GElf_Ehdr *ehdr= , struct rela_dyn_info *d if (!scn || !rela_dyn_shdr.sh_link || !rela_dyn_shdr.sh_entsize) return; =20 - di->nr_entries =3D rela_dyn_shdr.sh_size / rela_dyn_shdr.sh_entsize; + di->nr_entries =3D (u32)(rela_dyn_shdr.sh_size / rela_dyn_shdr.sh_entsize= ); di->rela_dyn_data =3D elf_getdata(scn, NULL); =20 scn =3D elf_getscn(elf, rela_dyn_shdr.sh_link); @@ -789,7 +789,7 @@ int dso__synthesize_plt_symbols(struct dso *dso, struct= symsrc *ss) if (symstrs->d_size =3D=3D 0) goto out_elf_end; =20 - ri.nr_entries =3D shdr_rel_plt.sh_size / shdr_rel_plt.sh_entsize; + ri.nr_entries =3D (u32)(shdr_rel_plt.sh_size / shdr_rel_plt.sh_entsize); =20 ri.is_rela =3D shdr_rel_plt.sh_type =3D=3D SHT_RELA; =20 @@ -925,7 +925,7 @@ static int elf_read_build_id(Elf *elf, void *bf, size_t= size) size_t sz =3D min(size, descsz); memcpy(bf, ptr, sz); memset(bf + sz, 0, size - sz); - err =3D sz; + err =3D (int)sz; break; } } @@ -1066,14 +1066,14 @@ int sysfs__read_build_id(const char *filename, stru= ct build_id *bid) } else if (read(fd, bf, descsz) !=3D (ssize_t)descsz) break; } else { - int n =3D namesz + descsz; + size_t n =3D namesz + descsz; =20 - if (n > (int)sizeof(bf)) { + if (n > sizeof(bf)) { n =3D sizeof(bf); pr_debug("%s: truncating reading of build id in sysfs file %s: n_names= z=3D%u, n_descsz=3D%u.\n", __func__, filename, nhdr.n_namesz, nhdr.n_descsz); } - if (read(fd, bf, n) !=3D n) + if (read(fd, bf, n) !=3D (ssize_t)n) break; } } @@ -1426,7 +1426,7 @@ static u64 max_text_section(Elf *elf, GElf_Ehdr *ehdr) if (!gelf_getshdr(sec, &shdr)) break; =20 - if (!is_exe_text(shdr.sh_flags)) + if (!is_exe_text((int)shdr.sh_flags)) continue; =20 /* .init and .exit sections are not placed with .text */ @@ -1546,7 +1546,7 @@ static int dso__process_kernel_symbol(struct dso *dso= , struct map *map, * perf does not record module section addresses except for .text, but * some sections can use the same mapping as .text. */ - if (kmodule && adjust_kernel_syms && is_exe_text(shdr->sh_flags) && + if (kmodule && adjust_kernel_syms && is_exe_text((int)shdr->sh_flags) && shdr->sh_offset <=3D max_text_sh_offset) { dso__put(*curr_dsop); *curr_dsop =3D dso__get(dso); @@ -1672,7 +1672,7 @@ dso__load_sym_internal(struct dso *dso, struct map *m= ap, struct symsrc *syms_ss, if (secstrs_sym =3D=3D NULL) goto out_elf_end; =20 - nr_syms =3D shdr.sh_size / shdr.sh_entsize; + nr_syms =3D (uint32_t)(shdr.sh_size / shdr.sh_entsize); =20 memset(&sym, 0, sizeof(sym)); =20 @@ -1734,7 +1734,7 @@ dso__load_sym_internal(struct dso *dso, struct map *m= ap, struct symsrc *syms_ss, } =20 if (runtime_ss->opdsec && sym.st_shndx =3D=3D runtime_ss->opdidx) { - u32 offset =3D sym.st_value - syms_ss->opdshdr.sh_addr; + u32 offset =3D (u32)(sym.st_value - syms_ss->opdshdr.sh_addr); u64 *opd =3D opddata->d_buf + offset; sym.st_value =3D DSO__SWAP(dso, u64, *opd); sym.st_shndx =3D elf_addr_to_index(runtime_ss->elf, @@ -1946,7 +1946,7 @@ static int elf_read_maps(Elf *elf, bool exe, mapfn_t = mapfn, void *data) return -1; =20 for (i =3D 0; i < phdrnum; i++) { - if (gelf_getphdr(elf, i, &phdr) =3D=3D NULL) + if (gelf_getphdr(elf, (int)i, &phdr) =3D=3D NULL) return -1; if (phdr.p_type !=3D PT_LOAD) continue; @@ -2767,14 +2767,15 @@ static void sdt_adjust_loc(struct sdt_note *tmp, GE= lf_Addr base_off) if (!base_off) return; =20 - if (tmp->bit32) + if (tmp->bit32) { tmp->addr.a32[SDT_NOTE_IDX_LOC] =3D - tmp->addr.a32[SDT_NOTE_IDX_LOC] + base_off - - tmp->addr.a32[SDT_NOTE_IDX_BASE]; - else + (Elf32_Addr)(tmp->addr.a32[SDT_NOTE_IDX_LOC] + base_off - + tmp->addr.a32[SDT_NOTE_IDX_BASE]); + } else { tmp->addr.a64[SDT_NOTE_IDX_LOC] =3D tmp->addr.a64[SDT_NOTE_IDX_LOC] + base_off - tmp->addr.a64[SDT_NOTE_IDX_BASE]; + } } =20 static void sdt_adjust_refctr(struct sdt_note *tmp, GElf_Addr base_addr, diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c index 11540219481b..7eceb6679ed5 100644 --- a/tools/perf/util/symbol.c +++ b/tools/perf/util/symbol.c @@ -111,7 +111,7 @@ static int prefix_underscores_count(const char *str) while (*tail =3D=3D '_') tail++; =20 - return tail - str; + return (int)(tail - str); } =20 const char * __weak arch__normalize_symbol_name(const char *name) @@ -481,10 +481,10 @@ int symbol__match_symbol_name(const char *name, const= char *str, =20 if (includes =3D=3D SYMBOL_TAG_INCLUDE__DEFAULT_ONLY && (versioning =3D strstr(name, "@@"))) { - int len =3D strlen(str); + int len =3D (int)strlen(str); =20 if (len < versioning - name) - len =3D versioning - name; + len =3D (int)(versioning - name); =20 return arch__compare_symbol_names_n(name, str, len); } else @@ -638,7 +638,7 @@ void dso__sort_by_name(struct dso *dso) * While we find nice hex chars, build a long_val. * Return number of chars processed. */ -static int hex2u64(const char *ptr, u64 *long_val) +static size_t hex2u64(const char *ptr, u64 *long_val) { char *p; =20 @@ -1532,7 +1532,7 @@ static int dso__load_perf_map(const char *map_path, s= truct dso *dso) while (!feof(file)) { u64 start, size; struct symbol *sym; - int line_len, len; + size_t line_len, len; =20 line_len =3D getline(&line, &n, file); if (line_len < 0) --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201]) (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 B2BC3228CBC for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:26:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531972; cv=none; b=NtfPl95oZKsj7VuCFDL0gP+/jGLro6frHXWYuceBglGXixGA+egBv93FGaizS6auxjJouqS8Y7Q+1b3ukmddmAbCAMBnZhdGAfZ9eLfwIG0I0bh+Gg8tUl0mX6D1GQv881zkVNVYbx2ow3BYXlKglPuWEqENdUhKIK5w/i1ZypA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531972; c=relaxed/simple; bh=s717chdg+kUkOKWgech/40orJr8HpUqoe1xLZ+drgUo=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=B9oE8k5dv6cKKHrpYRhSWNdWFmHYbgYYzLe/kOqdA6d+vZowOB614rnYd728LtbfoTGq7Wab9d65BE2jqjp26Hz5mW3CK9gu+Lq1V0sPZNFg/ryZRTXafKgUiFqewiXvFyDtkl8mRA6AE0wGCb4tjxWx5uYDFQuHEKVvH/NlxaY= 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=YqVaU0O5; arc=none smtp.client-ip=209.85.214.201 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="YqVaU0O5" Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-22651aca434so110672625ad.1 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:26:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531970; x=1744136770; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=Uf82K12GlQ/n7riesGFWT8XnJRxl30Twhf4yK1Xn0q4=; b=YqVaU0O5yaEbd2b5vN388AxmKocEzGjzAzoIkdTud1rvkhj4NW8NnSSFgTu17heGf+ Xx1lKiWMy+7DYbtOh+ElETSylpWxHzb1cJHHgw+5Eerg2TC3cuNmcFptbnEicf8xFLq8 OFD0JRTrxpPSTpXHrLWIkCcbVlT3XlB7XpOLge/05AQ2okcu+gIIx1fQNwTIuZyqbw1k nvY/9s6oxoH2n7/8Up6svz3r1kOQ3os0A5SGIpBQ+z10nc6G2xIgvxi7ufNCW63Kwr/E xFBxj3GxVc3z1FmGefaUfjOdd6TyVhl7FTmhNgTSAe5XtSwxmleRymHcwSjEVaTKSBPZ P4AA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531970; x=1744136770; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Uf82K12GlQ/n7riesGFWT8XnJRxl30Twhf4yK1Xn0q4=; b=taL6e5vGh5WfkVCDxWlpaVEdGe8hcLcWAQjf9/MG6DBI8Y5+O9IK6VihjlmmPrYPnH MX7LC2VBMek9u17R4xXGGSN9TlmB0L1RV8ZDH8aGioOFSISWRoakS6nOV2fXsow8V6hv 8ih635j20uEk74TEKZzVcrZpKdZzwmAitGyGDAFAFQq4so1PQja3ns0mHbbaf18AzHcz H1Jh7KTOk3QRGbtFNJKP74RqgrU1Fb/h5Tk/OmkAVlORC94V0JzK5F16eAw9sNvFQHmz aJ/DUoiTJKrgOWtXbCaEHw2xpM1AhDdPrLHvJ9lm2NEjzyFWkdCxu/fwkxFfF3PXVUPk g6BA== X-Forwarded-Encrypted: i=1; AJvYcCWtBwfDDdR9UqSoV6BZ3C+znewU1HPlQq7M1cMK90KXq07vdMOR7cZGyJM+mu66SfTLzvSrlAnWBNuwgjc=@vger.kernel.org X-Gm-Message-State: AOJu0Yza3ScCR28IJ21IANhSyrBH84MpwDRvxuNMtn+wStjT8wccve/6 9LiISM85/tEu3WsT7QL1AIHWwlFwtrJT6S+vx4MzGCmfpuqPg/EJL7NYdV75dPk/a0ux7jIXOtL XqePOcw== X-Google-Smtp-Source: AGHT+IER4xC3pb/cBZi0Xgwt4i8RZtO+p4l4gcTF5gsnxGo5ob1iymplbCkmr8xH6eC77SkY7Tl6nBneD8IY X-Received: from plcn5.prod.google.com ([2002:a17:902:d2c5:b0:223:8244:94f6]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:f64e:b0:223:669f:ca2d with SMTP id d9443c01a7336-2292f9d67e9mr257670695ad.35.1743531969969; Tue, 01 Apr 2025 11:26:09 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:44 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-47-irogers@google.com> Subject: [PATCH v1 46/48] perf util: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/perf-sys.h | 3 +-- tools/perf/util/cacheline.c | 5 ++++- tools/perf/util/cgroup.c | 4 ++-- tools/perf/util/comm.c | 2 +- tools/perf/util/config.c | 6 +++--- tools/perf/util/cpumap.c | 4 ++-- tools/perf/util/debug.c | 7 +++---- tools/perf/util/memswap.c | 4 ++-- tools/perf/util/memswap.h | 4 ++-- tools/perf/util/strfilter.c | 2 +- tools/perf/util/string.c | 11 ++++++----- tools/perf/util/svghelper.c | 23 ++++++++++++----------- tools/perf/util/time-utils.c | 9 +++++---- tools/perf/util/util.c | 9 +++++---- tools/perf/util/util.h | 2 +- 15 files changed, 50 insertions(+), 45 deletions(-) diff --git a/tools/perf/perf-sys.h b/tools/perf/perf-sys.h index 7a2264e1e4e1..89e44798ed2b 100644 --- a/tools/perf/perf-sys.h +++ b/tools/perf/perf-sys.h @@ -14,8 +14,7 @@ sys_perf_event_open(struct perf_event_attr *attr, pid_t pid, int cpu, int group_fd, unsigned long flags) { - return syscall(__NR_perf_event_open, attr, pid, cpu, - group_fd, flags); + return (int)syscall(__NR_perf_event_open, attr, pid, cpu, group_fd, flags= ); } =20 #endif /* _PERF_SYS_H */ diff --git a/tools/perf/util/cacheline.c b/tools/perf/util/cacheline.c index e98b5250a517..6d4505aeaa5f 100644 --- a/tools/perf/util/cacheline.c +++ b/tools/perf/util/cacheline.c @@ -3,7 +3,10 @@ #include <unistd.h> =20 #ifdef _SC_LEVEL1_DCACHE_LINESIZE -#define cache_line_size(cacheline_sizep) *cacheline_sizep =3D sysconf(_SC_= LEVEL1_DCACHE_LINESIZE) +static void cache_line_size(int *cacheline_sizep) +{ + *cacheline_sizep =3D (int)sysconf(_SC_LEVEL1_DCACHE_LINESIZE); +} #else #include <api/fs/fs.h> #include "debug.h" diff --git a/tools/perf/util/cgroup.c b/tools/perf/util/cgroup.c index fbcc0626f9ce..30c7f60048b7 100644 --- a/tools/perf/util/cgroup.c +++ b/tools/perf/util/cgroup.c @@ -310,7 +310,7 @@ static int match_cgroups(const char *str) return -1; =20 /* cgroup_name will have a full path, skip the root directory */ - prefix_len =3D strlen(mnt); + prefix_len =3D (int)strlen(mnt); =20 /* collect all cgroups in the cgroup_list */ if (nftw(mnt, add_cgroup_name, 20, 0) < 0) @@ -607,7 +607,7 @@ void read_all_cgroups(struct rb_root *root) { char mnt[PATH_MAX]; struct cgroup_name *cn; - int prefix_len; + size_t prefix_len; =20 if (cgroupfs_find_mountpoint(mnt, sizeof(mnt), "perf_event")) return; diff --git a/tools/perf/util/comm.c b/tools/perf/util/comm.c index 8aa456d7c2cd..3d8f30ddcac1 100644 --- a/tools/perf/util/comm.c +++ b/tools/perf/util/comm.c @@ -111,7 +111,7 @@ static void comm_strs__remove_if_last(struct comm_str *= cs) entry =3D bsearch(comm_str__str(cs), comm_strs->strs, comm_strs->num_str= s, sizeof(struct comm_str *), comm_str__search); comm_str__put(*entry); - for (int i =3D entry - comm_strs->strs; i < comm_strs->num_strs - 1; i++) + for (long i =3D entry - comm_strs->strs; i < comm_strs->num_strs - 1; i+= +) comm_strs->strs[i] =3D comm_strs->strs[i + 1]; comm_strs->num_strs--; } diff --git a/tools/perf/util/config.c b/tools/perf/util/config.c index ae72b66b6ded..5fd20776e6bb 100644 --- a/tools/perf/util/config.c +++ b/tools/perf/util/config.c @@ -388,7 +388,7 @@ int perf_config_int(int *dest, const char *name, const = char *value) bad_config(name); return -1; } - *dest =3D ret; + *dest =3D (int)ret; return 0; } =20 @@ -454,10 +454,10 @@ static int perf_buildid_config(const char *var, const= char *value) static int perf_default_core_config(const char *var, const char *value) { if (!strcmp(var, "core.proc-map-timeout")) - proc_map_timeout =3D strtoul(value, NULL, 10); + proc_map_timeout =3D (int)strtoul(value, NULL, 10); =20 if (!strcmp(var, "core.addr2line-timeout")) - addr2line_timeout_ms =3D strtoul(value, NULL, 10); + addr2line_timeout_ms =3D (int)strtoul(value, NULL, 10); =20 /* Add other config variables here. */ return 0; diff --git a/tools/perf/util/cpumap.c b/tools/perf/util/cpumap.c index 89570397a4b3..7a8bf6843362 100644 --- a/tools/perf/util/cpumap.c +++ b/tools/perf/util/cpumap.c @@ -107,14 +107,14 @@ static struct perf_cpu_map *cpu_map__from_mask(const = struct perf_record_cpu_map_ =20 for (int i =3D 0, j =3D 0; i < mask_nr; i++) { int cpus_per_i =3D (i * data->mask32_data.long_size * BITS_PER_BYTE); - int cpu; + size_t cpu; =20 perf_record_cpu_map_data__read_one_mask(data, i, local_copy); for_each_set_bit(cpu, local_copy, 64) { if (cpu + cpus_per_i < INT16_MAX) { RC_CHK_ACCESS(map)->map[j++].cpu =3D cpu + cpus_per_i; } else { - pr_err("Invalid cpumap entry %d\n", cpu + cpus_per_i); + pr_err("Invalid cpumap entry %zu\n", cpu + cpus_per_i); perf_cpu_map__put(map); return NULL; } diff --git a/tools/perf/util/debug.c b/tools/perf/util/debug.c index f9ef7d045c92..3027477652b6 100644 --- a/tools/perf/util/debug.c +++ b/tools/perf/util/debug.c @@ -303,13 +303,12 @@ void perf_debug_setup(void) void dump_stack(void) { void *array[16]; - size_t size =3D backtrace(array, ARRAY_SIZE(array)); + int size =3D backtrace(array, ARRAY_SIZE(array)); char **strings =3D backtrace_symbols(array, size); - size_t i; =20 - printf("Obtained %zd stack frames.\n", size); + printf("Obtained %d stack frames.\n", size); =20 - for (i =3D 0; i < size; i++) + for (int i =3D 0; i < size; i++) printf("%s\n", strings[i]); =20 free(strings); diff --git a/tools/perf/util/memswap.c b/tools/perf/util/memswap.c index c1317e4983bc..68f9b3f72812 100644 --- a/tools/perf/util/memswap.c +++ b/tools/perf/util/memswap.c @@ -3,7 +3,7 @@ #include "memswap.h" #include <linux/types.h> =20 -void mem_bswap_32(void *src, int byte_size) +void mem_bswap_32(void *src, size_t byte_size) { u32 *m =3D src; while (byte_size > 0) { @@ -13,7 +13,7 @@ void mem_bswap_32(void *src, int byte_size) } } =20 -void mem_bswap_64(void *src, int byte_size) +void mem_bswap_64(void *src, size_t byte_size) { u64 *m =3D src; =20 diff --git a/tools/perf/util/memswap.h b/tools/perf/util/memswap.h index 2c38e8c2d548..956de6b014f8 100644 --- a/tools/perf/util/memswap.h +++ b/tools/perf/util/memswap.h @@ -9,7 +9,7 @@ union u64_swap { u32 val32[2]; }; =20 -void mem_bswap_64(void *src, int byte_size); -void mem_bswap_32(void *src, int byte_size); +void mem_bswap_64(void *src, size_t byte_size); +void mem_bswap_32(void *src, size_t byte_size); =20 #endif /* PERF_MEMSWAP_H_ */ diff --git a/tools/perf/util/strfilter.c b/tools/perf/util/strfilter.c index 02807b9d4122..d09523712138 100644 --- a/tools/perf/util/strfilter.c +++ b/tools/perf/util/strfilter.c @@ -287,7 +287,7 @@ static int strfilter_node__sprint(struct strfilter_node= *node, char *buf) len +=3D rlen; break; default: - len =3D strlen(node->p); + len =3D (int)strlen(node->p); if (buf) strcpy(buf, node->p); } diff --git a/tools/perf/util/string.c b/tools/perf/util/string.c index c0e927bbadf6..cfc8f4d07abb 100644 --- a/tools/perf/util/string.c +++ b/tools/perf/util/string.c @@ -199,8 +199,9 @@ bool strlazymatch(const char *str, const char *pat) */ int strtailcmp(const char *s1, const char *s2) { - int i1 =3D strlen(s1); - int i2 =3D strlen(s2); + size_t i1 =3D strlen(s1); + size_t i2 =3D strlen(s2); + while (--i1 >=3D 0 && --i2 >=3D 0) { if (s1[i1] !=3D s2[i2]) return s1[i1] - s2[i2]; @@ -331,7 +332,7 @@ char *strdup_esc(const char *str) } =20 /* Remove backslash right before quote and return next quote address. */ -static char *remove_consumed_esc(char *str, int len, int quote) +static char *remove_consumed_esc(char *str, size_t len, int quote) { char *ptr =3D str, *end =3D str + len; =20 @@ -373,7 +374,7 @@ char *strdup_esq(const char *str) if (*d =3D=3D '"' || *d =3D=3D '\'') { /* This is non-escaped quote */ int quote =3D *d; - int len =3D strlen(d + 1) + 1; + size_t len =3D strlen(d + 1) + 1; =20 /* * Remove the start quote and remove consumed escape (backslash @@ -420,7 +421,7 @@ unsigned int hex(char c) */ char *strreplace_chars(char needle, const char *haystack, const char *repl= ace) { - int replace_len =3D strlen(replace); + size_t replace_len =3D strlen(replace); char *new_s, *to; const char *loc =3D strchr(haystack, needle); const char *from =3D haystack; diff --git a/tools/perf/util/svghelper.c b/tools/perf/util/svghelper.c index b1d259f590e9..487860f557ac 100644 --- a/tools/perf/util/svghelper.c +++ b/tools/perf/util/svghelper.c @@ -100,7 +100,7 @@ void open_svg(const char *filename, int cpus, int rows,= u64 start, u64 end) * if the recording is short, we default to a width of 1000, but * for longer recordings we want at least 200 units of width per second */ - new_width =3D (last_time - first_time) / 5000000; + new_width =3D (int)((last_time - first_time) / 5000000); =20 if (new_width > svg_page_width) svg_page_width =3D new_width; @@ -344,7 +344,8 @@ static char *cpu_model(void) file =3D fopen("/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_fr= equencies", "r"); if (file) { while (fgets(buf, 255, file)) { - unsigned int freq; + unsigned long long freq; + freq =3D strtoull(buf, NULL, 10); if (freq > max_freq) max_freq =3D freq; @@ -698,12 +699,11 @@ struct topology { }; =20 static void scan_thread_topology(int *map, struct topology *t, int cpu, - int *pos, int nr_cpus) + int *pos, size_t nr_cpus) { - int i; - int thr; + for (int i =3D 0; i < t->sib_thr_nr; i++) { + size_t thr; =20 - for (i =3D 0; i < t->sib_thr_nr; i++) { if (!test_bit(cpu, cpumask_bits(&t->sib_thr[i]))) continue; =20 @@ -713,15 +713,16 @@ static void scan_thread_topology(int *map, struct top= ology *t, int cpu, } } =20 -static void scan_core_topology(int *map, struct topology *t, int nr_cpus) +static void scan_core_topology(int *map, struct topology *t, size_t nr_cpu= s) { int pos =3D 0; - int i; - int cpu; =20 - for (i =3D 0; i < t->sib_core_nr; i++) + for (int i =3D 0; i < t->sib_core_nr; i++) { + size_t cpu; + for_each_set_bit(cpu, cpumask_bits(&t->sib_core[i]), nr_cpus) - scan_thread_topology(map, t, cpu, &pos, nr_cpus); + scan_thread_topology(map, t, (int)cpu, &pos, nr_cpus); + } } =20 static int str_to_bitmap(char *s, cpumask_t *b, int nr_cpus) diff --git a/tools/perf/util/time-utils.c b/tools/perf/util/time-utils.c index 1b91ccd4d523..8579c2800ceb 100644 --- a/tools/perf/util/time-utils.c +++ b/tools/perf/util/time-utils.c @@ -25,7 +25,6 @@ int parse_nsec_time(const char *str, u64 *ptime) return -1; =20 if (*end =3D=3D '.') { - int i; char nsec_buf[10]; =20 if (strlen(++end) > 9) @@ -35,7 +34,7 @@ int parse_nsec_time(const char *str, u64 *ptime) nsec_buf[9] =3D '\0'; =20 /* make it nsec precision */ - for (i =3D strlen(nsec_buf); i < 9; i++) + for (size_t i =3D strlen(nsec_buf); i < 9; i++) nsec_buf[i] =3D '0'; =20 time_nsec =3D strtoull(nsec_buf, &end, 10); @@ -284,7 +283,8 @@ static int percent_comma_split(struct perf_time_interva= l *ptime_buf, int num, time_pecent_split func) { char *str, *p1, *p2; - int len, ret, i =3D 0; + int ret, i =3D 0; + size_t len; =20 str =3D strdup(ostr); if (str =3D=3D NULL) @@ -328,7 +328,8 @@ static int one_percent_convert(struct perf_time_interva= l *ptime_buf, const char *ostr, u64 start, u64 end, char *c) { char *str; - int len =3D strlen(ostr), ret; + size_t len =3D strlen(ostr); + int ret; =20 /* * c points to '%'. diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c index 0f031eb80b4c..85bb8049ce65 100644 --- a/tools/perf/util/util.c +++ b/tools/perf/util/util.c @@ -360,7 +360,7 @@ int perf_tip(char **strp, const char *dirpath) if (strlist__nr_entries(tips) =3D=3D 0) goto out; =20 - node =3D strlist__entry(tips, random() % strlist__nr_entries(tips)); + node =3D strlist__entry(tips, (unsigned int)random() % strlist__nr_entrie= s(tips)); if (asprintf(strp, "Tip: %s", node->s) < 0) ret =3D -ENOMEM; =20 @@ -370,9 +370,10 @@ int perf_tip(char **strp, const char *dirpath) return ret; } =20 -char *perf_exe(char *buf, int len) +char *perf_exe(char *buf, size_t len) { - int n =3D readlink("/proc/self/exe", buf, len); + ssize_t n =3D readlink("/proc/self/exe", buf, len); + if (n > 0) { buf[n] =3D 0; return buf; @@ -409,7 +410,7 @@ char *filename_with_chroot(int pid, const char *filenam= e) char buf[PATH_MAX]; char proc_root[32]; char *new_name =3D NULL; - int ret; + ssize_t ret; =20 scnprintf(proc_root, sizeof(proc_root), "/proc/%d/root", pid); ret =3D readlink(proc_root, buf, sizeof(buf) - 1); diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h index 3423778e39a5..f0057d8410ff 100644 --- a/tools/perf/util/util.h +++ b/tools/perf/util/util.h @@ -64,7 +64,7 @@ extern bool perf_singlethreaded; void perf_set_singlethreaded(void); void perf_set_multithreaded(void); =20 -char *perf_exe(char *buf, int len); +char *perf_exe(char *buf, size_t len); =20 #ifndef O_CLOEXEC #ifdef __sparc__ --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pj1-f74.google.com (mail-pj1-f74.google.com [209.85.216.74]) (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 5CCC9229B18 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:26:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531975; cv=none; b=r6Ak8NfiWOTb7+G1RuroBUo1FANibr861XktgKMuCanwDG2C3FlxHR+FY5WxWa6H/dPcK/pKsDGQ/ThCF6lYEg3UQ4oELbExoXkpsoT/1mTOK+uzhie1mKC11Noq4wiLSTk2dppRGv8cf9+YB8ZQc3vAlIFZtu3wHNuG2/0vBLI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531975; c=relaxed/simple; bh=bRqcJNqdHpJ92JW9Ryv+Tum+BcxSVSmO0diBUAO4Zbk=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=lwK7rUfw7xJPYCSC5x5vFegIy1TiNyl2HRL0kgeiKDnFdT1rH/nNm2waMKLaxRTwpsVAtPbG3ZEIkQEWlUtIDJghSOnc/aVY20uQcVqSIn2LRcnqj2m53yawsZxLcNVgIN88Z0RxsiNauOzwWmtBgXDyDGjv4mZnx//HdXbTWfM= 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=L6eEkNwL; arc=none smtp.client-ip=209.85.216.74 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="L6eEkNwL" Received: by mail-pj1-f74.google.com with SMTP id 98e67ed59e1d1-3055f2e1486so4313833a91.0 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:26:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531972; x=1744136772; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=PSwN5ZhtSE4cdH17wQnS7beYUnk/E6AzAjOBdetWRXw=; b=L6eEkNwL7NmxnkYDv9cpBI+gDoZ3+L6GXmnOew3TaXcJB8VPfUfteQrSZR+SSKjuqT SREW1fhvW+CN8FWJq66WCBzgP1orfnhL+8AqC3Bi+a/gBCqZTVZvxcbV/2++mCR+CpXe n9y2aL7GCXAs2LzgR6bBXw8hmYObWI+2xHCSQxLdjl4emjRUgVKYCZxwXMxHLvdqnNG5 nbT0ks3pw39LmKFY6b34zBGTG4x84OuzuZZZPzbDNOSMUJUGB9XUsxGm5nE1JYJXgSfX pB51iZj4wRbkkC0HwPrKbfXGp/h2YOk09OW65o5miNoce+7U+oJUUsten2PJVbhkyLiM k4LQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531972; x=1744136772; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=PSwN5ZhtSE4cdH17wQnS7beYUnk/E6AzAjOBdetWRXw=; b=uUwV9j+Z66l/pPYzHxEOEquKpt/PCytMhvoq/UwAfqLXHiidWs/7zqKBreXvuk/A4g vtmLs8vWyrmzo40HgRnoC6cEHBjTZZ5lNNnf4pwzqqA4+G8BucN8K+xsCuQEz6OOYD3A onRlxxpepIGeORq1dh9nQSy+l9EN6TnCJTjzEFMbPtyHnegL70/q7ofEwz1ImsSBfOR7 YZVkhPk/7rf7Ab7njJwUEBrIwz0nGRX0Zr9DFWHNmiED+29tVRBClKZIlzXwSFEBXc7N k8wI3maEZDr4Vh2Jy1K9DxfTg3HkiHLBL+gXZ4bI1Na3Kh7D78sRxOW0JiAset4Ue3zK cEsg== X-Forwarded-Encrypted: i=1; AJvYcCVyYRob846UyPl25nOasIJTU6PMonAmS5U1Uyw6Os7OhD+heekREYeFi8Z1CkuoxjdHEEHF8+mJzPDSsEY=@vger.kernel.org X-Gm-Message-State: AOJu0YyGi+B3pRxEOnEK3DyxMIBNE5Ih0PgDqgSag9q+UIZR+vRcDHAZ 7pqDqm6DisRhYgp5ikBMgnaTqURJMhBoO9XfILZDG74MPl1VrykBqJ4GxFge8/R9trs1l0b25uZ NXiL8xg== X-Google-Smtp-Source: AGHT+IF6T2ulSDFK8OsLYwxcRIOMccUUICCNSn+TOjQB/3bOJGqM6yG07KKXmBXUDSyMBIijHO+1iE5Jy859 X-Received: from pjbsq15.prod.google.com ([2002:a17:90b:530f:b0:2ff:5344:b54]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:2dc2:b0:2f9:cf97:56a6 with SMTP id 98e67ed59e1d1-30531fa18b7mr25114861a91.14.1743531971624; Tue, 01 Apr 2025 11:26:11 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:45 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-48-irogers@google.com> Subject: [PATCH v1 47/48] perf hashmap: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/util/hashmap.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/perf/util/hashmap.c b/tools/perf/util/hashmap.c index 140ee4055676..f2719f522b84 100644 --- a/tools/perf/util/hashmap.c +++ b/tools/perf/util/hashmap.c @@ -115,7 +115,7 @@ static int hashmap_grow(struct hashmap *map) return -ENOMEM; =20 hashmap__for_each_entry_safe(map, cur, tmp, bkt) { - h =3D hash_bits(map->hash_fn(cur->key, map->ctx), new_cap_bits); + h =3D hash_bits(map->hash_fn(cur->key, map->ctx), (int)new_cap_bits); hashmap_add_entry(&new_buckets[h], cur); } =20 @@ -164,7 +164,7 @@ int hashmap_insert(struct hashmap *map, long key, long = value, if (old_value) *old_value =3D 0; =20 - h =3D hash_bits(map->hash_fn(key, map->ctx), map->cap_bits); + h =3D hash_bits(map->hash_fn(key, map->ctx), (int)map->cap_bits); if (strategy !=3D HASHMAP_APPEND && hashmap_find_entry(map, key, h, NULL, &entry)) { if (old_key) @@ -188,7 +188,7 @@ int hashmap_insert(struct hashmap *map, long key, long = value, err =3D hashmap_grow(map); if (err) return err; - h =3D hash_bits(map->hash_fn(key, map->ctx), map->cap_bits); + h =3D hash_bits(map->hash_fn(key, map->ctx), (int)map->cap_bits); } =20 entry =3D malloc(sizeof(struct hashmap_entry)); @@ -208,7 +208,7 @@ bool hashmap_find(const struct hashmap *map, long key, = long *value) struct hashmap_entry *entry; size_t h; =20 - h =3D hash_bits(map->hash_fn(key, map->ctx), map->cap_bits); + h =3D hash_bits(map->hash_fn(key, map->ctx), (int)map->cap_bits); if (!hashmap_find_entry(map, key, h, NULL, &entry)) return false; =20 @@ -223,7 +223,7 @@ bool hashmap_delete(struct hashmap *map, long key, struct hashmap_entry **pprev, *entry; size_t h; =20 - h =3D hash_bits(map->hash_fn(key, map->ctx), map->cap_bits); + h =3D hash_bits(map->hash_fn(key, map->ctx), (int)map->cap_bits); if (!hashmap_find_entry(map, key, h, &pprev, &entry)) return false; =20 --=20 2.49.0.504.g3bcea36a83-goog From nobody Mon May 12 16:15:08 2025 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (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 62EDC22A1C5 for <linux-kernel@vger.kernel.org>; Tue, 1 Apr 2025 18:26:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531977; cv=none; b=YciHXardhSVtllEVboknGw70AQcd6pnqeYQnJM9L5raCZdOQ3/IMJIc+omDl/2uDAp5L0Azwonw7Qb3bTM0+k/8o6RGQRrIHWeIE0odDih2jLlWihXrwUifwrE1Xx3ae6mwd+FMruhQyKsMkh86MX6Kiex59HAAI3ZAL7bjdb/o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531977; c=relaxed/simple; bh=JH5IYw1XLUdsjJtnvPI0verzfyIExYV2qDPtVuYm074=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=siDG4wTQbkrWUwcH4G8WfmLK06MR/pHlXQkkyPFB0dKYhJLfntyqt3WI4TPGQm0Aw8B0AtEpkg6yCGpFOaH/H52Dc9aFWBeAapdQo1P1jNQrYsl/fPhXF2M1Ml9niSzVXU+AqHoJS2CRWmWCaJLhVZpafcafJxLLlys8w8P0ZfQ= 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=t4cMhVuQ; arc=none smtp.client-ip=209.85.216.73 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="t4cMhVuQ" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-2ff8340d547so10270796a91.2 for <linux-kernel@vger.kernel.org>; Tue, 01 Apr 2025 11:26:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531974; x=1744136774; darn=vger.kernel.org; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=xPhysvgPSu3+WhFKX3Vrd0yYhQilxaKDEP5OdoVpUVA=; b=t4cMhVuQS0Wl4wlHAgsH+pRtzPNvuK6B9FZf7tveWJL8aVaJ9PWY/+I9TbYhGAOpLu fRhdbBCyz6vCwNpjUeDUz29J22EbQlGGT4mcKNi3s6C+jcySM0saIx6TLWbfQZD3SSUL TF0kAHH0xADPqp18IuP1gLuCU59CNhbjcPD0uNj5PbLACLfLDCmWEf1ubKZSu7RSUVsI wFhINR4f10/RNwmGwTf64AmiT7CImRGSQKmJupLOSqn9KhwF2hRzk9dB0HNJn4khdBIl hZz8j5Jeh7MejAzBh6sBrT5zUE6ies6W9Ti1tT3KOMjptDfysWNEZuyRkMZQSz1i+MoN De/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531974; x=1744136774; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=xPhysvgPSu3+WhFKX3Vrd0yYhQilxaKDEP5OdoVpUVA=; b=E+0StBTwGPQ0KyRQ0xNQ/On13c77BwDqVlzJpgycGNY4wIDsZ+XZJ1FQ/zywJV3A0C xW/Mdc+hixlN1ul507w/YLv4V5M4tzmwCSfwkkPRIzYrRWtLbaFZwIZ8hkEosjhFqp// 23gQ+4tBm+N/aOXVNvSDSCww3w/rbRkGMp5XbP8VGtR7zBaGwd/NDAZG68eGZ9yLacVx NR2sM0Ix6hsXelrnm80bN11eSOiwWrdP75PxRrTnwZQMJzTX95oO06tLz/fSB0Y8WqET 9e807IY6uZHiIHNATaXjpUUQY2UqUorYt0LT2rvvm6mPy0pUrMS544CjBJjqFJt5a++3 ub8g== X-Forwarded-Encrypted: i=1; AJvYcCVjhlU/yI0GU7Cqu7/X2dnWJjKFK/bIpLJIMAA6KO9RUP+qDSJDa0iVLXgxJHwtrIynBZn0fXDGAzu/wR8=@vger.kernel.org X-Gm-Message-State: AOJu0YxUZdCbFhd9iX55pmFVn5XCVGvsw4wPXxJqWmTOpxZsdiE7AORj 51FSm4uG6p7HQRxNF5JgNjE2EJC3FV+UImG2L9tKlSzj4OyyJZulvKUMWOaoFkK6utjkKKOBp4c rGQl1uQ== X-Google-Smtp-Source: AGHT+IGASQJESQh0P5WocUZzTVsuPYeMntTSxEaM9deIUgGCJYYaAmhumcox7D9ILdKo/OIFvvRilGZiYCz6 X-Received: from pfkq16.prod.google.com ([2002:a05:6a00:850:b0:736:9d24:ae31]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a21:1509:b0:1ee:d06c:cddc with SMTP id adf61e73a8af0-2009f75c535mr27397490637.30.1743531973749; Tue, 01 Apr 2025 11:26:13 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:46 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-49-irogers@google.com> Subject: [PATCH v1 48/48] perf: Silence -Wshorten-64-to-32 warnings From: Ian Rogers <irogers@google.com> To: Yury Norov <yury.norov@gmail.com>, Rasmus Villemoes <linux@rasmusvillemoes.dk>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, Thomas Gleixner <tglx@linutronix.de>, Darren Hart <dvhart@infradead.org>, Davidlohr Bueso <dave@stgolabs.net>, "=?UTF-8?q?Andr=C3=A9=20Almeida?=" <andrealmeid@igalia.com>, John Garry <john.g.garry@oracle.com>, Will Deacon <will@kernel.org>, James Clark <james.clark@linaro.org>, Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>, Yicong Yang <yangyicong@hisilicon.com>, Jonathan Cameron <jonathan.cameron@huawei.com>, Nathan Chancellor <nathan@kernel.org>, Bill Wendling <morbo@google.com>, Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Al Viro <viro@zeniv.linux.org.uk>, Kyle Meyer <kyle.meyer@hpe.com>, Ben Gainey <ben.gainey@arm.com>, Athira Rajeev <atrajeev@linux.vnet.ibm.com>, Kajol Jain <kjain@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Eder Zulian <ezulian@redhat.com>, Dapeng Mi <dapeng1.mi@linux.intel.com>, Kuan-Wei Chiu <visitorckw@gmail.com>, He Zhe <zhe.he@windriver.com>, Dirk Gouders <dirk@gouders.net>, Brian Geffon <bgeffon@google.com>, Ravi Bangoria <ravi.bangoria@amd.com>, Howard Chu <howardchu95@gmail.com>, Charlie Jenkins <charlie@rivosinc.com>, Colin Ian King <colin.i.king@gmail.com>, Dominique Martinet <asmadeus@codewreck.org>, Jann Horn <jannh@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Yang Jihong <yangjihong@bytedance.com>, Dmitry Vyukov <dvyukov@google.com>, Andi Kleen <ak@linux.intel.com>, Graham Woodward <graham.woodward@arm.com>, Ilkka Koskinen <ilkka@os.amperecomputing.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Zhongqiu Han <quic_zhonhan@quicinc.com>, Hao Ge <gehao@kylinos.cn>, Tengda Wu <wutengda@huaweicloud.com>, Gabriele Monaco <gmonaco@redhat.com>, Chun-Tse Shao <ctshao@google.com>, Casey Chen <cachen@purestorage.com>, "Dr. David Alan Gilbert" <linux@treblig.org>, Li Huafei <lihuafei1@huawei.com>, "Steinar H. Gunderson" <sesse@google.com>, Levi Yun <yeoreum.yun@arm.com>, Weilin Wang <weilin.wang@intel.com>, Thomas Falcon <thomas.falcon@intel.com>, Thomas Richter <tmricht@linux.ibm.com>, Andrew Kreimer <algonell@gmail.com>, "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" <krzysztof.m.lopatowski@gmail.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Jean-Philippe Romain <jean-philippe.romain@foss.st.com>, Junhao He <hejunhao3@huawei.com>, "Masami Hiramatsu (Google)" <mhiramat@kernel.org>, Xu Yang <xu.yang_2@nxp.com>, Steve Clevenger <scclevenger@os.amperecomputing.com>, Zixian Cai <fzczx123@gmail.com>, Stephen Brennan <stephen.s.brennan@oracle.com>, Yujie Liu <yujie.liu@intel.com>, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/perf.c | 2 +- tools/perf/util/bpf-event.c | 2 +- tools/perf/util/env.c | 2 +- tools/perf/util/event.c | 4 +-- tools/perf/util/header.c | 54 ++++++++++++++++-------------- tools/perf/util/hist.c | 7 ++-- tools/perf/util/machine.c | 14 ++++---- tools/perf/util/map.c | 4 +-- tools/perf/util/maps.c | 6 ++-- tools/perf/util/parse-events.c | 16 ++++----- tools/perf/util/session.c | 29 ++++++++-------- tools/perf/util/sort.c | 20 +++++------ tools/perf/util/synthetic-events.c | 22 ++++++------ tools/perf/util/target.c | 2 +- tools/perf/util/thread-stack.c | 2 +- tools/perf/util/thread.c | 4 +-- tools/perf/util/thread_map.c | 6 ++-- tools/perf/util/tool.c | 2 +- tools/perf/util/values.c | 4 +-- 19 files changed, 104 insertions(+), 98 deletions(-) diff --git a/tools/perf/perf.c b/tools/perf/perf.c index f0617cc41f5f..2e98a29df3b2 100644 --- a/tools/perf/perf.c +++ b/tools/perf/perf.c @@ -476,7 +476,7 @@ int main(int argc, const char **argv) if (!cmd) cmd =3D "perf-help"; =20 - srandom(time(NULL)); + srandom((unsigned int)time(NULL)); =20 /* Setting $PERF_CONFIG makes perf read _only_ the given config file. */ config_exclusive_filename =3D getenv("PERF_CONFIG"); diff --git a/tools/perf/util/bpf-event.c b/tools/perf/util/bpf-event.c index c81444059ad0..3cf7d1a2b624 100644 --- a/tools/perf/util/bpf-event.c +++ b/tools/perf/util/bpf-event.c @@ -332,7 +332,7 @@ process_bpf_image(char *name, u64 addr, struct kallsyms= _parse *data) .size =3D offsetof(struct perf_record_ksymbol, name), }, .addr =3D addr, - .len =3D page_size, + .len =3D (__u32)page_size, .ksym_type =3D PERF_RECORD_KSYMBOL_TYPE_BPF, .flags =3D 0, }; diff --git a/tools/perf/util/env.c b/tools/perf/util/env.c index 36411749e007..8238a9a609ab 100644 --- a/tools/perf/util/env.c +++ b/tools/perf/util/env.c @@ -596,7 +596,7 @@ char *perf_env__find_pmu_cap(struct perf_env *env, cons= t char *pmu_name, const char *cap) { char *cap_eq; - int cap_size; + size_t cap_size; char **ptr; int i, j; =20 diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c index c23b77f8f854..edd7e2fccf60 100644 --- a/tools/perf/util/event.c +++ b/tools/perf/util/event.c @@ -156,7 +156,7 @@ void perf_event__read_stat_config(struct perf_stat_conf= ig *config, switch (event->data[i].tag) { #define CASE(__term, __val) \ case PERF_STAT_CONFIG_TERM__##__term: \ - config->__val =3D event->data[i].val; \ + config->__val =3D (typeof(config->__val))event->data[i].val; \ break; =20 CASE(AGGR_MODE, aggr_mode) @@ -190,7 +190,7 @@ size_t perf_event__fprintf_namespaces(union perf_event = *event, FILE *fp) u32 nr_namespaces, idx; =20 ns_link_info =3D event->namespaces.link_info; - nr_namespaces =3D event->namespaces.nr_namespaces; + nr_namespaces =3D (u32)event->namespaces.nr_namespaces; =20 ret +=3D fprintf(fp, " %d/%d - nr_namespaces: %u\n\t\t[", event->namespaces.pid, diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index e3cdc3b7b4ab..e364dea9e243 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c @@ -185,7 +185,7 @@ static int do_write_string(struct feat_fd *ff, const ch= ar *str) u32 len, olen; int ret; =20 - olen =3D strlen(str) + 1; + olen =3D (u32)strlen(str) + 1; len =3D PERF_ALIGN(olen, NAME_ALIGN); =20 /* write len, incl. \0 */ @@ -286,7 +286,7 @@ static int do_read_bitmap(struct feat_fd *ff, unsigned = long **pset, u64 *psize) if (ret) return ret; =20 - set =3D bitmap_zalloc(size); + set =3D bitmap_zalloc((int)size); if (!set) return -ENOMEM; =20 @@ -1369,7 +1369,9 @@ static int memory_node__sort(const void *a, const voi= d *b) const struct memory_node *na =3D a; const struct memory_node *nb =3D b; =20 - return na->node - nb->node; + if (na->node =3D=3D nb->node) + return 0; + return na->node < nb->node ? -1 : 1; } =20 static int build_mem_topology(struct memory_node **nodesp, u64 *cntp) @@ -2144,7 +2146,7 @@ static void print_pmu_mappings(struct feat_fd *ff, FI= LE *fp) str =3D ff->ph->env.pmu_mappings; =20 while (pmu_num) { - type =3D strtoul(str, &tmp, 0); + type =3D (u32)strtoul(str, &tmp, 0); if (*tmp !=3D ':') goto error; =20 @@ -2214,10 +2216,10 @@ static void memory_node__fprintf(struct memory_node= *n, char buf_map[100], buf_size[50]; unsigned long long size; =20 - size =3D bsize * bitmap_weight(n->set, n->size); + size =3D bsize * bitmap_weight(n->set, (unsigned int)n->size); unit_number__scnprintf(buf_size, 50, size); =20 - bitmap_scnprintf(n->set, n->size, buf_map, 100); + bitmap_scnprintf(n->set, (unsigned int)n->size, buf_map, 100); fprintf(fp, "# %3" PRIu64 " [%s]: %s\n", n->node, buf_size, buf_map); } =20 @@ -2782,7 +2784,7 @@ static int process_pmu_mappings(struct feat_fd *ff, v= oid *data __maybe_unused) =20 static int process_group_desc(struct feat_fd *ff, void *data __maybe_unuse= d) { - size_t ret =3D -1; + int ret =3D -1; u32 i, nr, nr_groups; struct perf_session *session; struct evsel *evsel, *leader =3D NULL; @@ -2996,7 +2998,7 @@ static int process_mem_topology(struct feat_fd *ff, =20 ff->ph->env.memory_bsize =3D bsize; ff->ph->env.memory_nodes =3D nodes; - ff->ph->env.nr_memory_nodes =3D nr; + ff->ph->env.nr_memory_nodes =3D (int)nr; ret =3D 0; =20 out: @@ -3489,7 +3491,8 @@ int perf_header__fprintf_info(struct perf_session *se= ssion, FILE *fp, bool full) int fd =3D perf_data__fd(session->data); struct stat st; time_t stctime; - int ret, bit; + int ret; + size_t bit; =20 hd.fp =3D fp; hd.full =3D full; @@ -3586,15 +3589,15 @@ static int perf_header__adds_write(struct perf_head= er *header, struct evlist *evlist, int fd, struct feat_copier *fc) { - int nr_sections; + size_t nr_sections; struct feat_fd ff =3D { .fd =3D fd, .ph =3D header, }; struct perf_file_section *feat_sec, *p; - int sec_size; + size_t sec_size; u64 sec_start; - int feat; + size_t feat; int err; =20 nr_sections =3D bitmap_weight(header->adds_features, HEADER_FEAT_BITS); @@ -3611,8 +3614,8 @@ static int perf_header__adds_write(struct perf_header= *header, lseek(fd, sec_start + sec_size, SEEK_SET); =20 for_each_set_bit(feat, header->adds_features, HEADER_FEAT_BITS) { - if (do_write_feat(&ff, feat, &p, evlist, fc)) - perf_header__clear_feat(header, feat); + if (do_write_feat(&ff, (int)feat, &p, evlist, fc)) + perf_header__clear_feat(header, (int)feat); } =20 lseek(fd, sec_start, SEEK_SET); @@ -3821,9 +3824,9 @@ int perf_header__process_sections(struct perf_header = *header, int fd, int feat, int fd, void *data)) { struct perf_file_section *feat_sec, *sec; - int nr_sections; - int sec_size; - int feat; + size_t nr_sections; + size_t sec_size; + size_t feat; int err; =20 nr_sections =3D bitmap_weight(header->adds_features, HEADER_FEAT_BITS); @@ -3843,7 +3846,7 @@ int perf_header__process_sections(struct perf_header = *header, int fd, goto out_free; =20 for_each_set_bit(feat, header->adds_features, HEADER_LAST_FEATURE) { - err =3D process(sec++, header, feat, fd, data); + err =3D process(sec++, header, (int)feat, fd, data); if (err < 0) goto out_free; } @@ -4183,7 +4186,7 @@ static int evsel__prepare_tracepoint_event(struct evs= el *evsel, struct tep_handl return -1; } =20 - event =3D tep_find_event(pevent, evsel->core.attr.config); + event =3D tep_find_event(pevent, (int)evsel->core.attr.config); if (event =3D=3D NULL) { pr_debug("cannot find event format for %d\n", (int)evsel->core.attr.conf= ig); return -1; @@ -4221,8 +4224,8 @@ int perf_session__read_header(struct perf_session *se= ssion) struct perf_file_header f_header; struct perf_file_attr f_attr; u64 f_id; - int nr_attrs, nr_ids, i, j, err; - int fd =3D perf_data__fd(data); + u64 nr_attrs, nr_ids; + int err, fd =3D perf_data__fd(data); =20 session->evlist =3D evlist__new(); if (session->evlist =3D=3D NULL) @@ -4271,7 +4274,7 @@ int perf_session__read_header(struct perf_session *se= ssion) nr_attrs =3D f_header.attrs.size / f_header.attr_size; lseek(fd, f_header.attrs.offset, SEEK_SET); =20 - for (i =3D 0; i < nr_attrs; i++) { + for (u64 i =3D 0; i < nr_attrs; i++) { struct evsel *evsel; off_t tmp; =20 @@ -4308,7 +4311,7 @@ int perf_session__read_header(struct perf_session *se= ssion) =20 lseek(fd, f_attr.ids.offset, SEEK_SET); =20 - for (j =3D 0; j < nr_ids; j++) { + for (int j =3D 0; j < (int)nr_ids; j++) { if (perf_header__getbuffer64(header, fd, &f_id, sizeof(f_id))) goto out_errno; =20 @@ -4537,7 +4540,8 @@ int perf_event__process_tracing_data(struct perf_sess= ion *session, return -1; } if (session->trace_event_repipe) { - int retw =3D write(STDOUT_FILENO, buf, padding); + ssize_t retw =3D write(STDOUT_FILENO, buf, padding); + if (retw <=3D 0 || retw !=3D padding) { pr_err("%s: repiping tracing data padding", __func__); return -1; @@ -4551,7 +4555,7 @@ int perf_event__process_tracing_data(struct perf_sess= ion *session, =20 evlist__prepare_tracepoint_events(session->evlist, session->tevent.pevent= ); =20 - return size_read + padding; + return (int)(size_read + padding); } #endif =20 diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c index d65228c11412..37469da4afc2 100644 --- a/tools/perf/util/hist.c +++ b/tools/perf/util/hist.c @@ -700,7 +700,8 @@ static unsigned random_max(unsigned high) { unsigned thresh =3D -high % high; for (;;) { - unsigned r =3D random(); + unsigned int r =3D (unsigned int)random(); + if (r >=3D thresh) return r % high; } @@ -929,7 +930,7 @@ iter_prepare_branch_entry(struct hist_entry_iter *iter,= struct addr_location *al return -ENOMEM; =20 iter->curr =3D 0; - iter->total =3D sample->branch_stack->nr; + iter->total =3D (int)sample->branch_stack->nr; =20 iter->bi =3D bi; return 0; @@ -2770,7 +2771,7 @@ void hist__account_cycles(struct branch_stack *bs, st= ruct addr_location *al, * Note that perf stores branches reversed from * program order! */ - for (int i =3D bs->nr - 1; i >=3D 0; i--) { + for (int i =3D (int)bs->nr - 1; i >=3D 0; i--) { addr_map_symbol__account_cycles(&bi[i].from, nonany_branch_mode ? NULL : prev, bi[i].flags.cycles, evsel, diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c index 2531b373f2cf..0881b83532fd 100644 --- a/tools/perf/util/machine.c +++ b/tools/perf/util/machine.c @@ -809,7 +809,7 @@ int machine__process_text_poke(struct machine *machine,= union perf_event *event, =20 if (dso) { u8 *new_bytes =3D event->text_poke.bytes + event->text_poke.old_len; - int ret; + ssize_t ret; =20 /* * Kernel maps might be changed when loading symbols so loading @@ -2306,7 +2306,7 @@ static int lbr_callchain_add_lbr_ip(struct thread *th= read, struct branch_stack *lbr_stack =3D sample->branch_stack; struct branch_entry *entries =3D perf_sample__branch_entries(sample); u8 cpumode =3D PERF_RECORD_MISC_USER; - int lbr_nr =3D lbr_stack->nr; + int lbr_nr =3D (int)lbr_stack->nr; struct branch_flags *flags; int err, i; u64 ip; @@ -2472,7 +2472,7 @@ static bool has_stitched_lbr(struct thread *thread, * * Starts from the base-of-stack of current sample. */ - for (i =3D distance, j =3D cur_stack->nr - 1; (i >=3D 0) && (j >=3D 0); i= --, j--) { + for (i =3D (int)distance, j =3D (int)cur_stack->nr - 1; (i >=3D 0) && (j = >=3D 0); i--, j--) { if ((prev_entries[i].from !=3D cur_entries[j].from) || (prev_entries[i].to !=3D cur_entries[j].to) || (prev_entries[i].flags.value !=3D cur_entries[j].flags.value)) @@ -2488,7 +2488,7 @@ static bool has_stitched_lbr(struct thread *thread, * and the base-of-stack of current sample into lbr_stitch->lists. * These LBRs will be stitched later. */ - for (i =3D prev_stack->nr - 1; i > (int)distance; i--) { + for (i =3D (int)prev_stack->nr - 1; i > (int)distance; i--) { =20 if (!lbr_stitch->prev_lbr_cursor[i].valid) continue; @@ -2687,7 +2687,7 @@ static int thread__resolve_callchain_sample(struct th= read *thread, u64 leaf_frame_caller; =20 if (chain) - chain_nr =3D chain->nr; + chain_nr =3D (int)chain->nr; =20 if (evsel__has_branch_callstack(evsel)) { struct perf_env *env =3D evsel__env(evsel); @@ -2783,7 +2783,7 @@ static int thread__resolve_callchain_sample(struct th= read *thread, check_calls: if (chain && callchain_param.order !=3D ORDER_CALLEE) { err =3D find_prev_cpumode(chain, thread, cursor, parent, root_al, - &cpumode, chain->nr - first_call, symbols); + &cpumode, (int)(chain->nr - first_call), symbols); if (err) return (err < 0) ? err : 0; } @@ -2794,7 +2794,7 @@ static int thread__resolve_callchain_sample(struct th= read *thread, if (callchain_param.order =3D=3D ORDER_CALLEE) j =3D i; else - j =3D chain->nr - i - 1; + j =3D (int)(chain->nr - i - 1); =20 #ifdef HAVE_SKIP_CALLCHAIN_IDX if (j =3D=3D skip_idx) diff --git a/tools/perf/util/map.c b/tools/perf/util/map.c index d729438b7d65..57e22e49e65c 100644 --- a/tools/perf/util/map.c +++ b/tools/perf/util/map.c @@ -74,8 +74,8 @@ static inline bool replace_android_lib(const char *filena= me, char *newfilename) if (!(ndk && app)) return false; =20 - ndk_length =3D strlen(ndk); - app_length =3D strlen(app); + ndk_length =3D (int)strlen(ndk); + app_length =3D (int)strlen(app); =20 if (!(ndk_length && app_length && app_abi_length)) return false; diff --git a/tools/perf/util/maps.c b/tools/perf/util/maps.c index 0b40d901675e..8101a3e3810b 100644 --- a/tools/perf/util/maps.c +++ b/tools/perf/util/maps.c @@ -396,7 +396,7 @@ static unsigned int maps__by_address_index(const struct= maps *maps, const struct sizeof(*mapp), map__start_cmp); =20 if (mapp) - return mapp - maps_by_address; + return (unsigned int)(mapp - maps_by_address); } else { for (unsigned int i =3D 0; i < maps__nr_maps(maps); i++) { if (RC_CHK_ACCESS(maps_by_address[i]) =3D=3D RC_CHK_ACCESS(map)) @@ -417,7 +417,7 @@ static unsigned int maps__by_name_index(const struct ma= ps *maps, const struct ma sizeof(*mapp), map__strcmp); =20 if (mapp) - return mapp - maps_by_name; + return (unsigned int)(mapp - maps_by_name); } else { for (unsigned int i =3D 0; i < maps__nr_maps(maps); i++) { if (RC_CHK_ACCESS(maps_by_name[i]) =3D=3D RC_CHK_ACCESS(map)) @@ -1134,7 +1134,7 @@ struct map *maps__find_by_name(struct maps *maps, con= st char *name) =20 if (mapp) { result =3D map__get(*mapp); - i =3D mapp - maps__maps_by_name(maps); + i =3D (unsigned int)(mapp - maps__maps_by_name(maps)); RC_CHK_ACCESS(maps)->last_search_by_name_idx =3D i; } done =3D true; diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c index 5152fd5a6ead..5e697091c820 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c @@ -317,7 +317,7 @@ static int parse_aliases(const char *str, const char *c= onst names[][EVSEL__MAX_A *longest =3D -1; for (int i =3D 0; i < size; i++) { for (int j =3D 0; j < EVSEL__MAX_ALIASES && names[i][j]; j++) { - int n =3D strlen(names[i][j]); + int n =3D (int)strlen(names[i][j]); =20 if (n > *longest && !strncasecmp(str, names[i][j], n)) *longest =3D n; @@ -532,8 +532,8 @@ static int add_tracepoint(struct parse_events_state *pa= rse_state, !parse_state->fake_tp); =20 if (IS_ERR(evsel)) { - tracepoint_error(err, PTR_ERR(evsel), sys_name, evt_name, loc->first_col= umn); - return PTR_ERR(evsel); + tracepoint_error(err, (int)PTR_ERR(evsel), sys_name, evt_name, loc->firs= t_column); + return (int)PTR_ERR(evsel); } =20 if (head_config) { @@ -1153,7 +1153,7 @@ static int get_config_terms(const struct parse_events= _terms *head_config, #define ADD_CONFIG_TERM_VAL(__type, __name, __val, __weak) \ do { \ ADD_CONFIG_TERM(__type, __weak); \ - __t->val.__name =3D __val; \ + __t->val.__name =3D (typeof(__t->val.__name))__val; \ } while (0) =20 #define ADD_CONFIG_TERM_STR(__type, __val, __weak) \ @@ -2299,12 +2299,12 @@ static void __parse_events_error__print(int err_idx= , const char *err_str, const char *str =3D "invalid or unsupported event: "; char _buf[MAX_WIDTH]; char *buf =3D (char *) event; - int idx =3D 0; + size_t idx =3D 0; if (err_str) { /* -2 for extra '' in the final fprintf */ int width =3D get_term_width() - 2; - int len_event =3D strlen(event); - int len_str, max_len, cut =3D 0; + size_t len_event =3D strlen(event); + size_t len_str, max_len, cut =3D 0; =20 /* * Maximum error index indent, we will cut @@ -2342,7 +2342,7 @@ static void __parse_events_error__print(int err_idx, = const char *err_str, =20 fprintf(stderr, "%s'%s'\n", str, buf); if (idx) { - fprintf(stderr, "%*s\\___ %s\n", idx + 1, "", err_str); + fprintf(stderr, "%*s\\___ %s\n", (int)idx + 1, "", err_str); if (err_help) fprintf(stderr, "\n%s\n", err_help); } diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index 60fb9997ea0d..2aaedb581d83 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c @@ -263,7 +263,7 @@ void perf_session__delete(struct perf_session *session) static void swap_sample_id_all(union perf_event *event, void *data) { void *end =3D (void *) event + event->header.size; - int size =3D end - data; + size_t size =3D end - data; =20 BUG_ON(size % sizeof(u64)); mem_bswap_64(data, size); @@ -912,13 +912,13 @@ static void branch_stack__printf(struct perf_sample *= sample, =20 static void regs_dump__printf(u64 mask, u64 *regs, const char *arch) { - unsigned rid, i =3D 0; + unsigned int i =3D 0; + size_t rid; =20 for_each_set_bit(rid, (unsigned long *) &mask, sizeof(mask) * 8) { u64 val =3D regs[i++]; =20 - printf(".... %-5s 0x%016" PRIx64 "\n", - perf_reg_name(rid, arch), val); + printf(".... %-5s 0x%016" PRIx64 "\n", perf_reg_name((int)rid, arch), va= l); } } =20 @@ -1452,7 +1452,7 @@ static s64 perf_session__process_user_event(struct pe= rf_session *session, */ if (!perf_data__is_pipe(session->data)) lseek(fd, file_offset + event->header.size, SEEK_SET); - err =3D tool->auxtrace(session, event); + err =3D (int)tool->auxtrace(session, event); break; case PERF_RECORD_AUXTRACE_ERROR: perf_session__auxtrace_error_inc(session, event); @@ -1506,7 +1506,7 @@ int perf_session__deliver_synth_event(struct perf_ses= sion *session, events_stats__inc(&evlist->stats, event->header.type); =20 if (event->header.type >=3D PERF_RECORD_USER_TYPE_START) - return perf_session__process_user_event(session, event, 0, NULL); + return (int)perf_session__process_user_event(session, event, 0, NULL); =20 return machines__deliver_event(&session->machines, evlist, event, sample,= tool, 0, NULL); } @@ -1935,7 +1935,7 @@ static int __perf_session__process_pipe_events(struct= perf_session *session) perf_session__warn_about_errors(session); ordered_events__free(&session->ordered_events); auxtrace__free_events(session); - return err; + return (int)err; } =20 static union perf_event * @@ -2155,7 +2155,7 @@ reader__read_event(struct reader *rd, struct perf_ses= sion *session, event =3D fetch_mmaped_event(rd->head, rd->mmap_size, rd->mmap_cur, session->header.needs_swap); if (IS_ERR(event)) - return PTR_ERR(event); + return (int)PTR_ERR(event); =20 if (!event) return READER_NODATA; @@ -2168,8 +2168,8 @@ reader__read_event(struct reader *rd, struct perf_ses= sion *session, (skip =3D rd->process(session, event, rd->file_pos, rd->path)) < 0) { pr_err("%#" PRIx64 " [%#x]: failed to process type: %d [%s]\n", rd->file_offset + rd->head, event->header.size, - event->header.type, strerror(-skip)); - err =3D skip; + event->header.type, strerror((int)-skip)); + err =3D (int)skip; goto out; } =20 @@ -2683,14 +2683,14 @@ int perf_event__process_id_index(struct perf_sessio= n *session, if (!sid) return -ENOENT; =20 - sid->idx =3D e->idx; + sid->idx =3D (int)e->idx; sid->cpu.cpu =3D e->cpu; - sid->tid =3D e->tid; + sid->tid =3D (pid_t)e->tid; =20 if (!e2) continue; =20 - sid->machine_pid =3D e2->machine_pid; + sid->machine_pid =3D (pid_t)e2->machine_pid; sid->vcpu.cpu =3D e2->vcpu; =20 if (!sid->machine_pid) @@ -2704,7 +2704,8 @@ int perf_event__process_id_index(struct perf_session = *session, perf_guest =3D true; } =20 - ret =3D perf_session__set_guest_cpu(session, sid->machine_pid, e->tid, e= 2->vcpu); + ret =3D perf_session__set_guest_cpu(session, sid->machine_pid, + (pid_t)e->tid, (int)e2->vcpu); if (ret) return ret; } diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c index c51049087e4e..b7822aa8cc8c 100644 --- a/tools/perf/util/sort.c +++ b/tools/perf/util/sort.c @@ -91,7 +91,7 @@ static int repsep_snprintf(char *bf, size_t size, const c= har *fmt, ...) va_end(ap); =20 if (n >=3D (int)size) - return size - 1; + return (int)size - 1; return n; } =20 @@ -392,7 +392,7 @@ static int _hist_entry__sym_snprintf(struct map_symbol = *ms, len, ip); } =20 - return ret; + return (int)ret; } =20 int hist_entry__sym_snprintf(struct hist_entry *he, char *bf, size_t size,= unsigned int width) @@ -1339,7 +1339,7 @@ static int _hist_entry__addr_snprintf(struct map_symb= ol *ms, len, ip); } =20 - return ret; + return (int)ret; } =20 static int hist_entry__addr_from_snprintf(struct hist_entry *he, char *bf, @@ -2667,7 +2667,7 @@ static int __sort__hpp_width(struct perf_hpp_fmt *fmt, if (!len) len =3D hists__col_len(hists, hse->se->se_width_idx); =20 - return len; + return (int)len; } =20 static int __sort__hpp_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hp= p, @@ -2681,7 +2681,7 @@ static int __sort__hpp_entry(struct perf_hpp_fmt *fmt= , struct perf_hpp *hpp, if (!len) len =3D hists__col_len(he->hists, hse->se->se_width_idx); =20 - return hse->se->se_snprintf(he, hpp->buf, hpp->size, len); + return hse->se->se_snprintf(he, hpp->buf, hpp->size, (unsigned int)len); } =20 static int64_t __sort__hpp_cmp(struct perf_hpp_fmt *fmt, @@ -2918,7 +2918,7 @@ static int hde_width(struct hpp_dynamic_entry *hde) { if (!hde->hpp.len) { int len =3D hde->dynamic_len; - int namelen =3D strlen(hde->field->name); + int namelen =3D (int)strlen(hde->field->name); int fieldlen =3D hde->field->size; =20 if (namelen > len) @@ -2968,7 +2968,7 @@ static void update_dynamic_len(struct hpp_dynamic_ent= ry *hde, len =3D pos - str; =20 if (len > hde->dynamic_len) - hde->dynamic_len =3D len; + hde->dynamic_len =3D (unsigned int)len; break; } =20 @@ -3007,7 +3007,7 @@ static int __sort__hde_width(struct perf_hpp_fmt *fmt, if (!len) len =3D hde_width(hde); =20 - return len; + return (int)len; } =20 bool perf_hpp__defined_dynamic_entry(struct perf_hpp_fmt *fmt, struct hist= s *hists) @@ -3256,7 +3256,7 @@ static struct evsel *find_evsel(struct evlist *evlist= , char *event_name) =20 /* case 1 */ if (event_name[0] =3D=3D '%') { - int nr =3D strtol(event_name+1, NULL, 0); + int nr =3D (int)strtol(event_name+1, NULL, 0); =20 if (nr > evlist->core.nr_entries) return NULL; @@ -4212,7 +4212,7 @@ char *sort_help(const char *prefix, enum sort_mode mo= de) { struct strbuf sb; char *s; - int len =3D strlen(prefix) + INDENT; + int len =3D (int)strlen(prefix) + INDENT; =20 strbuf_init(&sb, 300); strbuf_addstr(&sb, prefix); diff --git a/tools/perf/util/synthetic-events.c b/tools/perf/util/synthetic= -events.c index 2fc4d0537840..f65bb4b76ccb 100644 --- a/tools/perf/util/synthetic-events.c +++ b/tools/perf/util/synthetic-events.c @@ -338,10 +338,10 @@ static bool read_proc_maps_line(struct io *io, __u64 = *start, __u64 *end, =20 if (io__get_hex(io, &temp) !=3D ':') return false; - *maj =3D temp; + *maj =3D (u32)temp; if (io__get_hex(io, &temp) !=3D ' ') return false; - *min =3D temp; + *min =3D (u32)temp; =20 ch =3D io__get_dec(io, inode); if (ch !=3D ' ') { @@ -433,7 +433,7 @@ int perf_event__synthesize_mmap_events(const struct per= f_tool *tool, unsigned long long timeout =3D proc_map_timeout * 1000000ULL; int rc =3D 0; const char *hugetlbfs_mnt =3D hugetlbfs__mountpoint(); - int hugetlbfs_mnt_len =3D hugetlbfs_mnt ? strlen(hugetlbfs_mnt) : 0; + size_t hugetlbfs_mnt_len =3D hugetlbfs_mnt ? strlen(hugetlbfs_mnt) : 0; =20 if (machine__is_default_guest(machine)) return 0; @@ -815,7 +815,7 @@ static int __event__synthesize_thread(union perf_event = *comm_event, if (!isdigit(dent->d_name[0])) continue; =20 - _pid =3D strtol(dent->d_name, &end, 10); + _pid =3D (pid_t)strtol(dent->d_name, &end, 10); if (*end) continue; =20 @@ -1043,7 +1043,7 @@ int perf_event__synthesize_threads(const struct perf_= tool *tool, return err; =20 if (nr_threads_synthesize =3D=3D UINT_MAX) - thread_nr =3D sysconf(_SC_NPROCESSORS_ONLN); + thread_nr =3D (int)sysconf(_SC_NPROCESSORS_ONLN); else thread_nr =3D nr_threads_synthesize; =20 @@ -1829,7 +1829,7 @@ int perf_event__synthesize_id_sample(__u64 *array, u6= 4 type, const struct perf_s array++; } =20 - return (void *)array - (void *)start; + return (int)((void *)array - (void *)start); } =20 int __perf_event__synthesize_id_index(const struct perf_tool *tool, perf_e= vent__handler_t process, @@ -2213,7 +2213,7 @@ int perf_event__synthesize_tracing_data(const struct = perf_tool *tool, int fd, st aligned_size =3D PERF_ALIGN(size, sizeof(u64)); padding =3D aligned_size - size; ev.tracing_data.header.size =3D sizeof(ev.tracing_data); - ev.tracing_data.size =3D aligned_size; + ev.tracing_data.size =3D (__u32)aligned_size; =20 process(tool, &ev, NULL, NULL); =20 @@ -2227,7 +2227,7 @@ int perf_event__synthesize_tracing_data(const struct = perf_tool *tool, int fd, st if (write_padded(&ff, NULL, 0, padding)) return -1; =20 - return aligned_size; + return (int)aligned_size; } #endif =20 @@ -2375,8 +2375,8 @@ int perf_event__synthesize_features(const struct perf= _tool *tool, struct perf_se struct perf_header *header =3D &session->header; struct perf_record_header_feature *fe; struct feat_fd ff; - size_t sz, sz_hdr; - int feat, ret; + size_t sz, sz_hdr, feat; + int ret; =20 sz_hdr =3D sizeof(fe->header); sz =3D sizeof(union perf_event); @@ -2394,7 +2394,7 @@ int perf_event__synthesize_features(const struct perf= _tool *tool, struct perf_se =20 for_each_set_bit(feat, header->adds_features, HEADER_FEAT_BITS) { if (!feat_ops[feat].synthesize) { - pr_debug("No record header feature for header :%d\n", feat); + pr_debug("No record header feature for header :%zu\n", feat); continue; } =20 diff --git a/tools/perf/util/target.c b/tools/perf/util/target.c index 0f383418e3df..6a331743a099 100644 --- a/tools/perf/util/target.c +++ b/tools/perf/util/target.c @@ -112,7 +112,7 @@ enum target_errno target__parse_uid(struct target *targ= et) * The user name not found. Maybe it's a UID number. */ char *endptr; - int uid =3D strtol(str, &endptr, 10); + int uid =3D (int)strtol(str, &endptr, 10); =20 if (*endptr !=3D '\0') return TARGET_ERRNO__INVALID_UID; diff --git a/tools/perf/util/thread-stack.c b/tools/perf/util/thread-stack.c index c6a0a27b12c2..09cd14854aa5 100644 --- a/tools/perf/util/thread-stack.c +++ b/tools/perf/util/thread-stack.c @@ -180,7 +180,7 @@ static struct thread_stack *thread_stack__new(struct th= read *thread, int cpu, unsigned int new_sz =3D 1; =20 if (thread_stack__per_cpu(thread) && cpu > 0) - new_sz =3D roundup_pow_of_two(cpu + 1); + new_sz =3D (unsigned int)roundup_pow_of_two(cpu + 1); =20 if (!ts || new_sz > old_sz) { new_ts =3D calloc(new_sz, sizeof(*ts)); diff --git a/tools/perf/util/thread.c b/tools/perf/util/thread.c index 89585f53c1d5..c108f238012e 100644 --- a/tools/perf/util/thread.c +++ b/tools/perf/util/thread.c @@ -309,7 +309,7 @@ static int __thread__comm_len(struct thread *thread, co= nst char *comm) { if (!comm) return 0; - thread__set_comm_len(thread, strlen(comm)); + thread__set_comm_len(thread, (int)strlen(comm)); =20 return thread__var_comm_len(thread); } @@ -544,7 +544,7 @@ int thread__memcpy(struct thread *thread, struct machin= e *machine, =20 addr_location__exit(&al); =20 - return dso__data_read_offset(dso, machine, offset, buf, len); + return (int)dso__data_read_offset(dso, machine, offset, buf, len); } =20 void thread__free_stitch_list(struct thread *thread) diff --git a/tools/perf/util/thread_map.c b/tools/perf/util/thread_map.c index b5f12390c355..141fbb819a65 100644 --- a/tools/perf/util/thread_map.c +++ b/tools/perf/util/thread_map.c @@ -93,7 +93,7 @@ static struct perf_thread_map *__thread_map__new_all_cpus= (uid_t uid) while ((dirent =3D readdir(proc)) !=3D NULL) { char *end; bool grow =3D false; - pid_t pid =3D strtol(dirent->d_name, &end, 10); + pid_t pid =3D (pid_t)strtol(dirent->d_name, &end, 10); =20 if (*end) /* only interested in proper numerical dirents */ continue; @@ -195,7 +195,7 @@ static struct perf_thread_map *thread_map__new_by_pid_s= tr(const char *pid_str) return NULL; =20 strlist__for_each_entry(pos, slist) { - pid =3D strtol(pos->s, &end_ptr, 10); + pid =3D (pid_t)strtol(pos->s, &end_ptr, 10); =20 if (pid =3D=3D INT_MIN || pid =3D=3D INT_MAX || (*end_ptr !=3D '\0' && *end_ptr !=3D ',')) @@ -259,7 +259,7 @@ struct perf_thread_map *thread_map__new_by_tid_str(cons= t char *tid_str) return NULL; =20 strlist__for_each_entry(pos, slist) { - tid =3D strtol(pos->s, &end_ptr, 10); + tid =3D (pid_t)strtol(pos->s, &end_ptr, 10); =20 if (tid =3D=3D INT_MIN || tid =3D=3D INT_MAX || (*end_ptr !=3D '\0' && *end_ptr !=3D ',')) diff --git a/tools/perf/util/tool.c b/tools/perf/util/tool.c index 3b7f390f26eb..f13d5c1e3cd7 100644 --- a/tools/perf/util/tool.c +++ b/tools/perf/util/tool.c @@ -134,7 +134,7 @@ static int skipn(int fd, off_t n) while (n > 0) { ret =3D read(fd, buf, min(n, (off_t)sizeof(buf))); if (ret <=3D 0) - return ret; + return (int)ret; n -=3D ret; } =20 diff --git a/tools/perf/util/values.c b/tools/perf/util/values.c index ec72d29f3d58..e44dbceaa88b 100644 --- a/tools/perf/util/values.c +++ b/tools/perf/util/values.c @@ -197,7 +197,7 @@ static void perf_read_values__display_pretty(FILE *fp, tidwidth =3D 3; pidwidth =3D 3; for (j =3D 0; j < values->num_counters; j++) - counterwidth[j] =3D strlen(evsel__name(values->counters[j])); + counterwidth[j] =3D (int)strlen(evsel__name(values->counters[j])); for (i =3D 0; i < values->threads; i++) { int width; =20 @@ -251,7 +251,7 @@ static void perf_read_values__display_raw(FILE *fp, tidwidth =3D width; } for (j =3D 0; j < values->num_counters; j++) { - width =3D strlen(evsel__name(values->counters[j])); + width =3D (int)strlen(evsel__name(values->counters[j])); if (width > namewidth) namewidth =3D width; width =3D snprintf(NULL, 0, "%x", values->counters[j]->core.idx); --=20 2.49.0.504.g3bcea36a83-goog