Messages in this thread | | | From | Alexey Brodkin <> | Subject | RE: [PATCH v2 3/8] ARCv2: perf: implement "event_set_period" for future use with interrupts | Date | Thu, 20 Aug 2015 10:46:56 +0000 |
| |
Hi Peter,
> -----Original Message----- > From: Peter Zijlstra [mailto:peterz@infradead.org] > Sent: 18 августа 2015 г. 20:52 > To: Alexey Brodkin > Cc: linux-arch@vger.kernel.org; linux-kernel@vger.kernel.org; Vineet.Gupta1@synopsys.com; arc-linux-dev@synopsys.com; > arnd@arndb.de; Arnaldo Carvalho de Melo > Subject: Re: [PATCH v2 3/8] ARCv2: perf: implement "event_set_period" for future use with interrupts > > On Wed, Aug 05, 2015 at 06:13:29PM +0300, Alexey Brodkin wrote: > > Even though this hardware implementation allows for more flexibility, > > in Linux kernel we decided to mimic behavior of other architectures this > > way: > > > > [1] Set limit value as half of counter's max value (to allow counter to > > run after reaching it limit, see below for more explanation): > > ---------->8----------- > > arc_pmu->max_period = (1ULL << counter_size) / 2 - 1ULL; > > ---------->8----------- > > > @@ -317,10 +365,11 @@ static int arc_pmu_device_probe(struct platform_device *pdev) > > return -ENOMEM; > > > > arc_pmu->n_counters = pct_bcr.c; > > - arc_pmu->counter_size = 32 + (pct_bcr.s << 4); > > + counter_size = 32 + (pct_bcr.s << 4); > > + arc_pmu->max_period = (1ULL << counter_size) - 1ULL; > > > > I don't see that /2 there..
Probably another good solution for that coupl be merging of 2 following patches in one: [1] [PATCH v2 3/8] ARCv2: perf: implement "event_set_period" for future use with interrupts [2] [PATCH v2 5/8] ARCv2: perf: set usable max period as a half of real max period
And then comment will become valid.
-Alexey
| |