Messages in this thread |  | | Date | Wed, 5 Oct 2016 14:11:22 +0200 | From | Jiri Olsa <> | Subject | Re: [PATCH 21/57] perf c2c report: Add offset dimension key |
| |
On Wed, Oct 05, 2016 at 07:57:07AM -0300, Arnaldo Carvalho de Melo wrote: > Em Thu, Sep 22, 2016 at 05:36:49PM +0200, Jiri Olsa escreveu: > > Adding cacheline offset dimension key support. > > It displays cacheline offset as hex number. > > > > Link: http://lkml.kernel.org/n/tip-m0424ye98lqveg5nopto8qww@git.kernel.org > > Signed-off-by: Jiri Olsa <jolsa@kernel.org> > > --- > > tools/perf/builtin-c2c.c | 35 +++++++++++++++++++++++++++++++++++ > > 1 file changed, 35 insertions(+) > > > > diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c > > index 335c0fd30757..7c52481ec36b 100644 > > --- a/tools/perf/builtin-c2c.c > > +++ b/tools/perf/builtin-c2c.c > > @@ -300,6 +300,32 @@ static int dcacheline_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, > > return snprintf(hpp->buf, hpp->size, "%*s", width, hex_str(addr)); > > } > > > > +static int offset_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, > > + struct hist_entry *he) > > +{ > > + uint64_t addr = 0; > > + int width = c2c_width(fmt, hpp, he->hists); > > + > > + if (he->mem_info) > > + addr = cl_offset(he->mem_info->daddr.al_addr); > > + > > + return snprintf(hpp->buf, hpp->size, "%*s", width, hex_str(addr)); > > Please don't use snprintf when you actually use the return from this > function, see this part of its man page: > > "If the output was trun‐ cated due to this limit, then the return value > is the number of characters (excluding the terminating null byte) which > would have been written to the final string if enough space had been > available. Thus, a return value of size or more means that the output > was truncated. (See also below under NOTES.)" > > That is why we're using scnprintf where we need to use its return value. > > I'm checking how you use the return value and changing all to scnprintf > instead, ok?
ok, always forget this one ;-)
thanks, jirka
|  |