Messages in this thread | | | From | Namhyung Kim <> | Subject | Re: [PATCH 1/3] perf tools: Cache register accesses for unwind processing | Date | Tue, 29 Apr 2014 09:36:19 +0900 |
| |
On Mon, 28 Apr 2014 15:24:20 +0200, Jiri Olsa wrote: > On Mon, Apr 28, 2014 at 10:02:55PM +0900, Namhyung Kim wrote: >> Hi Jiri, >> >> 2014-04-28 (월), 11:48 +0200, Jiri Olsa: >> > On Sun, Apr 27, 2014 at 11:29:21PM +0900, Namhyung Kim wrote: >> > > Hi Jiri, >> > > >> > > 2014-04-17 (목), 19:39 +0200, Jiri Olsa: >> > > > Caching registers value into an array. Got about 4% speed up >> > > > of perf_reg_value function for report command processing >> > > > dwarf unwind stacks. >> > > >> > > I'm not familiar with the code base, so probably silly questions: Where >> > > does the speed up come from? IOW I don't know what's the difference >> > > between the regs->regs and regs->cached_regs. And does the cached_regs >> > > contain correct values of registers for each frame? >> > >> > the current way register's value is accessed is to get its >> > index in the sample's regs array.. based on register's id >> > and the registers mask >> > >> > so each time you want register value you traverse the registers >> > mask and count reg's index for the sample regs array >> > >> > this patch does this only once for each register (at the time it's >> > first accessed) and cache its value in the array (cache_regs). The >> > cache_mask is used to identify which regs are already cached. >> >> That means it'll get the same value everytime it accesses a register in >> frames in a sample? > > right..
Hmm.. I thought it'd be changed somehow as it unwinds frames.
Thanks, Namhyung -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |