[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200715083800.GC10769@hirez.programming.kicks-ass.net>
Date: Wed, 15 Jul 2020 10:38:00 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Leo Yan <leo.yan@...aro.org>
Cc: Will Deacon <will@...nel.org>, Mark Rutland <mark.rutland@....com>,
Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...hat.com>,
Namhyung Kim <namhyung@...nel.org>,
Catalin Marinas <catalin.marinas@....com>,
Thomas Gleixner <tglx@...utronix.de>,
Paul Cercueil <paul@...pouillou.net>,
"Ben Dooks (Codethink)" <ben.dooks@...ethink.co.uk>,
"Ahmed S. Darwish" <a.darwish@...utronix.de>,
Adrian Hunter <adrian.hunter@...el.com>,
Kan Liang <kan.liang@...ux.intel.com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 2/6] arm64: perf: Implement correct cap_user_time
On Wed, Jul 15, 2020 at 10:05:08AM +0800, Leo Yan wrote:
> [leoyan: Use quot/rem to convert cyc to ns to avoid overflow]
> + quot = rd->epoch_cyc >> rd->shift;
> + rem = rd->epoch_cyc & (((u64)1 << rd->shift) - 1);
> + ns = quot * rd->mult + ((rem * rd->mult) >> rd->shift);
> + userpg->time_zero -= ns;
I think we have mul_u64_u32_shr() for that.
Powered by blists - more mailing lists