On Fri, May 23, 2014 at 06:54:06PM +0200, Jiri Olsa wrote:
> On Mon, May 19, 2014 at 03:13:52PM -0400, Don Zickus wrote:
> > Different arches may have different cacheline sizes.  Look it up and set
> > a global variable for reference.
> > 
> > Signed-off-by: Don Zickus <[email protected]>
> > ---
> >  tools/perf/util/cpumap.c | 31 +++++++++++++++++++++++++++++++
> >  tools/perf/util/cpumap.h | 12 ++++++++++++
> >  tools/perf/util/sort.c   |  3 +++
> >  3 files changed, 46 insertions(+)
> > 
> > diff --git a/tools/perf/util/cpumap.c b/tools/perf/util/cpumap.c
> > index c4e55b7..d833238 100644
> > --- a/tools/perf/util/cpumap.c
> > +++ b/tools/perf/util/cpumap.c
> > @@ -477,3 +477,34 @@ int cpu__setup_cpunode_map(void)
> >     closedir(dir1);
> >     return 0;
> >  }
> > +
> > +int cpu__setup_cacheline_size(void)
> > +{
> > +   const char *mnt;
> > +   char path[PATH_MAX];
> > +   int n, ret, size;
> > +   FILE *fp;
> > +   
> > +
> > +   mnt = sysfs__mountpoint();
> > +   if (!mnt)
> > +           return -1;
> > +
> > +   n = snprintf(path, PATH_MAX, 
> > "%s/devices/system/cpu/cpu0/cache/index0/coherency_line_size", mnt);
> > +   if (n == PATH_MAX) {
> > +           pr_err("sysfs path crossed PATH_MAX(%d) size\n", PATH_MAX);
> > +           return -1;
> > +   }
> > +
> > +   fp = fopen(path, "r");
> > +   if (!fp)
> > +           return -1;
> > +   ret = fscanf(fp, "%d", &size);
> > +   fclose(fp);
> > +   if (ret != 1)
> > +           return -1;
> 
> you can use filename__read_int

Doh.  I forgot about that.  I can respin this patch or the whole series
for that.  Perhaps on Tuesday when we come back from our US Holiday.

Cheers,
Don
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to