From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx10.gouders.net (mx10.gouders.net [202.61.206.94]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 86B941BD9F0; Wed, 30 Apr 2025 23:14:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=202.61.206.94 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746054849; cv=none; b=odurxy5z+NOLKDZQ1OBwygXrIgGqf7mgfH9M9+Wj7V56HFQ3+tdy/1db9facAVf3/LjVSrXhuAcCx++q2+zj19Nk/P9xJxwX0ko6xRqkWJgjlq682bcXu3gPw8ijMBLaPTD6DRD+V2pvRBvT1TMk1+qANH1bdWFE+hgux+s946s= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746054849; c=relaxed/simple; bh=9VGV070cNaPJBF2sqEl8whPKwO0bmDWdIjTQ5V7Qn04=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=E2grC0druVFciyzGbk9K+o241IXvERPH5svAStIbM5qbLq0X8qDY65TUJC8dgenD4ndNFKW15ZNN6ep5g83HKCGhdoOknXj8+Ls5Ny8OnapR++EiWTL0uJkSNgGGvUXgIV16s30U4yESgIwnVBnIjBHEPMXXdFy6EuoLQeNtJ74= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=gouders.net; spf=pass smtp.mailfrom=gouders.net; dkim=pass (1024-bit key) header.d=gouders.net header.i=@gouders.net header.b=SoYyB5fG; arc=none smtp.client-ip=202.61.206.94 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=gouders.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gouders.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=gouders.net header.i=@gouders.net header.b="SoYyB5fG" Received: from localhost (dynamic-176-001-007-189.176.1.pool.telefonica.de [176.1.7.189]) (authenticated bits=0) by mx10.gouders.net (8.17.1.9/8.17.1.9) with ESMTPSA id 53UNBLBs026343 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Thu, 1 May 2025 01:11:21 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gouders.net; s=gnet; t=1746054688; bh=9VGV070cNaPJBF2sqEl8whPKwO0bmDWdIjTQ5V7Qn04=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=SoYyB5fG4jLYA30dv7qYXYltZoDIkrJVI1nVQinO1y06pRMEsQTI5VMhLoiTyhQBX uiRXEGGiMhtE3XxLjClWPqfne9NhPfBJSUtRef9MFs7ckKt6EnGVT8JltLkM+JP8U1 P0WLEriTSLbP3rRW28mBVmAVswXqLO3BiBerwZLo= From: Dirk Gouders To: Ian Rogers Cc: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Mark Rutland , Alexander Shishkin , Jiri Olsa , Adrian Hunter , Kan Liang , Yury Norov , Rasmus Villemoes , Thomas Gleixner , Darren Hart , Davidlohr Bueso , =?utf-8?Q?Andr=C3=A9?= Almeida , John Garry , Will Deacon , James Clark , Mike Leach , Leo Yan , Yicong Yang , Jonathan Cameron , Nathan Chancellor , Bill Wendling , Justin Stitt , Josh Poimboeuf , Al Viro , Kyle Meyer , Ben Gainey , Athira Rajeev , Kajol Jain , Aditya Gupta , Eder Zulian , Dapeng Mi , Kuan-Wei Chiu , He Zhe , Brian Geffon , Ravi Bangoria , Howard Chu , Charlie Jenkins , Colin Ian King , Dominique Martinet , Jann Horn , Masahiro Yamada , Arnd Bergmann , Yang Jihong , Dmitry Vyukov , Andi Kleen , Graham Woodward , Ilkka Koskinen , Anshuman Khandual , Zhongqiu Han , Hao Ge , Tengda Wu , Gabriele Monaco , Chun-Tse Shao , Casey Chen , "Dr. David Alan Gilbert" , Li Huafei , "Steinar H. Gunderson" , Levi Yun , Weilin Wang , Thomas Falcon , Thomas Richter , Andrew Kreimer , Krzysztof =?utf-8?Q?=C5=81opatowski?= , Christophe Leroy , Jean-Philippe Romain , Junhao He , "Masami Hiramatsu (Google)" , Xu Yang , Steve Clevenger , Zixian Cai , Stephen Brennan , Yujie Liu , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Subject: Re: [PATCH v2 04/47] perf bench: Silence -Wshorten-64-to-32 warnings In-Reply-To: (Ian Rogers's message of "Wed, 30 Apr 2025 15:22:41 -0700") References: <20250430175036.184610-1-irogers@google.com> <20250430175036.184610-5-irogers@google.com> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Thu, 01 May 2025 01:11:16 +0200 Message-ID: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ian Rogers writes: > On Wed, Apr 30, 2025 at 3:19=E2=80=AFPM Dirk Gouders w= rote: >> >> Ian Rogers writes: >> >> > On Wed, Apr 30, 2025 at 1:23=E2=80=AFPM Dirk Gouders wrote: >> >> >> >> Hi Ian, >> >> >> >> considering so many eyes looking at this, I am probably wrong. >> >> >> >> So, this is only a "gauge reply" to see if it's worth I really read >> >> through all the commits ;-) >> >> >> >> Ian Rogers writes: >> >> >> >> [SNIP] >> >> >> >> > 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_usag= e[] =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]; >> >> > >> >> > if (threaded) >> >> > - pid =3D syscall(__NR_gettid); >> >> > + pid =3D (pid_t)syscall(__NR_gettid); >> >> > else >> >> > pid =3D getpid(); >> >> > >> >> > @@ -172,23 +173,25 @@ static void exit_cgroup(int nr) >> >> > >> >> > 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= ); >> >> >> >> The epoll_wait(), I know of, returns an int and not ssize_t. >> >> >> >> That shouldn't show up, because it doesn't cause real problems... >> > >> > So the function is read_pipe so it should probably return a ssize_t. I >> > stopped short of that but made ret a ssize_t to silence the truncation >> > warning on the read call. Assigning smaller to bigger is of course not >> > an issue for epoll_wait. >> >> Oh yes, I missed that ret is also used for the result of read(). >> >> Some lines down there is also a combination of >> >> ret =3D enter_cgroup() (which is int) >> >> and >> >> ret =3D write() >> >> >> Just confusing but yes, because ret is also used for read() and write() >> in those cases it should be ssize_t. >> >> I'm sorry for the noise. > > No worries, I'm appreciative of the eyes. I suspect we'll only pick up > the first patches in this series to fix what is a bug on ARM. I think > I'm responsible for too much noise here ;-) A final thought (in case this patch will also be picked): Why not, in case of read_pipe() and worker_thread() just cast read() and write() to int? Both get counts of sizeof(int) and it would clearly show: we know the result fits into an int. In case of read_pipe() that would mean to just change one line in contrast to: @@ -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; Best regards, Dirk